Skip to content

Commit aa25c39

Browse files
feat(google_container_node_pool): Handle nil mode in secondary boot disk. (#10854) (#7460)
[upstream:042ce9a6893952685b18d666959ab533d0763420] Signed-off-by: Modular Magician <[email protected]>
1 parent df125cf commit aa25c39

File tree

2 files changed

+43
-6
lines changed

2 files changed

+43
-6
lines changed

google-beta/services/container/node_config.go

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -881,11 +881,25 @@ func expandNodeConfig(v interface{}) *container.NodeConfig {
881881
}
882882

883883
if v, ok := nodeConfig["secondary_boot_disks"]; ok && len(v.([]interface{})) > 0 {
884-
conf := v.([]interface{})[0].(map[string]interface{})
885-
nc.SecondaryBootDisks = append(nc.SecondaryBootDisks, &container.SecondaryBootDisk{
886-
DiskImage: conf["disk_image"].(string),
887-
Mode: conf["mode"].(string),
888-
})
884+
conf, confOK := v.([]interface{})[0].(map[string]interface{})
885+
if confOK {
886+
modeValue, modeOK := conf["mode"]
887+
diskImage := conf["disk_image"].(string)
888+
if modeOK {
889+
nc.SecondaryBootDisks = append(nc.SecondaryBootDisks, &container.SecondaryBootDisk{
890+
DiskImage: diskImage,
891+
Mode: modeValue.(string),
892+
})
893+
} else {
894+
nc.SecondaryBootDisks = append(nc.SecondaryBootDisks, &container.SecondaryBootDisk{
895+
DiskImage: diskImage,
896+
})
897+
}
898+
} else {
899+
nc.SecondaryBootDisks = append(nc.SecondaryBootDisks, &container.SecondaryBootDisk{
900+
DiskImage: "",
901+
})
902+
}
889903
}
890904

891905
if v, ok := nodeConfig["gcfs_config"]; ok && len(v.([]interface{})) > 0 {

google-beta/services/container/resource_container_node_pool_test.go

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1654,6 +1654,11 @@ func TestAccContainerNodePool_secondaryBootDisks(t *testing.T) {
16541654
ImportState: true,
16551655
ImportStateVerify: true,
16561656
},
1657+
{
1658+
ResourceName: "google_container_node_pool.np-no-mode",
1659+
ImportState: true,
1660+
ImportStateVerify: true,
1661+
},
16571662
},
16581663
})
16591664
}
@@ -1688,7 +1693,25 @@ resource "google_container_node_pool" "np" {
16881693
}
16891694
}
16901695
}
1691-
`, cluster, networkName, subnetworkName, np)
1696+
1697+
resource "google_container_node_pool" "np-no-mode" {
1698+
name = "%s-no-mode"
1699+
location = "us-central1-a"
1700+
cluster = google_container_cluster.cluster.name
1701+
initial_node_count = 1
1702+
1703+
node_config {
1704+
machine_type = "n1-standard-8"
1705+
image_type = "COS_CONTAINERD"
1706+
gcfs_config {
1707+
enabled = true
1708+
}
1709+
secondary_boot_disks {
1710+
disk_image = ""
1711+
}
1712+
}
1713+
}
1714+
`, cluster, networkName, subnetworkName, np, np)
16921715
}
16931716

16941717
func TestAccContainerNodePool_gcfsConfig(t *testing.T) {

0 commit comments

Comments
 (0)