web-dev-qa-db-ja.com

nova-computeとnovaクラウドコントローラー間の関係エラー

ドキュメントからOpen Stackクラウドを正常にセットアップしました: buntu Cloud Infrastructure

私のJuju環境ファイル:

environments:
maas:
type: maas
maas-server: 'http://192.168.122.4:80/MAAS'
maas-oauth: 'np2beDGZye5ktAGHZC:xEN8GM5BDtWj2ChAW4:rnX9DBQs7Cv2rRZ9g9jxncpYg4uSkTbL'
admin-secret: 'nothing'
default-series: precise

OpenStack用にJujuが準備したすべてのノードには1つのLANカードがあります。MAASサーバーには1つのLANカードがあり、DHCPサーバーがあります。 /etc/hostsファイルを使用して修正するため、DNSは使用していません。

ここに問題があります:

Jujuステータスを実行すると、cloud-computeとnova-cloud-controllerの関係エラーが表示されます。 OpenStackダッシュボードにログインでき、Manage Computeセクションを除くすべてのセクションに移動できます。これは、これら2つのサーバー間のエラーが原因である可能性があります。

Juju debug-logを実行すると、次の結果が表示されます。

2013-05-06 21:02:53,108 unit:nova-cloud-controller/1: hook.output DEBUG: Flushed values for hook 'cloud-compute-relation-joined' on 'cloud-compute:22'
Setting changed: u'ec2_Host'=u'node-aabbccddeef4.localdomain' (was unset)
Setting changed: u'network_manager'=u'FlatDHCPManager' (was unset)
Setting changed: u'volume_service'=u'nova-volume' (was unset) 
2013-05-06 21:02:53,108 unit:nova-cloud-controller/1: hook.executor DEBUG: Hook complete: /var/lib/juju/units/nova-cloud-controller-1/charm/hooks/cloud-compute-relation-joined 
2013-05-06 21:02:53,115 unit:nova-cloud-controller/1: hook.scheduler DEBUG: executing hook for nova-compute/0:modified
2013-05-06 21:02:53,116 unit:nova-cloud-controller/1: unit.relation.lifecycle DEBUG: Executing hook cloud-compute-relation-changed
2013-05-06 21:02:53,116 unit:nova-cloud-controller/1: hook.executor DEBUG: Running hook: /var/lib/juju/units/nova-cloud-controller-1/charm/hooks/cloud-compute-relation-changed 
2013-05-06 21:02:53,375 unit:nova-compute/0: hook.scheduler DEBUG: settings changed: (('nova-cloud-controller/1', 1),) 
2013-05-06 21:02:53,378 unit:nova-compute/0: hook.scheduler DEBUG: executing hook for nova-cloud-controller/1:modified 
2013-05-06 21:02:53,378 unit:nova-compute/0: unit.relation.lifecycle DEBUG: Executing hook cloud-compute-relation-changed 
2013-05-06 21:02:53,379 unit:nova-compute/0: hook.executor DEBUG: Running hook: /var/lib/juju/units/nova-compute-0/charm/hooks/cloud-compute-relation-changed 
2013-05-06 21:02:54,133 unit:nova-cloud-controller/1: hook.output DEBUG: hook cloud-compute-relation-changed exited, exit code 0.
2013-05-06 21:02:54,161 unit:nova-cloud-controller/1: hook.executor DEBUG: Hook complete: /var/lib/juju/units/nova-cloud-controller-1/charm/hooks/cloud-compute-relation-changed
2013-05-06 21:02:54,555 unit:nova-compute/0: hook.output INFO: /var/lib/juju/units/nova-compute-0/charm/hooks/cloud-compute-relation-changed: configuring FlatDHCPManager network                                                    manager 
2013-05-06 21:02:55,193 unit:nova-compute/0: unit.hook.api DEBUG: Get unit setting: 'private-address'
2013-05-06 21:03:25,361 unit:nova-compute/0: hook.output ERROR: Traceback (most recent call last):
2013-05-06 21:03:25,361 unit:nova-compute/0: hook.output ERROR:   File "<string>", line 10, in <module>
2013-05-06 21:03:25,361 unit:nova-compute/0: hook.output ERROR:   File "/usr/lib/python2.7/dist-packages/dns/resolver.py", line 770, in query
2013-05-06 21:03:25,362 unit:nova-compute/0: hook.output ERROR:
2013-05-06 21:03:25,362 unit:nova-compute/0: hook.output ERROR: raise_on_no_answer)
2013-05-06 21:03:25,363 unit:nova-compute/0: hook.output ERROR:   File "/usr/lib/python2.7/dist-packages/dns/resolver.py", line 698, in query
2013-05-06 21:03:25,363 unit:nova-compute/0: hook.output ERROR:
2013-05-06 21:03:25,366 unit:nova-compute/0: hook.output ERROR: timeout = self._compute_timeout(start)
File "/usr/lib/python2.7/dist-packages/dns/resolver.py", line 568, in _compute_timeout
raise Timeout
dns.exception.Timeout
2013-05-06 21:03:25,589 unit:nova-compute/0: unit.hook.api INFO: Unable to resolve local IP address
2013-05-06 21:03:25,611 unit:nova-compute/0: hook.output DEBUG: hook cloud-compute-relation-changed exited, exit code Traceback (most recent call last):
Failure: juju.errors.CharmInvocationError: Error processing '/var/lib/juju/units/nova-compute-0/charm/hooks/cloud-compute-relation-changed': exit code 1.
.
2013-05-06 21:03:25,611 unit:nova-compute/0: hook.executor DEBUG: Hook error: /var/lib/juju/units/nova-compute-0/charm/hooks/cloud-compute-relation-changed Error processing '/var                                                   /lib/juju/units/nova-compute-0/charm/hooks/cloud-compute-relation-changed': exit code 1.
2013-05-06 21:03:25,612 unit:nova-compute/0: unit.relation.lifecycle WARNING: Error in cloud-compute-relation-changed hook: Error processing '/var/lib/juju/units/nova-compute-0/c                                                   harm/hooks/cloud-compute-relation-changed': exit code 1.
2013-05-06 21:03:25,612 unit:nova-compute/0: unit.relation.lifecycle INFO: Invoked error handler for cloud-compute-relation-changed hook
2013-05-06 21:03:25,811 unit:nova-compute/0: statemachine DEBUG: relationworkflowstate: transition error (up -> error) {'error_message': "Error processing '/var/lib/juju/units/no                                                   va-compute-0/charm/hooks/cloud-compute-relation-changed': exit code 1.", 'change_type': 'modified'}
2013-05-06 21:03:25,811 unit:nova-compute/0: statemachine DEBUG: relationworkflowstate:  execute action do_error
2013-05-06 21:03:25,812 unit:nova-compute/0: hook.scheduler DEBUG: stopping
2013-05-06 21:03:25,813 unit:nova-compute/0: unit.relation.lifecycle DEBUG: stopped relation:cloud-compute lifecycle
2013-05-06 21:03:25,944 unit:nova-compute/0: statemachine DEBUG: relationworkflowstate: transition complete error (state error) {'error_message': "Error processing '/var/lib/juju                                                   /units/nova-compute-0/charm/hooks/cloud-compute-relation-changed': exit code 1.", 'change_type': 'modified'}
2013-05-06 21:03:25,949 unit:nova-compute/0: hook.scheduler DEBUG: hook error, stopping scheduler execution
2013-05-06 21:03:25,949 unit:nova-compute/0: hook.scheduler INFO: stopped

OpenStackの環境を定義することにより、OpenStackのJuju環境ファイルに追加する必要がありますか?

上記の問題を解決しようとして、/etc/hostsを使用してDNS名を解決する代わりに、別のシステムでDNSサーバーを使用しようとしました。

この新しいサーバーで設定したドメイン名は「malik.net」です。名前解決は正常に機能しますが、jujuは各ノードにインストールされたサービスに対して異なるパブリックアドレスを割り当てます。例:juju-statusレポート:public-address: node-aab2ccddeeff.localdomainに対してpublic-address: node-aab2ccddeeff.malik.netである必要があります。

ノードは、jujuによって作成されたパブリックアドレスを認識しません。次に、ノードIPとeach_node_name.localdomainを記述して、各ノードで/etc/hostsにエントリを作成する必要がありました。私は同じ関係エラーの問題に突き当たりました。

適切なドメイン名を使用するようにJujuに指示することで、この問題を解決できる場合がありますが、その方法はわかりません。

7
Adnan Malik

Nova-computeチャームは、IPアドレスのDNS解決に依存します。 OpenStack内のいくつかの機能は、ホスト名ではなくIPアドレスに依存しています。チャームには、DNSに直接問い合わせてホスト名を解決するコードが含まれています-> IPアドレス。

残念ながら、株式のcloud-initビルドインスタンスで/ etc/hostsを使用すると、常にホスト名-> IPアドレスが127.0.1.1にマッピングされます。これは、ローカルアクセス以外にはあまり使用されません。

DNSを稼働させることをお勧めします。 DNSがチャーム実行環境で機能しているという正気の仮定ではないと思います。

1
jamespage