wake-up-neo.com

Beziehungsfehler zwischen nova-compute und nova cloud controller

Ich habe Open Stack Cloud erfolgreich aus der Dokumentation eingerichtet: buntu Cloud Infrastructure .

Meine Juju-Umgebungsdatei:

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

Alle von Juju für OpenStack vorbereiteten Knoten haben eine LAN-Karte. Mein MAAS-Server hat eine LAN-Karte und den DHCP-Server. Ich verwende kein DNS, da ich die /etc/hosts - Datei verwende, um das Problem zu beheben.

Hier kommt das Problem:

Wenn ich den Juju-Status starte, sehe ich einen Beziehungsfehler zwischen bei Cloud-Computing und Nova-Cloud-Controller. Ich kann mich beim OpenStack-Dashboard anmelden und in allen Abschnitten außer dem Abschnitt "Compute verwalten" verschieben. Dies kann an dem Fehler zwischen diesen beiden Servern liegen.

Wenn ich Juju debug-log ausführe, sehe ich folgendes Ergebnis:

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

Muss ich die Juju-Umgebungsdatei für OpenStack ergänzen, indem ich die Umgebung für OpenStack definiere?

Bei dem Versuch, das oben genannte Problem zu beheben, habe ich versucht, einen DNS-Server auf einem anderen System zu verwenden, anstatt /etc/hosts Zum Auflösen von DNS-Namen zu verwenden.

Mein konfigurierter Domainname auf diesem neuen Server ist "malik.net". Die Namensauflösung funktioniert einwandfrei, aber juju weist jedem installierten Dienst des Knotens eine andere öffentliche Adresse zu. Beispiel: juju-status meldet: public-address: node-aab2ccddeeff.localdomain, wohingegen es public-address: node-aab2ccddeeff.malik.net sein sollte.

Die Knoten erkennen die von juju erstellte öffentliche Adresse nicht. Dann musste ich an jedem Knoten Einträge in /etc/hosts Vornehmen, indem ich die IPs des Knotens und jeden_Knotennamen.localdomain schrieb. Ich bin im selben Beziehungsfehlerproblem gelandet.

Indem ich Juju sage, dass er den richtigen Domainnamen verwenden soll, könnte ich das Problem beheben. Aber ich weiß nicht, wie ich das machen soll.

7
Adnan Malik

Der Charme von nova-compute hängt von der DNS-Auflösung der IP-Adressen ab. Mehrere Funktionen in OpenStack basieren auf IP-Adressen anstelle von Hostnamen, und der Charme umfasst Code, der DNS direkt abfragt, um Hostnamen aufzulösen -> IP-Adressen.

Leider führt die Verwendung von/etc/hosts auf einer von Cloud-Init erstellten Standardinstanz immer zu einer Zuordnung von Hostname -> IP-Adresse zu 127.0.1.1 -, die nur für den lokalen Zugriff verwendet wird.

Ich möchte Sie ermutigen, DNS zum Laufen zu bringen. Ich halte es nicht für eine verrückte Annahme, dass DNS in der Umgebung für die Ausführung von Charms funktionsfähig ist.

1
jamespage