From 81686e7ffb98da59c756691351db1e8ae158c218 Mon Sep 17 00:00:00 2001 From: Bharath KKB Date: Tue, 17 May 2022 16:35:40 -0500 Subject: [PATCH] fix: convert gcfs_config to dynamic block to prevent node pool recreation --- autogen/main/cluster.tf.tmpl | 14 ++++++++++---- cluster.tf | 14 ++++++++++---- .../beta-private-cluster-update-variant/cluster.tf | 14 ++++++++++---- modules/beta-private-cluster/cluster.tf | 14 ++++++++++---- .../beta-public-cluster-update-variant/cluster.tf | 14 ++++++++++---- modules/beta-public-cluster/cluster.tf | 14 ++++++++++---- modules/private-cluster-update-variant/cluster.tf | 14 ++++++++++---- modules/private-cluster/cluster.tf | 14 ++++++++++---- 8 files changed, 80 insertions(+), 32 deletions(-) diff --git a/autogen/main/cluster.tf.tmpl b/autogen/main/cluster.tf.tmpl index ca4abd0a6..194a2481c 100644 --- a/autogen/main/cluster.tf.tmpl +++ b/autogen/main/cluster.tf.tmpl @@ -295,8 +295,11 @@ resource "google_container_cluster" "primary" { image_type = lookup(var.node_pools[0], "image_type", "COS_CONTAINERD") machine_type = lookup(var.node_pools[0], "machine_type", "e2-medium") min_cpu_platform = lookup(var.node_pools[0], "min_cpu_platform", "") - gcfs_config { - enabled = lookup(var.node_pools[0], "enable_gcfs", false) + dynamic "gcfs_config" { + for_each = lookup(var.node_pools[0], "enable_gcfs", false) ? [true] : [] + content { + enabled = gcfs_config.value + } } service_account = lookup(var.node_pools[0], "service_account", local.service_account) @@ -580,8 +583,11 @@ resource "google_container_node_pool" "pools" { image_type = lookup(each.value, "image_type", "COS_CONTAINERD") machine_type = lookup(each.value, "machine_type", "e2-medium") min_cpu_platform = lookup(each.value, "min_cpu_platform", "") - gcfs_config { - enabled = lookup(each.value, "enable_gcfs", false) + dynamic "gcfs_config" { + for_each = lookup(each.value, "enable_gcfs", false) ? [true] : [] + content { + enabled = gcfs_config.value + } } labels = merge( lookup(lookup(local.node_pools_labels, "default_values", {}), "cluster_name", true) ? { "cluster_name" = var.name } : {}, diff --git a/cluster.tf b/cluster.tf index 5951ecedc..22bdb5dec 100644 --- a/cluster.tf +++ b/cluster.tf @@ -146,8 +146,11 @@ resource "google_container_cluster" "primary" { image_type = lookup(var.node_pools[0], "image_type", "COS_CONTAINERD") machine_type = lookup(var.node_pools[0], "machine_type", "e2-medium") min_cpu_platform = lookup(var.node_pools[0], "min_cpu_platform", "") - gcfs_config { - enabled = lookup(var.node_pools[0], "enable_gcfs", false) + dynamic "gcfs_config" { + for_each = lookup(var.node_pools[0], "enable_gcfs", false) ? [true] : [] + content { + enabled = gcfs_config.value + } } service_account = lookup(var.node_pools[0], "service_account", local.service_account) @@ -269,8 +272,11 @@ resource "google_container_node_pool" "pools" { image_type = lookup(each.value, "image_type", "COS_CONTAINERD") machine_type = lookup(each.value, "machine_type", "e2-medium") min_cpu_platform = lookup(each.value, "min_cpu_platform", "") - gcfs_config { - enabled = lookup(each.value, "enable_gcfs", false) + dynamic "gcfs_config" { + for_each = lookup(each.value, "enable_gcfs", false) ? [true] : [] + content { + enabled = gcfs_config.value + } } labels = merge( lookup(lookup(local.node_pools_labels, "default_values", {}), "cluster_name", true) ? { "cluster_name" = var.name } : {}, diff --git a/modules/beta-private-cluster-update-variant/cluster.tf b/modules/beta-private-cluster-update-variant/cluster.tf index ec7e64d60..1fbc76055 100644 --- a/modules/beta-private-cluster-update-variant/cluster.tf +++ b/modules/beta-private-cluster-update-variant/cluster.tf @@ -252,8 +252,11 @@ resource "google_container_cluster" "primary" { image_type = lookup(var.node_pools[0], "image_type", "COS_CONTAINERD") machine_type = lookup(var.node_pools[0], "machine_type", "e2-medium") min_cpu_platform = lookup(var.node_pools[0], "min_cpu_platform", "") - gcfs_config { - enabled = lookup(var.node_pools[0], "enable_gcfs", false) + dynamic "gcfs_config" { + for_each = lookup(var.node_pools[0], "enable_gcfs", false) ? [true] : [] + content { + enabled = gcfs_config.value + } } service_account = lookup(var.node_pools[0], "service_account", local.service_account) @@ -505,8 +508,11 @@ resource "google_container_node_pool" "pools" { image_type = lookup(each.value, "image_type", "COS_CONTAINERD") machine_type = lookup(each.value, "machine_type", "e2-medium") min_cpu_platform = lookup(each.value, "min_cpu_platform", "") - gcfs_config { - enabled = lookup(each.value, "enable_gcfs", false) + dynamic "gcfs_config" { + for_each = lookup(each.value, "enable_gcfs", false) ? [true] : [] + content { + enabled = gcfs_config.value + } } labels = merge( lookup(lookup(local.node_pools_labels, "default_values", {}), "cluster_name", true) ? { "cluster_name" = var.name } : {}, diff --git a/modules/beta-private-cluster/cluster.tf b/modules/beta-private-cluster/cluster.tf index 532551c2b..8934c7de0 100644 --- a/modules/beta-private-cluster/cluster.tf +++ b/modules/beta-private-cluster/cluster.tf @@ -252,8 +252,11 @@ resource "google_container_cluster" "primary" { image_type = lookup(var.node_pools[0], "image_type", "COS_CONTAINERD") machine_type = lookup(var.node_pools[0], "machine_type", "e2-medium") min_cpu_platform = lookup(var.node_pools[0], "min_cpu_platform", "") - gcfs_config { - enabled = lookup(var.node_pools[0], "enable_gcfs", false) + dynamic "gcfs_config" { + for_each = lookup(var.node_pools[0], "enable_gcfs", false) ? [true] : [] + content { + enabled = gcfs_config.value + } } service_account = lookup(var.node_pools[0], "service_account", local.service_account) @@ -418,8 +421,11 @@ resource "google_container_node_pool" "pools" { image_type = lookup(each.value, "image_type", "COS_CONTAINERD") machine_type = lookup(each.value, "machine_type", "e2-medium") min_cpu_platform = lookup(each.value, "min_cpu_platform", "") - gcfs_config { - enabled = lookup(each.value, "enable_gcfs", false) + dynamic "gcfs_config" { + for_each = lookup(each.value, "enable_gcfs", false) ? [true] : [] + content { + enabled = gcfs_config.value + } } labels = merge( lookup(lookup(local.node_pools_labels, "default_values", {}), "cluster_name", true) ? { "cluster_name" = var.name } : {}, diff --git a/modules/beta-public-cluster-update-variant/cluster.tf b/modules/beta-public-cluster-update-variant/cluster.tf index 964023171..465179207 100644 --- a/modules/beta-public-cluster-update-variant/cluster.tf +++ b/modules/beta-public-cluster-update-variant/cluster.tf @@ -252,8 +252,11 @@ resource "google_container_cluster" "primary" { image_type = lookup(var.node_pools[0], "image_type", "COS_CONTAINERD") machine_type = lookup(var.node_pools[0], "machine_type", "e2-medium") min_cpu_platform = lookup(var.node_pools[0], "min_cpu_platform", "") - gcfs_config { - enabled = lookup(var.node_pools[0], "enable_gcfs", false) + dynamic "gcfs_config" { + for_each = lookup(var.node_pools[0], "enable_gcfs", false) ? [true] : [] + content { + enabled = gcfs_config.value + } } service_account = lookup(var.node_pools[0], "service_account", local.service_account) @@ -486,8 +489,11 @@ resource "google_container_node_pool" "pools" { image_type = lookup(each.value, "image_type", "COS_CONTAINERD") machine_type = lookup(each.value, "machine_type", "e2-medium") min_cpu_platform = lookup(each.value, "min_cpu_platform", "") - gcfs_config { - enabled = lookup(each.value, "enable_gcfs", false) + dynamic "gcfs_config" { + for_each = lookup(each.value, "enable_gcfs", false) ? [true] : [] + content { + enabled = gcfs_config.value + } } labels = merge( lookup(lookup(local.node_pools_labels, "default_values", {}), "cluster_name", true) ? { "cluster_name" = var.name } : {}, diff --git a/modules/beta-public-cluster/cluster.tf b/modules/beta-public-cluster/cluster.tf index 53d9ac0b3..d8b97ae4e 100644 --- a/modules/beta-public-cluster/cluster.tf +++ b/modules/beta-public-cluster/cluster.tf @@ -252,8 +252,11 @@ resource "google_container_cluster" "primary" { image_type = lookup(var.node_pools[0], "image_type", "COS_CONTAINERD") machine_type = lookup(var.node_pools[0], "machine_type", "e2-medium") min_cpu_platform = lookup(var.node_pools[0], "min_cpu_platform", "") - gcfs_config { - enabled = lookup(var.node_pools[0], "enable_gcfs", false) + dynamic "gcfs_config" { + for_each = lookup(var.node_pools[0], "enable_gcfs", false) ? [true] : [] + content { + enabled = gcfs_config.value + } } service_account = lookup(var.node_pools[0], "service_account", local.service_account) @@ -399,8 +402,11 @@ resource "google_container_node_pool" "pools" { image_type = lookup(each.value, "image_type", "COS_CONTAINERD") machine_type = lookup(each.value, "machine_type", "e2-medium") min_cpu_platform = lookup(each.value, "min_cpu_platform", "") - gcfs_config { - enabled = lookup(each.value, "enable_gcfs", false) + dynamic "gcfs_config" { + for_each = lookup(each.value, "enable_gcfs", false) ? [true] : [] + content { + enabled = gcfs_config.value + } } labels = merge( lookup(lookup(local.node_pools_labels, "default_values", {}), "cluster_name", true) ? { "cluster_name" = var.name } : {}, diff --git a/modules/private-cluster-update-variant/cluster.tf b/modules/private-cluster-update-variant/cluster.tf index b51652d37..7eebf9a78 100644 --- a/modules/private-cluster-update-variant/cluster.tf +++ b/modules/private-cluster-update-variant/cluster.tf @@ -146,8 +146,11 @@ resource "google_container_cluster" "primary" { image_type = lookup(var.node_pools[0], "image_type", "COS_CONTAINERD") machine_type = lookup(var.node_pools[0], "machine_type", "e2-medium") min_cpu_platform = lookup(var.node_pools[0], "min_cpu_platform", "") - gcfs_config { - enabled = lookup(var.node_pools[0], "enable_gcfs", false) + dynamic "gcfs_config" { + for_each = lookup(var.node_pools[0], "enable_gcfs", false) ? [true] : [] + content { + enabled = gcfs_config.value + } } service_account = lookup(var.node_pools[0], "service_account", local.service_account) @@ -368,8 +371,11 @@ resource "google_container_node_pool" "pools" { image_type = lookup(each.value, "image_type", "COS_CONTAINERD") machine_type = lookup(each.value, "machine_type", "e2-medium") min_cpu_platform = lookup(each.value, "min_cpu_platform", "") - gcfs_config { - enabled = lookup(each.value, "enable_gcfs", false) + dynamic "gcfs_config" { + for_each = lookup(each.value, "enable_gcfs", false) ? [true] : [] + content { + enabled = gcfs_config.value + } } labels = merge( lookup(lookup(local.node_pools_labels, "default_values", {}), "cluster_name", true) ? { "cluster_name" = var.name } : {}, diff --git a/modules/private-cluster/cluster.tf b/modules/private-cluster/cluster.tf index 5b8fce6f6..3c90186dd 100644 --- a/modules/private-cluster/cluster.tf +++ b/modules/private-cluster/cluster.tf @@ -146,8 +146,11 @@ resource "google_container_cluster" "primary" { image_type = lookup(var.node_pools[0], "image_type", "COS_CONTAINERD") machine_type = lookup(var.node_pools[0], "machine_type", "e2-medium") min_cpu_platform = lookup(var.node_pools[0], "min_cpu_platform", "") - gcfs_config { - enabled = lookup(var.node_pools[0], "enable_gcfs", false) + dynamic "gcfs_config" { + for_each = lookup(var.node_pools[0], "enable_gcfs", false) ? [true] : [] + content { + enabled = gcfs_config.value + } } service_account = lookup(var.node_pools[0], "service_account", local.service_account) @@ -282,8 +285,11 @@ resource "google_container_node_pool" "pools" { image_type = lookup(each.value, "image_type", "COS_CONTAINERD") machine_type = lookup(each.value, "machine_type", "e2-medium") min_cpu_platform = lookup(each.value, "min_cpu_platform", "") - gcfs_config { - enabled = lookup(each.value, "enable_gcfs", false) + dynamic "gcfs_config" { + for_each = lookup(each.value, "enable_gcfs", false) ? [true] : [] + content { + enabled = gcfs_config.value + } } labels = merge( lookup(lookup(local.node_pools_labels, "default_values", {}), "cluster_name", true) ? { "cluster_name" = var.name } : {},