Achten Sie auf bestimmte Einschränkungen und Fehlerbehebungen, wenn Sie Terraform-Konfigurationen als Ressource in vRealize Automation einbetten.
Einschränkungen für Terraform-Konfigurationen
- Wenn Sie ein Design mit Terraform-Konfigurationen validieren, wird mit der Schaltfläche TESTEN die Cloud Assembly-Syntax geprüft, aber nicht die Syntax des nativen Terraform-Codes.
Darüber hinaus validiert die Schaltfläche TESTEN keine den Terraform-Konfigurationen zugeordneten Commit-IDs.
- Für eine Cloud-Vorlage, die Terraform-Konfigurationen enthält, erfordert das Klonen der Vorlage in ein anderes Projekt die folgende Problemumgehung.
- Kopieren Sie im neuen Projekt auf der Registerkarte Integrationen die
repositoryId
für Ihre Integration. - Öffnen Sie die Klonvorlage. Ersetzen Sie im Code-Editor die
repositoryId
durch die von Ihnen kopierte ID.
- Kopieren Sie im neuen Projekt auf der Registerkarte Integrationen die
- Schließen Sie im Versionskontroll-Repository keine Terraform-Statusdatei mit Konfigurationsdateien ein. Wenn
terraform.tfstate
vorhanden ist, treten bei der Bereitstellung Fehler auf.
Unterstützte Tag-2-Aktionen für die übergeordnete Terraform-Ressource
Für die übergeordnete Terraform-Ressource können Sie die Terraform-Statusdatei anzeigen oder aktualisieren. Weitere Informationen zu Statusdateiaktionen finden Sie in der umfangreichen Liste der Aktionen unter Welche Aktionen kann ich in Cloud Assembly-Bereitstellungen oder unterstützten Ressourcen ausführen?.
Unterstützte Tag-2-Aktionen für untergeordnete Ressourcen
Nach der Bereitstellung von Terraform-Konfigurationen verstreichen möglicherweise bis zu 20 Minuten, bevor Tag-2-Aktionen für untergeordnete Ressourcen verfügbar werden.
Für untergeordnete Ressourcen in einer Terraform-Konfiguration wird nur der folgenden Teilsatz an Tag-2-Aktionen unterstützt. Weitere Informationen zu den Aktionen finden Sie in der umfangreichen Liste der Aktionen unter Welche Aktionen kann ich in Cloud Assembly-Bereitstellungen oder unterstützten Ressourcen ausführen?.
Anbieter | Terraform-Ressourcentyp | Unterstützte Tag-2-Aktionen |
---|---|---|
AWS | aws_instance | Einschalten |
Ausschalten | ||
Neu starten | ||
Zurücksetzen | ||
Azure | azurerm_virtual_machine | Einschalten |
Ausschalten | ||
Neu starten | ||
Anhalten | ||
vSphere | vsphere_virtual_machine | Einschalten |
Ausschalten | ||
Neu starten | ||
Zurücksetzen | ||
Herunterfahren | ||
Anhalten | ||
Snapshot erstellen | ||
Snapshot löschen | ||
Snapshot wiederherstellen | ||
GCP | google_compute_instance | Einschalten |
Ausschalten | ||
Snapshot erstellen | ||
Snapshot löschen |
Fehlerbehebung bei der Verfügbarkeit von Tag-2-Aktionen
Vorkonfigurierte Tag-2-Aktionen, die fehlen oder deaktiviert sind, benötigen möglicherweise eine Fehlerbehebung.
Problem | Ursache | Lösung |
---|---|---|
Für eine Terraform-Ressource fehlt eine erwartete vorkonfigurierte Tag-2-Aktion im Menü „Aktionen“. | Die Aktion wird für den Anbieter und den Ressourcentyp wie in der vorherigen Liste aufgeführt möglicherweise nicht unterstützt. Alternativ kann es aufgrund der Ressourcenermittlung und Ressourcenzwischenspeicherung bis zu 20 Minuten dauern, bis die Aktion angezeigt wird. |
Überprüfen Sie den Anbieter und den Ressourcentyp im Entwurf. Warten Sie bis zu 20 Minuten, bis die Datenerfassung abgeschlossen ist. |
Auch nachdem 20 Minuten auf die Datenerfassung gewartet wurde, fehlt einer Terraform-Ressource noch eine erwartete Tag-2-Aktion. | Ein Problem mit der Ressourcenermittlung verhindert, dass die Aktion angezeigt wird. Das kann beispielsweise geschehen, wenn die Ressource versehentlich in einer Cloud-Zone außerhalb des Projekts erstellt wird. Beispielsweise enthält Ihr Projekt nur eine Cloud-Zone mit Cloud-Konto und Region us-east-1, aber die Terraform-Konfiguration enthält eine Anbietersperre für us-west-1, was Sie in der Entwurfsphase nicht geändert haben. Eine weitere Möglichkeit besteht darin, dass die Datenerfassung nicht funktioniert. |
Vergleichen Sie die Cloud-Zonen des Projekts mit den Cloud-Zonen im Entwurf. Gehen Sie zu und überprüfen Sie den Datenerfassungsstatus und die Zeit der letzten erfolgreichen Erfassung für das Cloud-Konto. |
Auch wenn keine offensichtlichen Probleme mit dem Ressourcenstatus und der Datenerfassung vorliegen, ist eine Tag-2-Aktion deaktiviert (grau unterlegt). | Gelegentlich kann es vorkommen, dass zeitweilige Timing- und Datenerfassungsfehler auftreten. | Das Problem sollte innerhalb von 20 Minuten behoben sein. |
Die falsche Tag-2-Aktion ist deaktiviert, die basierend auf dem Ressourcenstatus aktiv sein sollte. So ist z. B. „Ausschalten“ aktiviert und „Einschalten“ deaktiviert, obwohl die Ressource über die Benutzeroberfläche des Anbieters ausgeschaltet wurde. |
Der Datenerfassungszeitpunkt kann zu einer vorübergehenden Nichtübereinstimmung führen. Wenn Sie den Betriebszustand von außerhalb vRealize Automation ändern, dauert es einige Zeit, um die Änderung korrekt wiederzugeben. | Warten Sie bis zu 20 Minuten. |
Verwenden von benutzerdefinierten Terraform-Anbietern in vRealize Automation
Wenn Sie einen benutzerdefinierten Terraform-Anbieter verwenden möchten, führen Sie die folgenden Schritte aus:
Fügen Sie in Ihrem Repository für die Git-Versionskontrolle unter dem Terraform-Verzeichnis, das main.tf enthält, die folgende Unterverzeichnisstruktur und Ihre benutzerdefinierte Terraform-Anbieter-ZIP-Datei hinzu.
terraform.d/plugins/<HOSTNAME>/<NAMESPACE>/<TYPE>/terraform-provider-<TYPE_VERSION_TARGET>.zip
Wenn Sie beispielsweise azurerm Version 3.12.0 heruntergeladen haben, erstellen Sie die folgende Struktur:
terraform.d/plugins/registry.terraform.io/hashicorp/azurerm/terraform-provider-azurerm_3.12.0_linux_amd64.zip