Pular para conteúdo

Solução de problemas do Megaport Terraform Provider

Se você encontrar problemas com o Megaport Terraform Provider, siga estas ações de solução de problemas.

Para obter informações sobre a solução de problemas da API, veja Solução de problemas da API.

Ações de solução de problemas

Ação Etapas
Certifique-se de estar usando a versão mais recente do Terraform e do Megaport Terraform Provider Certifique-se de estar usando uma versão compatível do Terraform e a versão mais recente do Megaport Terraform Provider, conforme indicado em Megaport Terraform Provider Registry. Megaport testa as duas versões principais mais recentes do Terraform.

Para verificar ambos, execute o comando:

terraform version

que deve exibir as informações de versão como neste exemplo:

Terraform v#.#.#
on darwin_arm64
+ provider registry.terraform.io/megaport/megaport v#.#.#

Você pode atualizar Terraform baixando a partir de Upgrading Guides (HashiCorp).

A versão do Megaport Terraform Provider é aquela que você declara ao criar o provedor no arquivo do Terraform. Para mais informações, veja Criando um arquivo de configuração do Megaport Terraform Provider.
Resolver erro ao excluir VXC do Azure Excluir um VXC do Azure resulta no erro:

Erro: Erro ao excluir recurso ****: tem uma conexão de peering anexada que deve ser removida primeiro no Azure:

Para resolver esse problema, o peering do ExpressRoute deve ser gerenciado usando o provedor Terraform do Azure e então será removido antes do VXC. Para mais informações, veja a documentação do provedor Azure.
Resolver o problema de exclusão do VXC quando o serviço associado é excluído O provedor não lida com a situação em que um Port é recriado, o que faz com que o Port e os VXCs associados sejam excluídos.

Por exemplo, se você tivesse um arquivo do Terraform com um Port com velocidade de 1000:

resource "megaport_port" "port_2" {
  product_name = "port2"
  port_speed = 1000
  location_id = data.megaport_location.loc.id
  contract_term_months = 12
  marketplace_visibility = false
  cost_centre = "test2"
  diversity_zone = "red"
}

e quisesse atualizar a velocidade do port_2 para 10000, isso acionará a recriação do Port, que primeiro excluirá o Port e seus VXCs associados. O provedor atualmente não lida com isso e retornará um erro como este:

Erro: Erro ao Atualizar VXC
Não foi possível atualizar VXC com ID a7b44cda-28bc-4d64-b05b-8703114a8fcd: PUT https://api-staging.megaport.com/v3/product/vxc/a7b44cda-28bc-4d64-b05b-8703114a8fcd: 400 (trace_id "89b4016d9f9d0b7545987092d0b17493") Produto [a7b44cda-28bc-4d64-b05b-8703114a8fcd] Não Encontrado

Para resolver isso, você pode especificar um modificador de lifecycle no recurso Port como abaixo, que primeiro criará o novo Port, executará a atualização no VXC e depois excluirá o Port antigo.

lifecycle {
  create_before_destroy = true
}
Relatar a mensagem de erro do provedor Se você vir a seguinte mensagem de erro, isso indica um problema com o provedor. Entre em contato com o suporte ou crie um issue no GitHub e inclua detalhes do processo que o causou, para que esse erro seja registrado e investigado.

"Isso é um bug no provedor, que deve ser relatado no rastreador de issues do próprio provedor."