Skip to content

Commit e459f92

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

File tree

2 files changed

+43
-6
lines changed

2 files changed

+43
-6
lines changed

google/services/container/node_config.go

+19-5
Original file line numberDiff line numberDiff line change
@@ -830,11 +830,25 @@ func expandNodeConfig(v interface{}) *container.NodeConfig {
830830
}
831831

832832
if v, ok := nodeConfig["secondary_boot_disks"]; ok && len(v.([]interface{})) > 0 {
833-
conf := v.([]interface{})[0].(map[string]interface{})
834-
nc.SecondaryBootDisks = append(nc.SecondaryBootDisks, &container.SecondaryBootDisk{
835-
DiskImage: conf["disk_image"].(string),
836-
Mode: conf["mode"].(string),
837-
})
833+
conf, confOK := v.([]interface{})[0].(map[string]interface{})
834+
if confOK {
835+
modeValue, modeOK := conf["mode"]
836+
diskImage := conf["disk_image"].(string)
837+
if modeOK {
838+
nc.SecondaryBootDisks = append(nc.SecondaryBootDisks, &container.SecondaryBootDisk{
839+
DiskImage: diskImage,
840+
Mode: modeValue.(string),
841+
})
842+
} else {
843+
nc.SecondaryBootDisks = append(nc.SecondaryBootDisks, &container.SecondaryBootDisk{
844+
DiskImage: diskImage,
845+
})
846+
}
847+
} else {
848+
nc.SecondaryBootDisks = append(nc.SecondaryBootDisks, &container.SecondaryBootDisk{
849+
DiskImage: "",
850+
})
851+
}
838852
}
839853

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

google/services/container/resource_container_node_pool_test.go

+24-1
Original file line numberDiff line numberDiff line change
@@ -1516,6 +1516,11 @@ func TestAccContainerNodePool_secondaryBootDisks(t *testing.T) {
15161516
ImportState: true,
15171517
ImportStateVerify: true,
15181518
},
1519+
{
1520+
ResourceName: "google_container_node_pool.np-no-mode",
1521+
ImportState: true,
1522+
ImportStateVerify: true,
1523+
},
15191524
},
15201525
})
15211526
}
@@ -1550,7 +1555,25 @@ resource "google_container_node_pool" "np" {
15501555
}
15511556
}
15521557
}
1553-
`, cluster, networkName, subnetworkName, np)
1558+
1559+
resource "google_container_node_pool" "np-no-mode" {
1560+
name = "%s-no-mode"
1561+
location = "us-central1-a"
1562+
cluster = google_container_cluster.cluster.name
1563+
initial_node_count = 1
1564+
1565+
node_config {
1566+
machine_type = "n1-standard-8"
1567+
image_type = "COS_CONTAINERD"
1568+
gcfs_config {
1569+
enabled = true
1570+
}
1571+
secondary_boot_disks {
1572+
disk_image = ""
1573+
}
1574+
}
1575+
}
1576+
`, cluster, networkName, subnetworkName, np, np)
15541577
}
15551578

15561579
func TestAccContainerNodePool_gcfsConfig(t *testing.T) {

0 commit comments

Comments
 (0)