Mise à niveau d'une pile vers une version Terraform ultérieure

Mettez à niveau une pile dans Resource Manager vers une version ultérieure de Terraform.

Remarque

Ces instructions ne s'appliquent pas aux piles Resource Manager créées via Marketplace.

Ces étapes sont effectuées dans la ligne de commande et la console.

Pour plus d'informations sur les versions de Terraform prises en charge par Resource Manager, reportez-vous à Versions de Terraform prises en charge.

Avant le début

Pour mettre à niveau votre pile, vous devez disposer des éléments suivants :

Chemins de mise à niveau

Les chemins de mise à niveau suivants sont pris en charge par version initiale.

Version Terraform initiale Chemin de mise à niveau
0,12
  1. Effectuez la mise à niveau vers la version 0.13.
  2. Effectuez la mise à niveau vers la version 0.14.
  3. (Recommandé) Mise à niveau vers la version 0.15.
  4. (Recommandé) Mise à niveau vers la version 1.0.
  5. Effectuez la mise à niveau vers la version 1.1.
  6. Effectuez la mise à niveau vers la version 1.2.
0,13
  1. Effectuez la mise à niveau vers la version 0.14.
  2. (Recommandé) Mise à niveau vers la version 0.15.
  3. (Recommandé) Mise à niveau vers la version 1.0.
  4. Effectuez la mise à niveau vers la version 1.1.
  5. Effectuez la mise à niveau vers la version 1.2.
0,14
  1. (Recommandé) Mise à niveau vers la version 0.15.
  2. (Recommandé) Mise à niveau vers la version 1.0.
  3. Effectuez la mise à niveau vers la version 1.1.
  4. Effectuez la mise à niveau vers la version 1.2.
0,15
  1. (Recommandé) Mise à niveau vers la version 1.0.
  2. Effectuez la mise à niveau vers la version 1.1.
  3. Effectuez la mise à niveau vers la version 1.2.
1,0
  1. Effectuez la mise à niveau vers la version 1.1.
  2. Effectuez la mise à niveau vers la version 1.2.
1.1 Effectuez la mise à niveau vers la version 1.2.

Tâche 1 : Confirmer l'infrastructure à jour

Cette tâche utilise la console. Pour obtenir des instructions sur l'interface de ligne de commande et l'API, reportez-vous à Obtention des détails d'une pile, à Création d'un travail de plan et à Création d'un travail d'application.

  1. Ouvrez la page Détails de la pile pour la pile à mettre à niveau :

    1. Ouvrez le menu de navigation et cliquez sur Services de développeur. Sous Gestionnaire de ressources, cliquez sur Piles.
    2. Sous Portée de la liste, choisissez le compartiment contenant la pile.

    3. Cliquez sur le nom de la pile.

  2. Vérifiez que cette pile utilise la version de Terraform attendue : sur la page Détails de la pile, sous Informations sur la pile, consultez la version de Terraform.

  3. Rechercher les modifications en attente dans l'infrastructure :

    1. Cliquez sur Planifier.

      Une fois l'action terminée, la page Détails du travail s'affiche pour le travail associé.

    2. Sur la page Détails du travail, dans l'onglet Journaux, consultez le journal de l'action de plan terminée.

      Le contenu du journal indique si la pile est à jour ou comporte des modifications en attente.

      Exemple pour une pile à jour (aucune modification en attente) :

      No changes. Infrastructure is up-to-date.

  4. Si le contenu du journal indique des modifications en attente, appliquez les modifications en attente :

    1. Cliquez sur Détails de la pile pour revenir à la page Détails de la pile.

    2. Cliquez sur Appliquer.

      Une fois l'action terminée, la page Détails du travail s'affiche pour le travail associé.

    3. Confirmez que l'action d'application a réussi. Sur la page Détails du travail, dans l'onglet Journaux, consultez le journal de l'action d'application terminée.

Lorsque l'infrastructure de pile est à jour, vous pouvez passer à la tâche suivante de téléchargement des fichiers de configuration et d'état Terraform.

Tâche 2 : téléchargement de la configuration et de l'état

Remarque

Si la configuration Terraform de la pile est stockée dans un système de contrôle de code source, tel que GitLab, extrayez et téléchargez la configuration Terraform à partir de ce dernier.

Si la configuration Terraform de la pile est stockée dans un bucket, téléchargez la configuration Terraform à partir de ce dernier.

Cette tâche utilise la ligne de commande et la console. Pour obtenir des instructions sur l'interface de ligne de commande et l'API permettant de télécharger une configuration Terraform et un état Terraform, reportez-vous à Obtention de la configuration Terraform d'une pile et à Obtention du fichier d'état d'une pile.

  1. Sur un ordinateur pouvant exécuter des outils de ligne de commande, créez un dossier pour stocker la configuration et l'état Terraform téléchargés.

    Exemple de nom de dossier : c:\StackUpgrade

  2. Ouvrez la page Détails de la pile pour la pile à mettre à niveau :

    1. Ouvrez le menu de navigation et cliquez sur Services de développeur. Sous Gestionnaire de ressources, cliquez sur Piles.
    2. Sous Portée de la liste, choisissez le compartiment contenant la pile à mettre à niveau.

    3. Cliquez sur le nom de la pile.

      La page Détails de pile apparaît.

  3. Téléchargez en local la configuration de Terraform : dans l'onglet Informations sur la pile, à droite de Configuration de Terraform, cliquez sur Télécharger.

  4. Téléchargez le fichier d'état de Terraform en local : accédez à Actions supplémentaires et sélectionnez Télécharger l'état de Terraform en local.

Lorsque la configuration et l'état de Terraform sont téléchargés, vous pouvez passer à la tâche suivante de mise à niveau de la configuration Terraform.

Tâche 3 : Mettre à niveau la configuration

Cette tâche fournit les étapes personnalisées de mise à niveau d'une configuration Terraform utilisée avec Resource Manager.

  1. Sur le même ordinateur que vous avez utilisé pour stocker les fichiers de configuration et d'état Terraform téléchargés, téléchargez les fichiers .zip nécessaires à la mise à niveau de votre configuration Terraform :

  2. Extrayez le contenu de chaque fichier .zip.

  3. Mettez à jour la configuration du fournisseur pour ajouter des arguments tels que user_ocid, fingerprint et private_key_path. Vous avez peut-être déjà commenté ces arguments.

    Exemple d'arguments mis en commentaire :

    provider "oci" {
      tenancy_ocid = var.tenancy_ocid
      /*
      user_ocid = var.user_ocid
      fingerprint = var.fingerprint
      private_key_path = var.private_key_path
      */
      region = var.region
    }
  4. Pour suivre les exemples de code dans la suite de cette procédure, renommez le fichier extrait en terraform_<major-version>.

    Exemple : terraform_13

  5. Pour rendre la commande (fichier extrait) accessible, stockez-la dans un répertoire présent dans votre répertoire PATH.

  6. Ouvrez une invite de commande.

  7. Accédez au répertoire dans lequel vous avez stocké les informations de pile téléchargées.

    Exemple :

    cd c:\StackUpgrade
  8. Pour initialiser Terraform, exécutez la commande suivante :

    terraform_<major-version> init

    Exemple :

    terraform_13 init
  9. Pour mettre à niveau la syntaxe de votre configuration Terraform, exécutez la commande correspondant à la version de Terraform cible :

    Version Terraform cible Commande
    0,13
    terraform_13 13upgrade
    0,14
    terraform_14 14upgrade
    0.15 et versions ultérieures Aucune action nécessaire. Si les mises à niveau ci-dessus ont été appliquées avec succès pendant le processus, aucune modification spéciale n'est nécessaire pour mettre à niveau la configuration.

    La sortie indique si la mise à niveau a réussi.

    En cas de réussite, passez à l'étape 12.

    En cas d'échec, apportez des modifications manuelles à vos fichiers de configuration Terraform comme indiqué.

  10. Créez une archive .zip de vos fichiers de configuration Terraform.

    Exemple d'archive .zip : c:\StackUpgrade\MyConfigUpgraded.zip

    Assurez-vous que l'archive omet le fichier d'état Terraform (terraform.tfstate) et le répertoire .terraform pour satisfaire la structure de fichiers requise pour les configurations Terraform.

  11. Si un système de contrôle de code source (tel que GitHub) est utilisé pour la configuration Terraform de la pile, validez-y la configuration Terraform mise à niveau.

    La validation la plus récente est utilisée lorsque vous exécutez des travaux sur la pile.

  12. Si un bucket Object Storage est utilisé pour la configuration Terraform de la pile, modifiez son contenu pour qu'il corresponde à la configuration Terraform mise à niveau.

    Remarque

    Sauvegardez le bucket en cours avant de le modifier pour qu'il corresponde à la configuration Terraform mise à niveau.

    Le contenu le plus récent du bucket est utilisé lorsque vous exécutez des travaux sur la pile.

Lorsque la configuration Terraform a été mise à niveau vers la version Terraform cible, vous pouvez passer à la tâche suivante de mise à niveau de la pile.

Tâche 4 : mise à niveau de la pile

Cette tâche utilise la console. Pour obtenir des instructions sur la CLI et l'API de mise à jour d'une pile, reportez-vous à Mise à jour d'une pile.

  1. Rouvrez la page Détails de la pile pour la pile que vous mettez à niveau :

    1. Ouvrez le menu de navigation et cliquez sur Services de développeur. Sous Gestionnaire de ressources, cliquez sur Piles.
    2. Sous Portée de la liste, choisissez le compartiment contenant la pile à mettre à niveau.

    3. Cliquez sur le nom de la pile.

  2. Ouvrez la boîte de dialogue Modifier la pile : sur la page Détails de la pile de la pile, cliquez sur Modifier.

  3. Téléchargez la configuration Terraform mise à niveau vers la pile : faites glisser le fichier .zip vers le contrôle de la boîte de dialogue ou cliquez sur Parcourir et accédez à l'emplacement du fichier .zip.

    Exemple de chemin de fichier : c:\StackUpgrade\MyConfigUpgraded.zip

    La boîte de dialogue contient les informations contenues dans la configuration Terraform.

    Remarque

    Ignorez cette étape de téléchargement si la configuration Terraform de la pile est stockée dans un système de contrôle de code source (tel que GitHub) ou dans un bucket Object Storage, la pile a été configurée pour utiliser la configuration Terraform mise à niveau dans Tâche 3 : mettre à niveau la configuration lorsque vous avez validé la modification du code source ou téléchargé le fichier vers le bucket.)
  4. Indiquez la version de Terraform cible : modifiez la version de Terraform.

  5. Cliquez deux fois sur Suivant, puis sur Enregistrer les modifications.

La pile est désormais synchronisée avec la configuration Terraform mise à niveau et la version Terraform indiquée. Vous pouvez maintenant passer à la tâche suivante pour importer le fichier d'état.

Tâche 5 : importer l'état

Cette tâche utilise la console. Pour obtenir des instructions sur l'interface de ligne de commande et l'API, reportez-vous à Création d'un travail d'import.

  1. Rouvrez la page Détails de la pile pour la pile que vous mettez à niveau :

    1. Ouvrez le menu de navigation et cliquez sur Services de développeur. Sous Gestionnaire de ressources, cliquez sur Piles.
    2. Sous Portée de la liste, choisissez le compartiment contenant la pile à mettre à niveau.

    3. Cliquez sur le nom de la pile.

  2. Accédez à Actions supplémentaires, puis sélectionnez Etat d'importation.

  3. Dans le panneau Importer, ajoutez le fichier d'état Terraform téléchargé (exemple de chemin de fichier : c:\StackUpgrade\terraform.tfstate) : faites glisser le fichier vers le contrôle de la boîte de dialogue ou cliquez sur Parcourir et accédez à l'emplacement du fichier.

  4. Cliquez sur Importer.

    Le travail d'importation a été créé. Le nouveau travail apparaît sous Tâches.

    Une fois le travail terminé, la page Détails du travail s'ouvre.

  5. Confirmer l'import réussi : dans la section Journaux sous Ressources, consultez les journaux.

Après une importation réussie du fichier d'état, passez à la tâche suivante pour vérifier les problèmes.

Tâche 6 : Rechercher des problèmes

Cette tâche utilise la console. Pour obtenir des instructions sur l'interface de ligne de commande et l'API, reportez-vous à Création d'un travail de planification, à Obtention des journaux pour un travail, à Obtention du contenu des journaux pour un travail et à Mise à jour d'une pile.

  1. Sur la page Détails de la pile de la pile que vous venez de mettre à niveau, recherchez les problèmes liés à la configuration ou au fichier d'état Terraform en exécutant l'action de plan :

    1. Cliquez sur Planifier.

      Une fois l'action terminée, la page Détails du travail s'affiche pour le travail associé.

    2. Sur la page Détails du travail, dans l'onglet Journaux, consultez le journal de l'action de plan terminée.

      Le contenu du journal peut répertorier des problèmes, tels que l'ancienne syntaxe HCL1 en phase d'abandon.

  2. Résolvez les problèmes répertoriés :

    1. Sur votre ordinateur, accédez à la configuration Terraform et mettez-la à jour manuellement.

    2. Téléchargez vers la pile la configuration Terraform que vous venez de mettre à jour :

      1. Sur la page Détails de la pile, cliquez sur Modifier la pile.

      2. Glissez-déplacez la configuration Terraform dans la commande de la boîte de dialogue ou cliquez sur Rechercher et accédez à l'emplacement du fichier.

        La boîte de dialogue contient les informations contenues dans la configuration Terraform.

      3. Cliquez deux fois sur Suivant, puis sur Enregistrer les modifications.

  3. Exécutez à nouveau l'action de plan pour vérifier que les problèmes ne sont plus répertoriés dans le contenu du journal associé.