Skip to content

Commit 2971b87

Browse files
dominykasniyabchen
authored andcommitted
feat: Remove force replacement from gcfs_config (GoogleCloudPlatform#11553)
1 parent 0718d4a commit 2971b87

6 files changed

+70
-65
lines changed

mmv1/third_party/terraform/services/container/go/node_config.go.tmpl

+2-3
Original file line numberDiff line numberDiff line change
@@ -99,13 +99,12 @@ func schemaLoggingVariant() *schema.Schema {
9999
}
100100
}
101101

102-
func schemaGcfsConfig(forceNew bool) *schema.Schema {
102+
func schemaGcfsConfig() *schema.Schema {
103103
return &schema.Schema{
104104
Type: schema.TypeList,
105105
Optional: true,
106106
MaxItems: 1,
107107
Description: `GCFS configuration for this node.`,
108-
ForceNew: forceNew,
109108
Elem: &schema.Resource{
110109
Schema: map[string]*schema.Schema{
111110
"enabled": {
@@ -339,7 +338,7 @@ func schemaNodeConfig() *schema.Schema {
339338
},
340339
},
341340

342-
"gcfs_config": schemaGcfsConfig(true),
341+
"gcfs_config": schemaGcfsConfig(),
343342

344343
"gvnic": {
345344
Type: schema.TypeList,

mmv1/third_party/terraform/services/container/go/resource_container_cluster.go.tmpl

+1-1
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ func clusterSchemaNodePoolDefaults() *schema.Schema {
159159
Schema: map[string]*schema.Schema{
160160
"containerd_config": schemaContainerdConfig(),
161161
{{- if ne $.TargetVersionName "ga" }}
162-
"gcfs_config": schemaGcfsConfig(false),
162+
"gcfs_config": schemaGcfsConfig(),
163163
{{- end }}
164164
"insecure_kubelet_readonly_port_enabled": schemaInsecureKubeletReadonlyPortEnabled(),
165165
"logging_variant": schemaLoggingVariant(),

mmv1/third_party/terraform/services/container/go/resource_container_node_pool_test.go.tmpl

+32-28
Original file line numberDiff line numberDiff line change
@@ -1718,7 +1718,11 @@ func TestAccContainerNodePool_gcfsConfig(t *testing.T) {
17181718
CheckDestroy: testAccCheckContainerNodePoolDestroyProducer(t),
17191719
Steps: []resource.TestStep{
17201720
{
1721-
Config: testAccContainerNodePool_gcfsConfig(cluster, np, networkName, subnetworkName),
1721+
Config: testAccContainerNodePool_gcfsConfig(cluster, np, networkName, subnetworkName, true),
1722+
Check: resource.ComposeTestCheckFunc(
1723+
resource.TestCheckResourceAttr("google_container_node_pool.np",
1724+
"node_config.0.gcfs_config.0.enabled", "true"),
1725+
),
17221726
},
17231727
{
17241728
ResourceName: "google_container_node_pool.np",
@@ -1729,7 +1733,7 @@ func TestAccContainerNodePool_gcfsConfig(t *testing.T) {
17291733
})
17301734
}
17311735

1732-
func testAccContainerNodePool_gcfsConfig(cluster, np, networkName, subnetworkName string) string {
1736+
func testAccContainerNodePool_gcfsConfig(cluster, np, networkName, subnetworkName string, enabled bool) string {
17331737
return fmt.Sprintf(`
17341738
resource "google_container_cluster" "cluster" {
17351739
name = "%s"
@@ -1750,11 +1754,11 @@ resource "google_container_node_pool" "np" {
17501754
machine_type = "n1-standard-8"
17511755
image_type = "COS_CONTAINERD"
17521756
gcfs_config {
1753-
enabled = true
1757+
enabled = %t
17541758
}
17551759
}
17561760
}
1757-
`, cluster, networkName, subnetworkName, np)
1761+
`, cluster, networkName, subnetworkName, np, enabled)
17581762
}
17591763

17601764
func TestAccContainerNodePool_gvnic(t *testing.T) {
@@ -4734,30 +4738,30 @@ func TestAccContainerNodePool_privateRegistry(t *testing.T) {
47344738

47354739
func testAccContainerNodePool_privateRegistryEnabled(secretID, cluster, nodepool, network, subnetwork string) string {
47364740
return fmt.Sprintf(`
4737-
data "google_project" "test_project" {
4741+
data "google_project" "test_project" {
4742+
}
4743+
4744+
resource "google_secret_manager_secret" "secret-basic" {
4745+
secret_id = "%s"
4746+
replication {
4747+
user_managed {
4748+
replicas {
4749+
location = "us-central1"
4750+
}
4751+
}
47384752
}
4753+
}
47394754

4740-
resource "google_secret_manager_secret" "secret-basic" {
4741-
secret_id = "%s"
4742-
replication {
4743-
user_managed {
4744-
replicas {
4745-
location = "us-central1"
4746-
}
4747-
}
4748-
}
4749-
}
4750-
4751-
resource "google_secret_manager_secret_version" "secret-version-basic" {
4752-
secret = google_secret_manager_secret.secret-basic.id
4753-
secret_data = "dummypassword"
4754-
}
4755-
4756-
resource "google_secret_manager_secret_iam_member" "secret_iam" {
4757-
secret_id = google_secret_manager_secret.secret-basic.id
4758-
role = "roles/secretmanager.admin"
4759-
member = "serviceAccount:${data.google_project.test_project.number}[email protected]"
4760-
depends_on = [google_secret_manager_secret_version.secret-version-basic]
4755+
resource "google_secret_manager_secret_version" "secret-version-basic" {
4756+
secret = google_secret_manager_secret.secret-basic.id
4757+
secret_data = "dummypassword"
4758+
}
4759+
4760+
resource "google_secret_manager_secret_iam_member" "secret_iam" {
4761+
secret_id = google_secret_manager_secret.secret-basic.id
4762+
role = "roles/secretmanager.admin"
4763+
member = "serviceAccount:${data.google_project.test_project.number}[email protected]"
4764+
depends_on = [google_secret_manager_secret_version.secret-version-basic]
47614765
}
47624766

47634767
resource "google_container_cluster" "cluster" {
@@ -4768,13 +4772,13 @@ resource "google_container_cluster" "cluster" {
47684772
network = "%s"
47694773
subnetwork = "%s"
47704774
}
4771-
4775+
47724776
resource "google_container_node_pool" "np" {
47734777
name = "%s"
47744778
location = "us-central1-a"
47754779
cluster = google_container_cluster.cluster.name
47764780
initial_node_count = 1
4777-
4781+
47784782
node_config {
47794783
oauth_scopes = [
47804784
"https://www.googleapis.com/auth/cloud-platform",

mmv1/third_party/terraform/services/container/node_config.go.erb

+2-4
Original file line numberDiff line numberDiff line change
@@ -100,19 +100,17 @@ func schemaLoggingVariant() *schema.Schema {
100100
}
101101
}
102102

103-
func schemaGcfsConfig(forceNew bool) *schema.Schema {
103+
func schemaGcfsConfig() *schema.Schema {
104104
return &schema.Schema{
105105
Type: schema.TypeList,
106106
Optional: true,
107107
MaxItems: 1,
108108
Description: `GCFS configuration for this node.`,
109-
ForceNew: forceNew,
110109
Elem: &schema.Resource{
111110
Schema: map[string]*schema.Schema{
112111
"enabled": {
113112
Type: schema.TypeBool,
114113
Required: true,
115-
ForceNew: forceNew,
116114
Description: `Whether or not GCFS is enabled`,
117115
},
118116
},
@@ -340,7 +338,7 @@ func schemaNodeConfig() *schema.Schema {
340338
},
341339
},
342340

343-
"gcfs_config": schemaGcfsConfig(true),
341+
"gcfs_config": schemaGcfsConfig(),
344342

345343
"gvnic": {
346344
Type: schema.TypeList,

mmv1/third_party/terraform/services/container/resource_container_cluster.go.erb

+1-1
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ func clusterSchemaNodePoolDefaults() *schema.Schema {
160160
Schema: map[string]*schema.Schema{
161161
"containerd_config": schemaContainerdConfig(),
162162
<% unless version == 'ga' -%>
163-
"gcfs_config": schemaGcfsConfig(false),
163+
"gcfs_config": schemaGcfsConfig(),
164164
<% end -%>
165165
"insecure_kubelet_readonly_port_enabled": schemaInsecureKubeletReadonlyPortEnabled(),
166166
"logging_variant": schemaLoggingVariant(),

mmv1/third_party/terraform/services/container/resource_container_node_pool_test.go.erb

+32-28
Original file line numberDiff line numberDiff line change
@@ -1719,7 +1719,11 @@ func TestAccContainerNodePool_gcfsConfig(t *testing.T) {
17191719
CheckDestroy: testAccCheckContainerNodePoolDestroyProducer(t),
17201720
Steps: []resource.TestStep{
17211721
{
1722-
Config: testAccContainerNodePool_gcfsConfig(cluster, np, networkName, subnetworkName),
1722+
Config: testAccContainerNodePool_gcfsConfig(cluster, np, networkName, subnetworkName, true),
1723+
Check: resource.ComposeTestCheckFunc(
1724+
resource.TestCheckResourceAttr("google_container_node_pool.np",
1725+
"node_config.0.gcfs_config.0.enabled", "true"),
1726+
),
17231727
},
17241728
{
17251729
ResourceName: "google_container_node_pool.np",
@@ -1730,7 +1734,7 @@ func TestAccContainerNodePool_gcfsConfig(t *testing.T) {
17301734
})
17311735
}
17321736

1733-
func testAccContainerNodePool_gcfsConfig(cluster, np, networkName, subnetworkName string) string {
1737+
func testAccContainerNodePool_gcfsConfig(cluster, np, networkName, subnetworkName string, enabled bool) string {
17341738
return fmt.Sprintf(`
17351739
resource "google_container_cluster" "cluster" {
17361740
name = "%s"
@@ -1751,11 +1755,11 @@ resource "google_container_node_pool" "np" {
17511755
machine_type = "n1-standard-8"
17521756
image_type = "COS_CONTAINERD"
17531757
gcfs_config {
1754-
enabled = true
1758+
enabled = %t
17551759
}
17561760
}
17571761
}
1758-
`, cluster, networkName, subnetworkName, np)
1762+
`, cluster, networkName, subnetworkName, np, enabled)
17591763
}
17601764

17611765
func TestAccContainerNodePool_gvnic(t *testing.T) {
@@ -4735,30 +4739,30 @@ func TestAccContainerNodePool_privateRegistry(t *testing.T) {
47354739

47364740
func testAccContainerNodePool_privateRegistryEnabled(secretID, cluster, nodepool, network, subnetwork string) string {
47374741
return fmt.Sprintf(`
4738-
data "google_project" "test_project" {
4742+
data "google_project" "test_project" {
4743+
}
4744+
4745+
resource "google_secret_manager_secret" "secret-basic" {
4746+
secret_id = "%s"
4747+
replication {
4748+
user_managed {
4749+
replicas {
4750+
location = "us-central1"
4751+
}
4752+
}
47394753
}
4754+
}
47404755

4741-
resource "google_secret_manager_secret" "secret-basic" {
4742-
secret_id = "%s"
4743-
replication {
4744-
user_managed {
4745-
replicas {
4746-
location = "us-central1"
4747-
}
4748-
}
4749-
}
4750-
}
4751-
4752-
resource "google_secret_manager_secret_version" "secret-version-basic" {
4753-
secret = google_secret_manager_secret.secret-basic.id
4754-
secret_data = "dummypassword"
4755-
}
4756-
4757-
resource "google_secret_manager_secret_iam_member" "secret_iam" {
4758-
secret_id = google_secret_manager_secret.secret-basic.id
4759-
role = "roles/secretmanager.admin"
4760-
member = "serviceAccount:${data.google_project.test_project.number}[email protected]"
4761-
depends_on = [google_secret_manager_secret_version.secret-version-basic]
4756+
resource "google_secret_manager_secret_version" "secret-version-basic" {
4757+
secret = google_secret_manager_secret.secret-basic.id
4758+
secret_data = "dummypassword"
4759+
}
4760+
4761+
resource "google_secret_manager_secret_iam_member" "secret_iam" {
4762+
secret_id = google_secret_manager_secret.secret-basic.id
4763+
role = "roles/secretmanager.admin"
4764+
member = "serviceAccount:${data.google_project.test_project.number}[email protected]"
4765+
depends_on = [google_secret_manager_secret_version.secret-version-basic]
47624766
}
47634767

47644768
resource "google_container_cluster" "cluster" {
@@ -4769,13 +4773,13 @@ resource "google_container_cluster" "cluster" {
47694773
network = "%s"
47704774
subnetwork = "%s"
47714775
}
4772-
4776+
47734777
resource "google_container_node_pool" "np" {
47744778
name = "%s"
47754779
location = "us-central1-a"
47764780
cluster = google_container_cluster.cluster.name
47774781
initial_node_count = 1
4778-
4782+
47794783
node_config {
47804784
oauth_scopes = [
47814785
"https://www.googleapis.com/auth/cloud-platform",

0 commit comments

Comments
 (0)