Verwenden der aktuellen OpenStack Beta-Option von Landscape zum Bereitstellen von OpenStack in meinem MAAS-Setup. Ich bin zu 98% fertig, mit 1 Fehler bei "Verfügbarkeitszonen konfigurieren". Meine Einstellungen verwendeten KVM, Open vSwitch und ich verwende derzeit Ceph sowohl für die Objekt- als auch für die Blockspeicherung. Wenn ich mir das /var/log/landscape/job-handler-1.log auf dem Landschaftscomputer ansehe, werden über 100 Fehler angezeigt über:
2015-03-05 21:18:38 INFO root RetryingCall für '_get_nova_info' ist fehlgeschlagen und hat 103 weitere Zeit (en) versucht: 2015-03-05 21:18:38 INFO root Traceback :: Es fehlen 4 nova-compute-Einheiten
/ 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
--- < Ausnahme hier gefangen> ---
/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
HINWEIS : Die Zeilennummer in jobs.py ist deaktiviert, da ich einige Druckanweisungen zum Debuggen hinzugefügt habe. Es ist die Behauptung in der Funktion _get_nova_info () in der Nähe von Zeile # 741 (wenn Speicher dient), und ja, ich verwende die neueste Version von Landschaft ab heute aus der Landschaft ppa für vertrauenswürdig.
So modifizierte ich /opt/canonical/landscape/canonical/landscape/model/openstack/jobs.py ‚s _get_nova_info () Funktion , um die Länge des auszudrucken nova_compute_hostnames und ich habe Null . Also habe ich das in /opt/canonical/landscape/canonical/landscape/model/openstack/region.py 's get_nova_compute_hostnames () gejagt und festgestellt, dass self.juju_environment.get_computer_ids (). Count () ebenfalls Null war . So fügte ich einen Aufruf an self.juju_environment.has_computers () und bekam falsch . Dann habe ich self.juju_environment.get_juju_home () ausgeführt und bekommen/ var / lib / Landschaft / Juju-Häuser / 20 . (Ja, dies ist mein 20. Versuch bei meinem zweiten Umbau der Landschaftsbox. Ich bin schon eine Weile dabei.) Also habe ich den Juju-Status mit dem oben erwähnten Juju-Haus ausgeführt und alles sah gut aus. Alle 5 Maschinen und Dienste wurden gestartet, keine ausstehenden oder fehlerhaften Zustände. (einschließlich der 4 Nova-Compute-Knoten) Irgendwelche Ideen? Ich bin etwas neu in Landschaft, MAAS, JUJU und Python, daher ist mein Debuggen etwas langsam.
UPDATE 1:
Auf Anfrage habe ich die 2 Protokolle (obwohl mein Zuhause jetzt # 23 ist) Juju Status und Broker.log . Ich glaube, ich weiß jetzt, was mein Problem ist, anhand des folgenden Ausschnitts von broker.log. (Danke, dpb, dass Sie mich dorthin geführt haben.) Mein MAAS-Computer gibt die DHCP-Adresse an meinen Landschafts-LXC weiter, aber mein Landschafts-LXC befindet sich nicht im MAAS-gesteuerten DNS, da er nicht von MAAS bereitgestellt wird. Daher können die bereitgestellten Computer keine namentliche Verbindung zum Landschaftsserver herstellen.
Das führt mich zu einer verwandten Frage: Gibt es eine gute Möglichkeit, MAAS das DNS automatisch mit Computern aktualisieren zu lassen, die nicht bereitgestellt werden (oder unter der Kontrolle von MAAS stehen)? Wenn nicht, muss ich ihm eine statische IP außerhalb meines DHCP-Bereichs geben und den DNS manuell einstellen.
2015-03-06 17: 09: 50,665 INFO [MainThread] Der Broker wurde mit config /etc/landscape/client.conf gestartet.
2015-03-06 17: 09: 52,382 INFO [MainThread] Startet den dringenden Nachrichtenaustausch mit https: // Landschaft / Nachrichtensystem .
2015-03-06 17: 09: 52,389 ERROR [PoolThread-twisted.internet.reactor-1] Fehler beim Kontaktieren des Servers unter https: // Landschaft / Nachrichtensystem .
Traceback (letzter Aufruf zuletzt):
Datei "/usr/lib/python2.7/dist-packages/landscape/broker/transport.py", Zeile 71, im Austausch
message_api)
Datei "/usr/lib/python2.7/ dist-packages / Landschaft / Broker / transport.py ", Zeile 45, in _curl
headers = headers, cainfo = self._pubkey, curl = curl))
Datei "/usr/lib/python2.7/dist-packages/landscape/lib/fetch.py", Zeile 109, in Fetch
Raise PyCurlError (e.args [0], e.args 1 )
PyCurlError: Fehler 6: Könnte Host nicht auflösen
: Landscape 2015-03-06 17: 09: 52,390 INFO [MainThread] Nachrichtenaustausch fehlgeschlagen.
2015-03-06 17: 09: 52,391 INFO [MainThread] Der Nachrichtenaustausch wurde in 0,01 Sekunden abgeschlossen.
UPDATE 2:
Mein Setup ist etwas eingeschränkt, da ich nur 6 Computer (5 Knoten und 1 Controller) erhalten habe, um die Funktionen von OpenStack / Landscape zu demonstrieren, sodass ich keinen dedizierten Computer für Querformat verwenden kann. Ich habe den Landschafts-Server-Schnellstart in einem LXC auf meinem MAAS-Controller verwendet, damit ich ihn schnell wegblasen und neu beginnen kann.
Also habe ich das Querformat-Setup weggeblasen und den LXC auf eine statische IP eingestellt. Dann habe ich das DNS (gesteuert von MAAS) so geändert, dass es den statischen DNS-Eintrag für meinen Landschaftsserver enthält. Dann habe ich Landscape Dedicated Server auf dem LXC mit der oben erwähnten Landschafts-Server-Schnellstart-Methode installiert.
Nach dieser Neuinstallation (hauptsächlich, um all mein Debug-Chaos zu beseitigen) konnte ich OpenStack endlich im Querformat installieren. Vielen Dank.