diff --git a/tests/integration/update_cluster/ha_gce/kubernetes.tf b/tests/integration/update_cluster/ha_gce/kubernetes.tf index ee6b9704ac..58d95f90b3 100644 --- a/tests/integration/update_cluster/ha_gce/kubernetes.tf +++ b/tests/integration/update_cluster/ha_gce/kubernetes.tf @@ -26,6 +26,12 @@ resource "google_compute_disk" "d1-etcd-events-ha-gce-example-com" { type = "pd-ssd" size = 20 zone = "us-test1-a" + + labels = { + k8s-io-cluster-name = "ha-gce-example-com" + k8s-io-etcd-events = "1-2f1-2c2-2c3" + k8s-io-role-master = "master" + } } resource "google_compute_disk" "d1-etcd-main-ha-gce-example-com" { @@ -33,6 +39,12 @@ resource "google_compute_disk" "d1-etcd-main-ha-gce-example-com" { type = "pd-ssd" size = 20 zone = "us-test1-a" + + labels = { + k8s-io-cluster-name = "ha-gce-example-com" + k8s-io-etcd-main = "1-2f1-2c2-2c3" + k8s-io-role-master = "master" + } } resource "google_compute_disk" "d2-etcd-events-ha-gce-example-com" { @@ -40,6 +52,12 @@ resource "google_compute_disk" "d2-etcd-events-ha-gce-example-com" { type = "pd-ssd" size = 20 zone = "us-test1-b" + + labels = { + k8s-io-cluster-name = "ha-gce-example-com" + k8s-io-etcd-events = "2-2f1-2c2-2c3" + k8s-io-role-master = "master" + } } resource "google_compute_disk" "d2-etcd-main-ha-gce-example-com" { @@ -47,6 +65,12 @@ resource "google_compute_disk" "d2-etcd-main-ha-gce-example-com" { type = "pd-ssd" size = 20 zone = "us-test1-b" + + labels = { + k8s-io-cluster-name = "ha-gce-example-com" + k8s-io-etcd-main = "2-2f1-2c2-2c3" + k8s-io-role-master = "master" + } } resource "google_compute_disk" "d3-etcd-events-ha-gce-example-com" { @@ -54,6 +78,12 @@ resource "google_compute_disk" "d3-etcd-events-ha-gce-example-com" { type = "pd-ssd" size = 20 zone = "us-test1-c" + + labels = { + k8s-io-cluster-name = "ha-gce-example-com" + k8s-io-etcd-events = "3-2f1-2c2-2c3" + k8s-io-role-master = "master" + } } resource "google_compute_disk" "d3-etcd-main-ha-gce-example-com" { @@ -61,6 +91,12 @@ resource "google_compute_disk" "d3-etcd-main-ha-gce-example-com" { type = "pd-ssd" size = 20 zone = "us-test1-c" + + labels = { + k8s-io-cluster-name = "ha-gce-example-com" + k8s-io-etcd-main = "3-2f1-2c2-2c3" + k8s-io-role-master = "master" + } } resource "google_compute_firewall" "cidr-to-master-ha-gce-example-com" { diff --git a/upup/pkg/fi/cloudup/gcetasks/disk.go b/upup/pkg/fi/cloudup/gcetasks/disk.go index f5bac9766a..010ba07c1c 100644 --- a/upup/pkg/fi/cloudup/gcetasks/disk.go +++ b/upup/pkg/fi/cloudup/gcetasks/disk.go @@ -165,18 +165,30 @@ func (_ *Disk) RenderGCE(t *gce.GCEAPITarget, a, e, changes *Disk) error { } type terraformDisk struct { - Name *string `json:"name"` - VolumeType *string `json:"type"` - SizeGB *int64 `json:"size"` - Zone *string `json:"zone"` + Name *string `json:"name"` + VolumeType *string `json:"type"` + SizeGB *int64 `json:"size"` + Zone *string `json:"zone"` + Labels map[string]string `json:"labels,omitempty"` } func (_ *Disk) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *Disk) error { + cloud := t.Cloud.(gce.GCECloud) + + labels := make(map[string]string) + for k, v := range cloud.Labels() { + labels[k] = v + } + for k, v := range e.Labels { + labels[k] = v + } + tf := &terraformDisk{ Name: e.Name, VolumeType: e.VolumeType, SizeGB: e.SizeGB, Zone: e.Zone, + Labels: labels, } return t.RenderResource("google_compute_disk", *e.Name, tf) }