You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Add explicit "providers" section to modules for Terraform v0.11.x
* Retain support for Terraform v0.10.4+
* Add migration guide from Terraform v0.10.x to v0.11.x for those managing
existing clusters (action required!)
Copy file name to clipboardExpand all lines: docs/topics/maintenance.md
+75
Original file line number
Diff line number
Diff line change
@@ -127,3 +127,78 @@ Typhoon supports multi-controller clusters, so it is possible to upgrade a clust
127
127
!!! warning
128
128
Typhoon does not support or document node replacement as an upgrade strategy. It limits Typhoon's ability to make infrastructure and architectural changes between tagged releases.
129
129
130
+
## Terraform v0.11.x
131
+
132
+
Terraform v0.10.x to v0.11.x introduced breaking changes in the provider and module inheritance relationship that you MUST be aware of when upgrading to the v0.11.x `terraform` binary. Terraform now allows multiple named (i.e. aliased) copies of a provider to exist (e.g `aws.default`, `aws.somename`). Terraform now also requires providers be explicitly passed to modules in order to satisfy module version contraints (which Typhoon modules define). Full details can be found in [typhoon#77](https://github.com/poseidon/typhoon/issues/77) and [hashicorp#16824](https://github.com/hashicorp/terraform/issues/16824).
133
+
134
+
In particular, after upgrading to the v0.11.x `terraform` binary, you'll notice:
135
+
136
+
*`terraform plan` does not succeed and prompts for variables when it didn't before
137
+
*`terraform plan` does not succeed and mentions "provider configuration block is required for all operations"
138
+
*`terraform apply` fails when you comment or remove a module usage in order to delete a cluster
139
+
140
+
### New users
141
+
142
+
New users can start with Terraform v0.11.x and follow the Typhoon docs without issue.
143
+
144
+
### Existing
145
+
146
+
Users who used modules to create clusters with Terraform v0.10.x and still manage those clusters via Terraform must explicitly add each provider used in `provider.tf`:
147
+
148
+
```
149
+
provider "local" {
150
+
version = "~> 1.0"
151
+
alias = "default"
152
+
}
153
+
154
+
provider "null" {
155
+
version = "~> 1.0"
156
+
alias = "default"
157
+
}
158
+
159
+
provider "template" {
160
+
version = "~> 1.0"
161
+
alias = "default"
162
+
}
163
+
164
+
provider "tls" {
165
+
version = "~> 1.0"
166
+
alias = "default"
167
+
}
168
+
```
169
+
170
+
Modify the `google`, `aws`, or `digitalocean` provider section to specify an explicit `alias` name.
Re-run `terraform plan`. Plan will claim there are no changes to apply. Run `terraform apply` anyway as this will update Terraform state to be aware of the explicit provider versions.
201
+
202
+
### Verify
203
+
204
+
You should now be able to run `terraform plan` without errors. When you choose, you may comment or delete a module from Terraform configs and `terraform apply` should destroy the cluster correctly.
0 commit comments