ランドスケープのOpenstackデプロイメントがConfigure Availability Zonesで失敗する


8

現在のランドスケープの「OpenStack Beta」オプションを使用して、私のMAASセットアップにOpenStackをデプロイします。「アベイラビリティーゾーンの構成」で1回失敗すると、98%完了します。私の設定はKVM、Open vSwitchを利用し、現在はオブジェクトストレージとブロックストレージの両方にCephを利用しています。ランドスケープマシンの/var/log/landscape/job-handler-1.logを見ると、次の100を超えるエラーが表示されます。

2015-03-05 21:18:38 '_get_nova_info'のINFOルートRetryingCallに失敗し、103回以上試行しました:2015-03-05 21:18:38 INFOルートトレースバック::4つのnova-computeユニット
/ usrがありません/lib/python2.7/threading.py:783:__bootstrap
/usr/lib/python2.7/threading.py:810:__bootstrap_inner
/usr/lib/python2.7/threading.py:763:run
--- <ここでキャッチされる例外> ---
/usr/lib/python2.7/dist-packages/twisted/python/threadpool.py:191:_worker
/usr/lib/python2.7/dist-packages/twisted/python/context。 py:118:callWithContext
/usr/lib/python2.7/dist-packages/twisted/python/context.py:81:callWithContext
/usr/lib/python2.7/dist-packages/storm/twisted/transact.py: 76:_wrap
/opt/canonical/landscape/canonical/landscape/model/openstack/jobs.py:751:_get_nova_info


:デバッグ用の印刷ステートメントをいくつか追加したので、jobs.pyの行番号はオフになっています。これは、_get_nova_info()関数の#741行付近のアサートです(メモリが提供されている場合)。はい、今日のランドスケープppaの最新バージョンのランドスケープを信頼できるように使用しています。

そのため、/ opt / canonical / landscape / canonical / landscape / model / openstack / jobs.py_get_nova_info()関数を変更して、nova_compute_hostnamesの長さを出力しゼロを取得しました。だから私はそれを/opt/canonical/landscape/canonical/landscape/model/openstack/region.pyget_nova_compute_hostnames()に追いかけて、self.juju_environment.get_computer_ids()。count()ゼロであることを発見しました。それで、私はself.juju_environment.has_computers()への呼び出しを追加して、falseを取得しまし。次に、self.juju_environment.get_juju_home()を実行して、/ var / lib / landscape / juju-homes / 20。(はい、これは私のランドスケープボックスの2回目の再構築での20回目の試みです。私はしばらくの間この状態でいました)。それで、私は上記のjuju homeを利用してjujuステータスを実行しました、そしてすべてはよく見えました。5つのマシンとサービスすべてが開始され、保留状態やエラー状態はありませんでした。(4つのnova-computeノードを含む)何かアイデアはありますか?私はランドスケープ、MAAS、JUJU、およびpythonに少し慣れていないので、デバッグが少し遅くなります。


更新1:

リクエストごとに、2つのログ(私の家は現在#23ですが)の juju ステータスbroker.logを取得しています。以下のbroker.logのスニペットごとに、私の問題が何であるかがわかったと思います。(dpbを教えてくれてありがとう)MAASマシンがDHCPアドレスをランドスケープLXCに提供していますが、ランドスケープLXCはMAASによってプロビジョニングされていないため、MAAS制御のDNSにありません。したがって、プロビジョニングされたマシンは、名前でランドスケープサーバーに接続できません。

それで私は関連する質問につながります、プロビジョニングされていない(またはMAASの制御下にある)マシンでDNSをMAASに自動更新させる良い方法はありますか?そうでない場合は、DHCP範囲外の静的IPを割り当て、手動でDNSを設定する必要があります。

2015-03-06 17:09:50,665 INFO [MainThread]ブローカーはconfig /etc/landscape/client.confで開始
2015-03-06 17:09:52,382 INFO [MainThread] https:// landscapeとの緊急メッセージ交換を開始/ message-system
2015-03-06 17:09:52,389エラー[PoolThread-twisted.internet.reactor-1] https:// landscape / message-systemにあるサーバーへの接続中にエラーが発生しました。
トレースバック(最後の最後の呼び出し):
ファイル "/usr/lib/python2.7/dist-packages/landscape/broker/transport.py"、line 71、in exchange
message_api)
ファイル "/usr/lib/python2.7/ dist-packages / landscape / broker / transport.py "、45行目、_curl
headers = headers、cainfo = self._pubkey、c​​url = curl))
ファイル "/usr/lib/python2.7/dist-packages/landscape/lib/fetch.py​​"、109行目、フェッチ
レイズPyCurlError(e.args [0]、e.args 1
PyCurlError:エラー6:可能性ありホストを解決できません:ランドスケープ
2015-03-06 17:09:52,390 INFO [MainThread]メッセージ交換に失敗しました。
2015-03-06 17:09:52,391 INFO [MainThread]メッセージ交換が0.01秒で完了しました。


更新2:

OpenStack / Landscapeの機能を示すために6台のマシン(5ノードと1台のコントローラー)しか与えられなかったので、私の設定は少し制限されています。私が使っていた風景-サーバー・クイックスタートLXCを、私はすぐにそれを離れて吹くと、新鮮な、最初からやり直すことができますので、私のMAASコントローラ上。

そのため、横長の設定を吹き飛ばし、LXCを静的IPに設定してから、DNS(MAASによって制御)を変更して、横長のサーバーの静的DNSエントリを設定しました。次に、上記のlandscape-server-quickstartメソッドを使用して、LXCにLandscape Dedicated Serverをインストールしました。

この再インストール後(主にすべてのデバッグの混乱を解消するため)、ようやくOpenStackを横向きでインストールできるようになりました。ありがとう。

回答:


4

「Missing N nova-compute units」メッセージは、ランドスケープに戻って登録されたランドスケープクライアントエージェント/var/log/landscape/broker.logに関するものです。見つからないユニットを確認してください。

更新:

正しく識別したように、LDS(Landscape Dedicated Server)が、主にネットワークルーティングとDNSのために、openstackが存在するのと同じMAASにインストールされている場合、最もスムーズに機能します。ただし、ネットワーク間のルートなど、有効なトポロジにはさまざまなバリエーションがあります。

試すことについてのいくつかの提案、それらをすべて読んでください。最後に、展開トポロジを決定する必要があります。

  • テストの場合、LDSをopenstackと同じMAASにデプロイします-物事がそこで機能しているかどうかを確認するだけです。これを容易にするには、openstack-installツール、または直接juju -quickstartを含むlandscape-dense-maasバンドルを使用してください。

  • あなたが述べたように、あなたのクライアントはLDSに到達できる必要があります。LDSがデプロイされている場所にIPでルーティングできる場合は、openstackインストールを破棄し、Apacheサーバー名の設定を変更して、再試行できます。 juju set apache2 servername=IP_ADDRESS。これを実行したら、juju debug-logを実行し、すべてが正常に起動することを確認し、そのhttps:// IP_ADDRESS / URL でLDS GUIを参照できることを確認します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.