diff --git a/cluster-autoscaler/cloudprovider/gce/templates.go b/cluster-autoscaler/cloudprovider/gce/templates.go index 8d261e97b7..63a73a4ed3 100644 --- a/cluster-autoscaler/cloudprovider/gce/templates.go +++ b/cluster-autoscaler/cloudprovider/gce/templates.go @@ -37,6 +37,10 @@ import ( // GceTemplateBuilder builds templates for GCE nodes. type GceTemplateBuilder struct{} +// TODO: This should be imported from sigs.k8s.io/gcp-compute-persistent-disk-csi-driver/pkg/common/constants.go +// This key is applicable to both GCE and GKE +const gceCSITopologyKeyZone = "topology.gke.io/zone" + func (t *GceTemplateBuilder) getAcceleratorCount(accelerators []*gce.AcceleratorConfig) int64 { count := int64(0) for _, accelerator := range accelerators { @@ -180,12 +184,16 @@ func BuildGenericLabels(ref GceRef, machineType string, nodeName string) (map[st result[kubeletapis.LabelOS] = cloudprovider.DefaultOS result[apiv1.LabelInstanceType] = machineType + result[apiv1.LabelInstanceTypeStable] = machineType ix := strings.LastIndex(ref.Zone, "-") if ix == -1 { return nil, fmt.Errorf("unexpected zone: %s", ref.Zone) } result[apiv1.LabelZoneRegion] = ref.Zone[:ix] + result[apiv1.LabelZoneRegionStable] = ref.Zone[:ix] result[apiv1.LabelZoneFailureDomain] = ref.Zone + result[apiv1.LabelZoneFailureDomainStable] = ref.Zone + result[gceCSITopologyKeyZone] = ref.Zone result[apiv1.LabelHostname] = nodeName return result, nil } diff --git a/cluster-autoscaler/cloudprovider/gce/templates_test.go b/cluster-autoscaler/cloudprovider/gce/templates_test.go index e289dba5ec..ea0b05a782 100644 --- a/cluster-autoscaler/cloudprovider/gce/templates_test.go +++ b/cluster-autoscaler/cloudprovider/gce/templates_test.go @@ -134,7 +134,10 @@ func TestBuildGenericLabels(t *testing.T) { "n1-standard-8", "sillyname") assert.Nil(t, err) assert.Equal(t, "us-central1", labels[apiv1.LabelZoneRegion]) + assert.Equal(t, "us-central1", labels[apiv1.LabelZoneRegionStable]) assert.Equal(t, "us-central1-b", labels[apiv1.LabelZoneFailureDomain]) + assert.Equal(t, "us-central1-b", labels[apiv1.LabelZoneFailureDomainStable]) + assert.Equal(t, "us-central1-b", labels[gceCSITopologyKeyZone]) assert.Equal(t, "sillyname", labels[apiv1.LabelHostname]) assert.Equal(t, "n1-standard-8", labels[apiv1.LabelInstanceType]) assert.Equal(t, cloudprovider.DefaultArch, labels[kubeletapis.LabelArch])