Ich habe die Open Stack Cloud erfolgreich aus der Dokumentation: Ubuntu Cloud Infrastructure eingerichtet .
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 es zu reparieren.
Hier kommt das Problem:
Wenn ich den Juju-Status ausführe, wird ein Beziehungsfehler zwischen at cloud-compute und nova-cloud-controller angezeigt. 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 starte, 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 einige Ergänzungen zur Juju-Umgebungsdatei für OpenStack vornehmen, 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
DNS-Namen aufzulösen.
Mein konfigurierter Domainname auf diesem neuen Server ist " malik.net
". Die Namensauflösung funktioniert einwandfrei, aber Juju weist dem installierten Dienst jedes Knotens eine andere öffentliche Adresse zu. zB Juju-Statusberichte: public-address: node-aab2ccddeeff.localdomain
wohingegen es sein sollte public-address: node-aab2ccddeeff.malik.net
.
Die Knoten erkennen die von juju erstellte öffentliche Adresse nicht. Dann musste ich /etc/hosts
an jedem Knoten Einträge vornehmen, indem ich die IP-Adressen des Knotens und die Knotennamen für jeden Knoten schrieb. Ich bin im gleichen Beziehungsfehlerproblem gelandet.
Wenn Sie Juju anweisen, den richtigen Domainnamen zu verwenden, kann dieses Problem möglicherweise behoben werden. Ich weiß jedoch nicht, wie ich das tun soll.
Antworten:
Der Nova-Compute-Charme hängt von der DNS-Auflösung der IP-Adressen ab. Einige Funktionen in OpenStack basieren auf IP-Adressen anstelle von Hostnamen. Der Charm enthält Code, der DNS direkt abfragt, um Hostnamen aufzulösen -> IP-Adressen.
Leider führt die Verwendung von / etc / hosts auf einer von Cloud Cloud Init erstellten Instanz immer zu einem Hostnamen -> IP-Adresszuordnung zu 127.0.1.1 -, der nur für den lokalen Zugriff verwendet wird.
Ich möchte Sie ermutigen, DNS zum Laufen zu bringen. Ich denke nicht, dass es eine verrückte Annahme ist, dass DNS in der Charm-Ausführungsumgebung funktioniert.
quelle