現在のランドスケープの「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.pyのget_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、curl = 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を横向きでインストールできるようになりました。ありがとう。