Skip to content

Commit 687703b

Browse files
committed
Refactor/flatten duplicate resources #161
Collapsed regional and zonal clusters into one cluster with location attribute instead usage of count, zones and regions. Selection of latest nodes and master version same both for regional and zonal/multi-zonal clusters. For Master version in case or regional cluster following code check latest version by location (region), and for zonal, location is var.zone[0]: latest_master_version = data.google_container_engine_versions.master.latest_master_version For Node version in case of regional cluster used latest master version of first of available zones, and in case of zonal cluster - latest master version of var.zones[0] zone location = local.zone_count == 0 ? data.google_compute_zones.available.names[0] : var.zones[0] Fixes #161
1 parent ed58124 commit 687703b

40 files changed

+1113
-2715
lines changed

Makefile

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ DOCKER_REPO_BASE_KITCHEN_TERRAFORM := ${DOCKER_ORG}/cft/kitchen-terraform:${DOCK
2626
all: check generate_docs
2727

2828
.PHONY: check
29-
check: check_shell check_python check_golang check_terraform check_docker check_base_files test_check_headers check_headers check_trailing_whitespace check_generate check_generate_docs
29+
check: check_shell check_python check_golang check_terraform check_base_files test_check_headers check_headers check_trailing_whitespace check_generate check_generate_docs
3030

3131
# The .PHONY directive tells make that this isn't a real target and so
3232
# the presence of a file named 'check_shell' won't cause this target to stop
@@ -47,10 +47,6 @@ check_golang:
4747
check_terraform:
4848
@source test/make.sh && check_terraform
4949

50-
.PHONY: check_docker
51-
check_docker:
52-
@source test/make.sh && docker
53-
5450
.PHONY: check_base_files
5551
check_base_files:
5652
@source test/make.sh && basefiles

autogen/cluster_regional.tf renamed to autogen/cluster.tf

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
{{ autogeneration_note }}
1818

1919
/******************************************
20-
Create regional cluster
20+
Create Container Cluster
2121
*****************************************/
2222
resource "google_container_cluster" "primary" {
2323
{% if private_cluster or beta_cluster %}
@@ -26,18 +26,13 @@ resource "google_container_cluster" "primary" {
2626
provider = google
2727
{% endif %}
2828

29-
count = var.regional ? 1 : 0
3029
name = var.name
3130
description = var.description
3231
project = var.project_id
3332
resource_labels = var.cluster_resource_labels
3433

35-
region = var.region
36-
node_locations = coalescelist(
37-
compact(var.zones),
38-
sort(random_shuffle.available_zones.result),
39-
)
40-
34+
location = local.location
35+
node_locations = local.node_locations
4136
cluster_ipv4_cidr = var.cluster_ipv4_cidr
4237
network = data.google_compute_network.gke_network.self_link
4338

@@ -51,7 +46,7 @@ resource "google_container_cluster" "primary" {
5146
}
5247

5348
subnetwork = data.google_compute_subnetwork.gke_subnetwork.self_link
54-
min_master_version = local.kubernetes_version_regional
49+
min_master_version = local.master_version
5550

5651
logging_service = var.logging_service
5752
monitoring_service = var.monitoring_service
@@ -173,8 +168,8 @@ resource "google_container_cluster" "primary" {
173168
enable_private_nodes = var.enable_private_nodes
174169
master_ipv4_cidr_block = var.master_ipv4_cidr_block
175170
}
176-
177171
{% endif %}
172+
178173
remove_default_node_pool = var.remove_default_node_pool
179174
{% if beta_cluster %}
180175

@@ -190,19 +185,19 @@ resource "google_container_cluster" "primary" {
190185
}
191186

192187
/******************************************
193-
Create regional node pools
188+
Create Container Cluster node pools
194189
*****************************************/
195190
resource "google_container_node_pool" "pools" {
196191
provider = google-beta
197-
count = var.regional ? length(var.node_pools) : 0
192+
count = length(var.node_pools)
198193
name = var.node_pools[count.index]["name"]
199194
project = var.project_id
200-
region = var.region
201-
cluster = google_container_cluster.primary[0].name
195+
location = local.location
196+
cluster = google_container_cluster.primary.name
202197
version = lookup(var.node_pools[count.index], "auto_upgrade", false) ? "" : lookup(
203198
var.node_pools[count.index],
204199
"version",
205-
local.node_version_regional,
200+
local.node_version,
206201
)
207202
initial_node_count = lookup(
208203
var.node_pools[count.index],
@@ -220,7 +215,7 @@ resource "google_container_node_pool" "pools" {
220215

221216
management {
222217
auto_repair = lookup(var.node_pools[count.index], "auto_repair", true)
223-
auto_upgrade = lookup(var.node_pools[count.index], "auto_upgrade", true)
218+
auto_upgrade = lookup(var.node_pools[count.index], "auto_upgrade", local.default_auto_upgrade)
224219
}
225220

226221
node_config {
@@ -278,7 +273,7 @@ resource "google_container_node_pool" "pools" {
278273

279274
oauth_scopes = concat(
280275
var.node_pools_oauth_scopes["all"],
281-
var.node_pools_oauth_scopes[var.node_pools[count.index]["name"]]
276+
var.node_pools_oauth_scopes[var.node_pools[count.index]["name"]],
282277
)
283278

284279
guest_accelerator = [
@@ -313,8 +308,7 @@ resource "google_container_node_pool" "pools" {
313308
}
314309
}
315310

316-
resource "null_resource" "wait_for_regional_cluster" {
317-
count = var.regional ? 1 : 0
311+
resource "null_resource" "wait_for_cluster" {
318312

319313
provisioner "local-exec" {
320314
command = "${path.module}/scripts/wait-for-cluster.sh ${var.project_id} ${var.name}"

0 commit comments

Comments
 (0)