9.3. Problembehandlung bei Erstellen der Overcloud

Die Bereitstellung kann auf drei Ebenen scheitern:
  • Orchestrierung (Heat und Nova Dienste)
  • Bare-Metal Provisioning (Ironic Dienst)
  • Konfiguration nach Bereitstellung (Puppet)
Wenn eine Overcloud-Bereitstellung auf einer dieser Ebenen scheitert, benutzen Sie die OpenStack Clients und Dienst-Logdateien um die gescheiterte Bereitstellung zu finden.

9.3.1. Orchestrierung

In den meisten Fällen zeigt Heat den fehlerhaften Overcloud-Stack an, nachdem die Erstellung der Overcloud fehlgeschlagen ist.
$ heat stack-list

+-----------------------+------------+--------------------+----------------------+
| id                    | stack_name | stack_status       | creation_time        |
+-----------------------+------------+--------------------+----------------------+
| 7e88af95-535c-4a55... | overcloud  | CREATE_FAILED      | 2015-04-06T17:57:16Z |
+-----------------------+------------+--------------------+----------------------+
Wenn der Stack leer ist, weist das auf ein Problem mit der ursprünglichen Orchestrierungseinstellung hin. Überprüfen Sie Ihre Heat-Vorlagen und Konfigurationsoptionen, und prüfen Sie, ob nach der Ausführung von openstack overcloud deploy Fehlermeldungen angezeigt werden.

9.3.2. Bare-Metal Provisioning

Prüfen Sie ironic um alle registrierten Knoten und deren aktuellen Status zu überprüfen:
$ ironic node-list

+----------+------+---------------+-------------+-----------------+-------------+
| UUID     | Name | Instance UUID | Power State | Provision State | Maintenance |
+----------+------+---------------+-------------+-----------------+-------------+
| f1e261...| None | None          | power off   | available       | False       |
| f0b8c1...| None | None          | power off   | available       | False       |
+----------+------+---------------+-------------+-----------------+-------------+
Hier finden Sie allgemeine Probleme, die sich aus dem Provisioning-Prozess ergeben können.
  • Überprüfen Sie die Provision State und Maintenance Spalten in der entstandenen Tabelle. Achten Sie dabei auf Folgendes:
    • Eine leere Tabelle oder weniger Knoten als erwartet
    • Maintenance steht auf Wahr
    • Provision State steht auf manageable
    Das weist normalerweise auf ein Problem im Registrierungs- oder Ermittlungsprozess hin. Wenn zum Beispiel Maintenance automatisch auf Wahr gestellt ist, benutzen die Knoten gewöhnlich die falschen Anmeldedaten zur Energieversorgung.
  • Wenn Provision State als available angezeigt wird, ist das Problem bereits aufgetreten, bevor die Bare-Metal Bereitstellung begonnen hat.
  • Wenn Provision State als active und Power State als power on angezeigt wird, wurde die Bare-Metal Bereitstellung erfolgreich abgeschlossen. Das heißt, dass das Problem bei einer Konfiguration nach der Bereitstellung entstanden ist.
  • Wenn Provision State für einen Knoten als wait call-back angezeigt wird, ist der Bare-Metal Provisioning-Prozess für diesen Knoten noch nicht abgeschlossen. Warten Sie, bis sich der Status entsprechend ändert. Stellen Sie ansonsten eine Verbindung mit der virtuellen Konsole des fehlerhaften Knotens her und überprüfen Sie die Ausgabe.
  • Wenn Provision State als error oder deploy failed angezeigt wird, ist das Bare-Metal Provisioning für diesen Knoten fehlgeschlagen. Überprüfen Sie die Details des Bare-Metal Knotens:
    $ ironic node-show [NODE UUID]
    
    Sehen Sie nach dem last_error Feld, welches Fehlerbeschreibungen enthält. Wenn die Fehlermeldung unklar ist, können Sie diese mithilfe von Logs klären:
    $ sudo journalctl -u openstack-ironic-conductor -u openstack-ironic-api
    
  • Wenn Sie sehen, dass wait timeout error und der Knoten Power State als power onangezeigt wird, stellen Sie eine Verbindung zur virtuellen Konsole des fehlerhaften Knotens her und überprüfen Sie die Ausgabe.

9.3.3. Konfiguration nach Bereitstellung

In der Konfigurationsphase kann vieles schief laufen. Es könnte zum Beispiel aufgrund eines Einstellungsfehlers Probleme geben, ein bestimmtes Puppet-Modul abzuschließen. Dieser Abschnitt bietet Ihnen einen Prozess, solche Probleme zu diagnostizieren.

Prozedur 9.4. Erkennen von Konfigurationsproblemen nach der Bereitstellung

  1. Listen Sie alle Ressourcen aus dem Overcloud-Stack auf um erkennen zu können, welche fehlerhaft ist:
    $ heat resource-list overcloud
    
    Dies zeigt eine Tabelle aller Ressourcen mit ihrem jeweiligen Status an. Suchen Sie nach Ressourcen mit CREATE_FAILED.
  2. Fehlerhafte Ressource anzeigen:
    $ heat resource-show overcloud [FAILED RESOURCE]
    
    Suchen Sie nach Informationen im resource_status_reason Feld, die Ihnen bei der Diagnose helfen.
  3. Benutzen Sie den nova Befehl um die IP-Adressen der Overcloud-Knoten sehen zu können.
    $ nova list
    
    Loggen Sie sich als heat-admin Benutzer in einen der bereitgestellten Knoten ein. Wenn zum Beispiel die Ressourcenliste des Stacks den bei einem Controller-Knoten aufgetretenen Fehler anzeigt, loggen Sie sich bei einem Controller-Knoten ein. Der heat-admin Benutzer hat Sudo Zugriff.
    $ ssh heat-admin@192.0.2.14
    
  4. Überprüfen Sie den os-collect-config Log auf einen möglichen Grund für den Fehler.
    $ sudo journalctl -u os-collect-config
    
  5. In manchen Fällen scheitert Nova bei der Bereitstellung der Knoten auf ganzer Linie. Diese Situation würde mit einer fehlerhaften OS::Heat::ResourceGroup für einen der Overcloud-Rollentypen angezeigt werden. Benutzen Sie nova um den Fehler in diesem Fall einsehen zu können.
    $ nova list
    $ nova show [SERVER ID]
    
    Der häufigste Fehler wird mit der Fehlermeldung No valid host was found angezeigt. Unter Abschnitt 9.4, »Problembehandlung bei Fehlermeldung "Keine gültigen Hosts gefunden"« finden Sie Details zur Problembehandlung dieses Fehlers. Ansonsten können Sie folgende Logdateien auf weiterführende Problembehandlung überprüfen:
    • /var/log/nova/*
    • /var/log/heat/*
    • /var/log/ironic/*
  6. Benutzen Sie das SOS-Toolset, welches Informationen über die Systemhardware und Konfiguration sammelt. Benutzen Sie diese Informationen zur Diagnose und zum Debuggen. SOS wird allgemein zur Unterstützung von Technikern und Entwicklern verwendet. SOS ist hilfreich bei der Undercloud und Overcloud. Installieren des sos Pakets:
    $ sudo yum install sos
    
    Bericht erstellen
    $ sudo sosreport --all-logs