Gardez à l'esprit certaines limitations et informations de dépannage lorsque vous intégrez des configurations Terraform en tant que ressource dans vRealize Automation Cloud.

Limitations des configurations Terraform

  • Lors de la validation d'une conception avec des configurations Terraform, le bouton TESTER vérifie la syntaxe de Cloud Assembly, mais pas la syntaxe du code Terraform natif.

    En outre, le bouton TESTER ne valide pas les ID de validation associés aux configurations Terraform.

  • La version 0.13 de Terraform récemment lancée n'est pas encore officiellement prise en charge.
  • Pour un modèle de cloud qui inclut des configurations Terraform, le clonage du modèle dans un autre projet nécessite la solution suivante.
    1. Dans le nouveau projet, sous l'onglet Intégrations, copiez repositoryId pour votre intégration.
    2. Ouvrez le modèle clone. Dans l'éditeur de code, remplacez repositoryId par celui que vous avez copié.
  • Dans le référentiel de contrôle de version, n'incluez pas de fichier d'état Terraform avec les fichiers de configuration. Si terraform.tfstate est présent, des erreurs se produisent pendant le déploiement.

Actions du jour 2 prises en charge pour la ressource Terraform parente

Pour la ressource Terraform parente, vous pouvez afficher ou actualiser le fichier d'état Terraform. Pour plus d'informations sur les actions du fichier d'état, reportez-vous à la liste complète des actions à la section Actions pouvant être exécutées sur les déploiements de Cloud Assembly.

Actions du jour 2 prises en charge pour les ressources enfants

Après le déploiement de configurations Terraform, il peut s'écouler jusqu'à 20 minutes pour que l'action du jour 2 devienne disponible sur les ressources enfants.

Pour les ressources enfants dans une configuration Terraform, seul le sous-ensemble suivant d'actions du jour 2 est pris en charge. Pour plus d'informations sur les actions, recherchez-les dans la liste complète des actions à la section Actions pouvant être exécutées sur les déploiements de Cloud Assembly.

Fournisseur Type de ressource Terraform Actions du jour 2 prises en charge
AWS aws_instance Mettre sous tension
Mettre hors tension
Redémarrer
Réinitialiser
Azure azurerm_virtual_machine Mettre sous tension
Mettre hors tension
Redémarrer
Interrompre
vSphere vsphere_virtual_machine Mettre sous tension
Mettre hors tension
Redémarrer
Réinitialiser
Arrêter
Interrompre
Créer snapshot
Supprimer le snapshot
Restaurer le snapshot
GCP google_compute_instance Mettre sous tension
Mettre hors tension
Créer snapshot
Supprimer le snapshot

Dépannage de la disponibilité des actions du jour 2

Les actions du jour 2 prêtes à l'emploi qui sont manquantes ou désactivées peuvent nécessiter un dépannage.

Problème Cause Résolution
Une ressource Terraform n'a pas d'action du jour 2 prêtes à l'emploi attendue dans le menu Actions.

L'action peut ne pas être prise en charge pour le fournisseur et le type de ressource comme mentionné dans la liste précédente.

L'action peut également nécessiter jusqu'à 20 minutes pour s'afficher en raison du temps nécessaire à la détection des ressources et à la mise en cache des ressources.

Vérifiez le type de fournisseur et de ressource dans la conception.

Patientez 20 minutes jusqu'à la fin de la collecte de données.

Une ressource Terraform n'a pas d'action du jour 2 attendue, même après 20 minutes pour prendre en compte la collecte de données.

Un problème de détection des ressources empêche l'affichage de l'action.

Cela se produit notamment lorsque la ressource est créée par accident sur une zone de cloud hors projet. Par exemple, votre projet inclut uniquement un compte de cloud et une zone de cloud us-east-1, mais la configuration Terraform inclut un bloc fournisseur pour us-west-1, et vous ne l'avez pas modifié lors de la conception.

Il est également possible que la collecte de données ne fonctionne pas.

Vérifiez les zones de cloud du projet par rapport aux zones de cloud de la conception.

Accédez à Infrastructure > Connexions > Comptes de cloud et vérifiez l'état de la collecte des données et la dernière heure de collecte du compte de cloud.

Même s'il n'y a pas de problèmes évidents avec l'état des ressources et la collecte de données, une action du jour 2 est désactivée (grise). Occasionnellement, des problèmes de temporisation intermittents et des échecs de collecte de données peuvent survenir. Le problème devrait se résoudre de lui-même dans les 20 minutes qui suivent.
L'action du jour 2 désactivée est incorrecte, elle doit être activée en fonction de l'état de la ressource.

Par exemple, la mise hors tension est activée et la mise sous tension est désactivée, même si la ressource a été mise hors tension à l'aide de l'interface du fournisseur.

La synchronisation de la collecte de données peut entraîner une incompatibilité temporaire. Si l'état d'alimentation provenant de l'extérieur de vRealize Automation Cloud change, un certain temps peut être nécessaire pour refléter correctement la modification. Patientez jusqu'à 20 minutes.

Utilisation de fournisseurs Terraform personnalisés dans vRealize Automation Cloud

Si vous avez créé un fournisseur Terraform personnalisé et souhaitez l'utiliser, procédez comme suit.

  1. Sous le répertoire Terraform par défaut de votre référentiel de contrôle de version git, ajoutez la structure de sous-répertoires suivante.

    terraform.d/plugins/linux_amd64

  2. Ajoutez les fichiers binaires Go de votre fournisseur Terraform personnalisé au répertoire linux_amd64.

    Par défaut, terraform init recherchera dans ce répertoire les plug-ins de fournisseurs personnalisés.

Note : VMware a rencontré des cas où un fournisseur Terraform personnalisé ne parvient pas à s'exécuter et publie un message no such file or directory.

Si cela se produit, essayez de recompiler vos fichiers binaires Go de fournisseur personnalisés après avoir désactivé CGO (défini sur zéro). CGO est destiné aux modules Go qui appellent le code C.