Fazendo Upgrade de uma Pilha para uma Versão Posterior do Terraform

Faça upgrade de uma pilha no Resource Manager para uma versão mais recente do Terraform.

Observação

Essas instruções não se aplicam às pilhas do Resource Manager criadas por meio do Marketplace.

Essas etapas são concluídas na linha de comando e na Console.

Para obter informações sobre versões do Terraform suportadas pelo serviço Resource Manager, consulte Versões do Terraform Suportadas.

Antes de Iniciar

Para fazer upgrade da pilha com sucesso, você deve ter o seguinte:

Programações de Atualização

Veja a seguir os caminhos de upgrade suportados pela versão inicial.

Versão Inicial do Terraform Caminho da atualização
0,12
  1. Atualize para 0.13.
  2. Atualize para 0.14.
  3. (Recomendado) Atualize para 0.15.
  4. (Recomendado) Atualize para 1.0.
  5. Atualizar para 1.1.
  6. Atualizar para 1.2.
0,13
  1. Atualize para 0.14.
  2. (Recomendado) Atualize para 0.15.
  3. (Recomendado) Atualize para 1.0.
  4. Atualizar para 1.1.
  5. Atualizar para 1.2.
0,14
  1. (Recomendado) Atualize para 0.15.
  2. (Recomendado) Atualize para 1.0.
  3. Atualizar para 1.1.
  4. Atualizar para 1.2.
0,15
  1. (Recomendado) Atualize para 1.0.
  2. Atualizar para 1.1.
  3. Atualizar para 1.2.
1,0
  1. Atualizar para 1.1.
  2. Atualizar para 1.2.
1.1 Atualizar para 1.2.

Tarefa 1: Confirmar Infraestrutura Atualizada

Esta tarefa usa a Console. Para obter instruções sobre CLI e API, consulte Obtendo Detalhes de uma Pilha, Criando um Job do Plano e Criando um Job de Aplicação.

  1. Abra a página Detalhes da pilha da pilha que você deseja fazer upgrade:

    1. Abra o menu de navegação e clique em Serviços ao Desenvolvedor. Em Resource Manager, clique em Stacks.
    2. Em Escopo da lista, escolha o Compartimento que contém a pilha.

    3. Clique no nome da pilha.

  2. Confirme se essa pilha está usando a versão esperada do Terraform: Na página Detalhes da pilha, em Informações da pilha, analise a versão do Terraform.

  3. Verifique as alterações pendentes na infraestrutura:

    1. Clique em Planejar.

      Quando a ação terminar, a página Detalhes do job será exibida para o job relacionado.

    2. Na página Detalhes do job, na guia Logs, revise o log da ação do plano concluída.

      O conteúdo do log indica se a pilha está atualizada ou tem alterações pendentes.

      Exemplo de uma pilha atualizada (sem alterações pendentes):

      No changes. Infrastructure is up-to-date.

  4. Se o conteúdo do log indicar alterações pendentes, aplique as alterações pendentes:

    1. Clique em Detalhes da pilha para retornar à página Detalhes da pilha.

    2. Clique em Aplicar.

      Quando a ação terminar, a página Detalhes do job será exibida para o job relacionado.

    3. Confirme se a ação de aplicação foi bem-sucedida: Na página Detalhes do job, na guia Logs, revise o log da ação de aplicação concluída.

Quando a infraestrutura da pilha estiver atualizada, você poderá passar para a próxima tarefa de download dos arquivos de configuração e estado do Terraform.

Tarefa 2: Fazer Download da Configuração e do Estado

Observação

Se a configuração do Terraform da pilha for armazenada em um sistema de controle de código-fonte, como GitLab, faça check-out e download da configuração do Terraform nesse local.

Se a configuração do Terraform da pilha for armazenada em um bucket, faça download da configuração do Terraform.

Esta tarefa usa a linha de comando e a Console. Para obter instruções sobre a CLI e a API para fazer download de uma configuração do Terraform e um estado do Terraform, consulte Obtendo uma Configuração do Terraform da Pilha e Obtendo um Arquivo de Estado da Pilha.

  1. Em um computador que possa executar ferramentas de linha de comando, crie uma pasta para armazenar a configuração e o estado do Terraform submetido a download.

    Exemplo de nome da pasta: c:\StackUpgrade

  2. Abra a página Detalhes da Pilha da pilha que você deseja atualizar:

    1. Abra o menu de navegação e clique em Serviços ao Desenvolvedor. Em Resource Manager, clique em Stacks.
    2. Em Escopo da lista, escolha o Compartimento que contém a pilha que você deseja fazer upgrade.

    3. Clique no nome da pilha.

      A página Detalhes da pilha é exibida.

  3. Download da configuração do Terraform: Na guia Informações da pilha, à direita da configuração do Terraform, clique em Download.

  4. Faça download do arquivo de estado do Terraform: Vá para Mais ações e selecione Download do estado do Terraform.

Quando a configuração e o estado do Terraform forem baixados, você poderá passar para a próxima tarefa para fazer upgrade da configuração do Terraform.

Tarefa 3: Fazer Upgrade da Configuração

Esta tarefa fornece etapas personalizadas para fazer upgrade de uma configuração do Terraform usada com o Resource Manager.

  1. No mesmo computador que você usou para armazenar os arquivos de configuração e estado do Terraform submetidos a download, faça download dos arquivos .zip necessários para fazer upgrade da configuração do Terraform:

  2. Extraia o conteúdo de cada arquivo .zip.

  3. Atualize a configuração do provedor para adicionar argumentos como user_ocid, fingerprint e private_key_path. Talvez você já tenha comentado esses argumentos anteriormente.

    Exemplo de argumentos com comentário:

    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. Para seguir exemplos de código no restante deste procedimento, renomeie o arquivo extraído como terraform_<major-version>.

    Exemplo: terraform_13

  5. Para tornar o comando (arquivo extraído) acessível, armazene-o em um diretório que esteja presente no diretório PATH.

  6. Abra um prompt de comando.

  7. Altere o diretório para a pasta na qual você armazenou as informações da pilha baixada.

    Exemplo:

    cd c:\StackUpgrade
  8. Para inicializar o Terraform, execute o seguinte comando:

    terraform_<major-version> init

    Exemplo:

    terraform_13 init
  9. Para fazer upgrade da sintaxe da sua configuração do Terraform, execute o comando da versão do Terraform de destino:

    Versão do Terraform de Destino Comando
    0,13
    terraform_13 13upgrade
    0,14
    terraform_14 14upgrade
    0.15 e posterior Nenhum necessário. Se as atualizações anteriores tiverem sido aplicadas com êxito durante o processo, nenhuma alteração especial será necessária para atualizar a configuração.

    A saída indica se o upgrade foi bem-sucedido.

    Se a operação for bem-sucedida, vá para a etapa 12.

    Se não for bem-sucedido, faça alterações manuais nos arquivos de configuração do Terraform conforme indicado.

  10. Crie um arquivo compactado .zip dos arquivos de configuração do Terraform.

    Exemplo de arquivo .zip: c:\StackUpgrade\MyConfigUpgraded.zip

    Certifique-se de que o arquivo compactado omita o arquivo de estado do Terraform (terraform.tfstate) e o diretório .terraform para atender à estrutura de arquivos necessária para configurações do Terraform.

  11. Se um sistema de controle de código-fonte (como GitHub) for usado para a configuração do Terraform da pilha, confirme a configuração do Terraform atualizada nesse local.

    O commit mais recente é usado quando você executa jobs na pilha.

  12. Se um bucket do serviço Object Storage for usado para a configuração do Terraform da pilha, altere o conteúdo desse bucket para corresponder à configuração do Terraform atualizada.

    Observação

    Faça backup do bucket atual antes de alterá-lo para corresponder à configuração do Terraform atualizada.

    O conteúdo mais recente do bucket é usado quando você executa jobs na pilha.

Quando a configuração do Terraform for submetida a upgrade com sucesso para a versão do Terraform de destino, você poderá passar para a próxima tarefa para fazer upgrade da pilha.

Tarefa 4: Fazer Upgrade da Pilha

Esta tarefa usa a Console. Para obter instruções sobre a CLI e a API para atualizar uma pilha, consulte Atualizando uma Pilha.

  1. Reabra a página Detalhes da pilha para a pilha que você está atualizando:

    1. Abra o menu de navegação e clique em Serviços ao Desenvolvedor. Em Resource Manager, clique em Stacks.
    2. Em Escopo da lista, escolha o Compartimento que contém a pilha que você está fazendo upgrade.

    3. Clique no nome da pilha.

  2. Abra a caixa de diálogo Editar pilha: Na página Detalhes da pilha da pilha, clique em Editar.

  3. Faça upload da configuração do Terraform atualizada para a pilha: Arraste e solte o arquivo .zip no controle da caixa de diálogo ou clique em Procurar e navegue até o local do arquivo .zip.

    Exemplo de caminho de arquivo: c:\StackUpgrade\MyConfigUpgraded.zip

    A caixa de diálogo é preenchida com informações contidas na configuração do Terraform.

    Observação

    Ignore esta etapa de upload se a configuração do Terraform da pilha for armazenada em um sistema de controle de código-fonte (como GitHub) ou em um bucket do Object Storage, a pilha foi configurada para usar a configuração do Terraform atualizada na Tarefa 3: Fazer Upgrade da Configuração quando você tiver confirmado a alteração no código-fonte ou tiver feito upload do arquivo para o bucket.)
  4. Especifique a versão do Terraform de destino: Altere a versão do Terraform.

  5. Clique em Próximo duas vezes e, em seguida, clique em Salvar alterações.

A pilha agora está sincronizada com a configuração do Terraform atualizada e a versão especificada do Terraform. Agora você pode prosseguir para a próxima tarefa para importar o arquivo de estado.

Tarefa 5: Importar o Estado

Esta tarefa usa a Console. Para obter instruções sobre CLI e API, consulte Criando um Job de Importação.

  1. Reabra a página Detalhes da pilha para a pilha que você está atualizando:

    1. Abra o menu de navegação e clique em Serviços ao Desenvolvedor. Em Resource Manager, clique em Stacks.
    2. Em Escopo da lista, escolha o Compartimento que contém a pilha que você está fazendo upgrade.

    3. Clique no nome da pilha.

  2. Vá para Mais ações e selecione Importar estado.

  3. No painel Importar, adicione o arquivo de estado do Terraform submetido a download (exemplo de caminho do arquivo: c:\StackUpgrade\terraform.tfstate): arraste e solte o arquivo no controle da caixa de diálogo ou clique em Procurar e navegue até o local do arquivo.

  4. Clique em Importar.

    O job de importação foi criado. O novo job é listado em Jobs.

    Quando o job termina, a página Detalhes do job é aberta.

  5. Confirmar importação bem-sucedida: Na seção Logs em Recursos, revise os logs.

Após uma importação bem-sucedida do arquivo de estado, prossiga para a próxima tarefa para verificar se há problemas.

Tarefa 6: Verificar Problemas

Esta tarefa usa a Console. Para obter instruções sobre CLI e API, consulte Criando um Job do Plano, Obtendo Logs para um Job, Obtendo Conteúdo de Logs para um Job e Atualizando uma Pilha.

  1. Na página Detalhes da Pilha da pilha recém-atualizada, verifique se há problemas com a configuração do Terraform ou com o arquivo de estado executando a ação do plano:

    1. Clique em Planejar.

      Quando a ação terminar, a página Detalhes do job será exibida para o job relacionado.

    2. Na página Detalhes do job, na guia Logs, revise o log da ação do plano concluída.

      O conteúdo do log pode listar problemas, como sintaxe HCL1 antiga e obsoleta.

  2. Resolva todos os problemas listados:

    1. No seu computador, acesse e atualize manualmente a configuração do Terraform.

    2. Faça upload da configuração do Terraform recém-atualizada para a pilha:

      1. Na página Detalhes da pilha, clique em Editar pilha.

      2. Arraste e solte a configuração do Terraform no controle da caixa de diálogo ou clique em Pesquisar e navegue até o local do arquivo.

        A caixa de diálogo é preenchida com informações contidas na configuração do Terraform.

      3. Clique em Próximo duas vezes e, em seguida, clique em Salvar alterações.

  3. Execute a ação do plano novamente para confirmar se os problemas não estão mais listados no conteúdo de log associado.