From 1af9fd80946cc4fd2ffc6782b66958b623eadd55 Mon Sep 17 00:00:00 2001 From: Dalton Hubble Date: Mon, 19 Jul 2021 08:36:59 -0700 Subject: [PATCH] Remove outdated Terraform migration docs * Terraform v0.12.x and v0.13.x are now quite outdated, remove the migration docs --- docs/topics/maintenance.md | 75 +------------------------------------- 1 file changed, 1 insertion(+), 74 deletions(-) diff --git a/docs/topics/maintenance.md b/docs/topics/maintenance.md index 712aeee6..57dbf758 100644 --- a/docs/topics/maintenance.md +++ b/docs/topics/maintenance.md @@ -197,7 +197,7 @@ Typhoon modules have been updated for v0.13.x. Poseidon publishes [providers](/t | Typhoon Release | Terraform version | |-------------------|---------------------| -| v1.21.3 - ? | v0.13.x, v0.14.4+, v0.15.x, v1.0.x | +| v1.21.2 - ? | v0.13.x, v0.14.4+, v0.15.x, v1.0.x | | v1.21.1 - v1.21.1 | v0.13.x, v0.14.4+, v0.15.x | | v1.20.2 - v1.21.0 | v0.13.x, v0.14.4+ | | v1.20.0 - v1.20.2 | v0.13.x | @@ -208,76 +208,3 @@ Typhoon modules have been updated for v0.13.x. Poseidon publishes [providers](/t | v1.7.3 - v1.9.1 | v0.10.x | | v1.6.4 - v1.7.2 | v0.9.x | -### New Workspace - -With a new Terraform workspace, use Terraform v0.15.x and the updated Typhoon [tutorials](/fedora-coreos/aws/#provider). - -### Existing Workspace - -An existing Terraform workspace may already manage earlier Typhoon clusters created with Terraform v0.12.x. - -First, upgrade `terraform-provider-ct` to v0.6.1 following the [guide](#upgrade-terraform-provider-ct) above. As usual, read about how `apply` affects existing cluster nodes when `ct` is upgraded. But `terraform-provider-ct` v0.6.1 is compatible with both Terraform v0.12 and v0.13, so do this first. - -```tf -provider "ct" { - version = "0.6.1" -} -``` - -Next, create Typhoon clusters using the `ref` that introduced Terraform v0.13 forward compatibility (`v1.18.8`) or later. You will see a compatibility warning. Use blue/green cluster replacement to shift to these new clusters, then eliminate older clusters. - -``` -module "nemo" { - source = "git::https://github.com/poseidon/typhoon//digital-ocean/fedora-coreos/kubernetes?ref=v1.18.8" - ... -} -``` - -Install Terraform v0.13. Once all clusters in a workspace are on `v1.18.8` or above, you are ready to start using Terraform v0.13. - -``` -terraform version -v0.13.0 -``` - -Update `providers.tf` to match the Typhoon [tutorials](/fedora-coreos/aws/#provider) and use new `required_providers` block. - -``` -terraform init -terraform 0.13upgrade # sometimes helpful -``` - -!!! note - You will see `Could not retrieve the list of available versions for provider -/ct: provider` - -In state files, existing clusters use Terraform v0.12 providers (e.g. `-/aws`). Pivot to Terraform v0.13 providers (e.g. `hashicorp/aws`) with the following commands, as applicable. Repeat until `terraform init` no longer shows old-style providers. - -``` -terraform state replace-provider -- -/aws hashicorp/aws -terraform state replace-provider -- -/azurerm hashicorp/azurerm -terraform state replace-provider -- -/google hashicorp/google - -terraform state replace-provider -- -/digitalocean digitalocean/digitalocean -terraform state replace-provider -- -/ct poseidon/ct -terraform state replace-provider -- -/matchbox poseidon/matchbox - -terraform state replace-provider -- -/local hashicorp/local -terraform state replace-provider -- -/null hashicorp/null -terraform state replace-provider -- -/random hashicorp/random -terraform state replace-provider -- -/template hashicorp/template -terraform state replace-provider -- -/tls hashicorp/tls -``` - -Finally, verify Terraform v0.13 plan shows no diff. - -``` -terraform plan -No changes. Infrastructure is up-to-date. -``` - -### v0.12.x - -Terraform [v0.12](https://www.hashicorp.com/blog/announcing-terraform-0-12) introduced major changes to the provider plugin protocol and HCL language (first-class expressions, formal list and map types, nullable variables, variable constraints, and short-circuiting ternary operators). - -Typhoon modules have been adapted for Terraform v0.12. Provider plugins requirements now enforce v0.12 compatibility. However, some HCL language changes were breaking (list [type hint](https://www.terraform.io/upgrade-guides/0-12.html#referring-to-list-variables) workarounds in v0.11 now have new meaning). Typhoon cannot offer both v0.11 and v0.12 compatibility in the same release. Upcoming releases require upgrading Terraform to v0.12. -