Skip to content

Commit b399458

Browse files
committed
Updated docs and migration script for v5.0.
1 parent 6dae1f3 commit b399458

File tree

3 files changed

+388
-2
lines changed

3 files changed

+388
-2
lines changed

CHANGELOG.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,15 @@ Extending the adopted spec, each change should have a link to its corresponding
88

99
## [Unreleased]
1010

11+
## [v5.0.0] - 2019-XX-XX
12+
v5.0.0 is a backwards-incompatible release. Please see the [upgrading guide](./docs/upgrading_to_v5.0.md).
13+
14+
The v5.0.0 module requires using the [2.12 version](https://github.com/terraform-providers/terraform-provider-google/blob/master/CHANGELOG.md#2120-august-01-2019) of the Google provider.
15+
1116
### Changed
1217

13-
* All Beta functionality removed from non-beta clusters, some properties like node_pool taints available only in beta cluster now [#228]
1418
* **Breaking**: Enabled metadata-concealment by default [#248]
19+
* All beta functionality removed from non-beta clusters, moved `node_pool_taints` to beta modules [#228]
1520

1621
### Added
1722
* Added support for resource usage export config [#238]
@@ -22,6 +27,10 @@ Extending the adopted spec, each change should have a link to its corresponding
2227
* Support for Google Groups based RBAC beta feature [#217]
2328
* Support for disabling node pool autoscaling by setting `autoscaling` to `false` within the node pool variable. [#250]
2429

30+
### Fixed
31+
32+
* Fixed issue with passing a dynamically created Service Account to the module. [#27]
33+
2534
## [v4.1.0] 2019-07-24
2635

2736
### Added
@@ -164,7 +173,8 @@ Extending the adopted spec, each change should have a link to its corresponding
164173

165174
* Initial release of module.
166175

167-
[Unreleased]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/compare/v4.1.0...HEAD
176+
[Unreleased]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/compare/v5.0.0...HEAD
177+
[v5.0.0]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/compare/v4.1.0...v5.0.0
168178
[v4.1.0]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/compare/v4.0.0...v4.1.0
169179
[v4.0.0]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/compare/v3.0.0...v4.0.0
170180
[v3.0.0]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/compare/v2.1.0...v3.0.0
@@ -186,6 +196,7 @@ Extending the adopted spec, each change should have a link to its corresponding
186196
[#236]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/pull/236
187197
[#217]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/pull/217
188198
[#234]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/pull/234
199+
[#27]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/issues/27
189200
[#216]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/pull/216
190201
[#214]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/pull/214
191202
[#210]: https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/pull/210

docs/upgrading_to_v5.0.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# Upgrading to v5.0
2+
3+
The v5.0 release of *kubernetes-engine* is a backwards incompatible
4+
release.
5+
6+
## Migration Instructions
7+
8+
### Node pool taints
9+
Previously, node pool taints could be set on all module versions.
10+
11+
Now, to set taints you must use the beta version of the module.
12+
13+
```diff
14+
module "kubernetes_engine_private_cluster" {
15+
- source = "terraform-google-modules/kubernetes-engine/google"
16+
+ source = "terraform-google-modules/kubernetes-engine/google//modules/beta-public-cluster"
17+
- version = "~> 4.0"
18+
+ version = "~> 5.0"
19+
}
20+
```
21+
22+
### Resource simplification
23+
The `google_container_cluster` and `google_container_node_pool` resources previously were different between regional and zonal clusters. They have now been collapsed into a single resource using the `location` variable.
24+
25+
If you are using regional clusters, no migration is needed. If you are using zonal clusters, a state migration is needed. You can use a [script](../helpers/migrate.py) we provided to determine the required state changes:
26+
27+
1. Download the script
28+
29+
```
30+
curl -O https://raw.githubusercontent.com/terraform-google-modules/terraform-google-kubernetes-engine/v5.0.0/helpers/migrate.py
31+
chmod +x migrate.py
32+
```
33+
34+
2. Execute the migration script
35+
36+
```
37+
./migrate.py
38+
```
39+
40+
Output will be similar to the following:
41+
```
42+
---- Migrating the following modules:
43+
-- module.gke-cluster-dev.module.gke
44+
---- Commands to run:
45+
terraform state mv -state terraform.tfstate "module.gke-cluster-dev.module.gke.google_container_cluster.zonal_primary[0]" "module.gke-cluster-dev.module.gke.google_container_cluster.primary[0]"
46+
terraform state mv "module.gke-cluster-dev.module.gke.google_container_node_pool.zonal_pools[0]" "module.gke-cluster-dev.module.gke.google_container_node_pool.pools[0]"
47+
```
48+
49+
3. Execute the provided state migration commands (backups are automatically created).
50+
51+
4. Run `terraform plan` to confirm no changes are expected.
52+
53+
### Service Account creation
54+
55+
Previously, if you explicitly specified a Service Account using the `service_account` variable on the module this was sufficient to force that Service Account to be used.
56+
57+
Now, an additional `create_service_account` has been added with a default value of `true`. If you would like to use an explicitly created Service Account from outside the module, you will need to set `create_service_account` to `false` (in addition to passing in the Service Account email).
58+
59+
No action is needed if you use the module's default service account.
60+
61+
```diff
62+
module "kubernetes_engine_private_cluster" {
63+
source = "terraform-google-modules/kubernetes-engine/google"
64+
- version = "~> 4.0"
65+
+ version = "~> 5.0"
66+
67+
service_account = "[email protected]"
68+
+ create_service_account = true
69+
# ...
70+
}
71+
```

0 commit comments

Comments
 (0)