From e27b9f2bc32588e13413ed0ec3f9e6b4f7829753 Mon Sep 17 00:00:00 2001 From: Shuya Ma <87669292+shuyama1@users.noreply.github.com> Date: Thu, 19 Sep 2024 14:14:51 -0700 Subject: [PATCH] Do not force send insecure_kubelet_readonly_port_enabled during creation (#11688) --- .../services/container/node_config.go.erb | 1 - .../resource_container_cluster_test.go.erb | 45 +++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/mmv1/third_party/terraform/services/container/node_config.go.erb b/mmv1/third_party/terraform/services/container/node_config.go.erb index 6e7baca5ea8d..75a9e3f6a83b 100644 --- a/mmv1/third_party/terraform/services/container/node_config.go.erb +++ b/mmv1/third_party/terraform/services/container/node_config.go.erb @@ -836,7 +836,6 @@ func expandNodeConfigDefaults(configured interface{}) *container.NodeConfigDefau if v, ok := config["insecure_kubelet_readonly_port_enabled"]; ok { nodeConfigDefaults.NodeKubeletConfig = &container.NodeKubeletConfig{ InsecureKubeletReadonlyPortEnabled: expandInsecureKubeletReadonlyPortEnabled(v), - ForceSendFields: []string{"InsecureKubeletReadonlyPortEnabled"}, } } if variant, ok := config["logging_variant"]; ok { diff --git a/mmv1/third_party/terraform/services/container/resource_container_cluster_test.go.erb b/mmv1/third_party/terraform/services/container/resource_container_cluster_test.go.erb index 3388dba3af02..374795918edd 100644 --- a/mmv1/third_party/terraform/services/container/resource_container_cluster_test.go.erb +++ b/mmv1/third_party/terraform/services/container/resource_container_cluster_test.go.erb @@ -3370,6 +3370,32 @@ func TestAccContainerCluster_withAutopilotKubeletConfig(t *testing.T) { }) } +func TestAccContainerCluster_withAutopilot_withNodePoolDefaults(t *testing.T) { + t.Parallel() + + randomSuffix := acctest.RandString(t, 10) + clusterName := fmt.Sprintf("tf-test-cluster-%s", randomSuffix) + networkName := acctest.BootstrapSharedTestNetwork(t, "gke-cluster") + subnetworkName := acctest.BootstrapSubnet(t, "gke-cluster", networkName) + + acctest.VcrTest(t, resource.TestCase{ + PreCheck: func() { acctest.AccTestPreCheck(t) }, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t), + CheckDestroy: testAccCheckContainerClusterDestroyProducer(t), + Steps: []resource.TestStep{ + { + Config: testAccContainerCluster_withAutopilot_withNodePoolDefaults(clusterName, networkName, subnetworkName), + }, + { + ResourceName: "google_container_cluster.primary", + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{"deletion_protection"}, + }, + }, + }) +} + func TestAccContainerCluster_withAutopilotResourceManagerTags(t *testing.T) { t.Parallel() @@ -10710,6 +10736,25 @@ func testAccContainerCluster_withAutopilotKubeletConfigUpdates(name, insecureKub `, name, insecureKubeletReadonlyPortEnabled) } +func testAccContainerCluster_withAutopilot_withNodePoolDefaults(name, networkName, subnetworkName string) string { + return fmt.Sprintf(` +resource "google_container_cluster" "primary" { + name = "%s" + location = "us-central1" + enable_autopilot = true + + node_pool_defaults { + node_config_defaults { + } + } + + deletion_protection = false + network = "%s" + subnetwork = "%s" + } +`, name, networkName, subnetworkName) +} + func testAccContainerCluster_resourceManagerTags(projectID, clusterName, networkName, subnetworkName, randomSuffix string) string { return fmt.Sprintf(` data "google_project" "project" {