diff --git a/pkg/model/master_volumes.go b/pkg/model/master_volumes.go index cd3545fff9..ec3d0a6dc4 100644 --- a/pkg/model/master_volumes.go +++ b/pkg/model/master_volumes.go @@ -194,7 +194,11 @@ func (b *MasterVolumeBuilder) addGCEVolume(c *fi.ModelBuilderContext, name strin tags[gce.GceLabelNameRolePrefix+"master"] = "master" // Can't start with a number tags[gce.GceLabelNameEtcdClusterPrefix+etcd.Name] = gce.EncodeGCELabel(clusterSpec) + // GCE disk names must match the following regular expression: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?' name = strings.Replace(name, ".", "-", -1) + if strings.IndexByte("0123456789-", name[0]) != -1 { + name = "d" + name + } t := &gcetasks.Disk{ Name: s(name), diff --git a/tests/integration/update_cluster/ha_gce/in-v1alpha2.yaml b/tests/integration/update_cluster/ha_gce/in-v1alpha2.yaml index 6b6271f0cc..f558e74efc 100644 --- a/tests/integration/update_cluster/ha_gce/in-v1alpha2.yaml +++ b/tests/integration/update_cluster/ha_gce/in-v1alpha2.yaml @@ -14,19 +14,19 @@ spec: etcdClusters: - etcdMembers: - instanceGroup: master-us-test1-a - name: a + name: "1" - instanceGroup: master-us-test1-b - name: b + name: "2" - instanceGroup: master-us-test1-c - name: c + name: "3" name: main - etcdMembers: - instanceGroup: master-us-test1-a - name: a + name: "1" - instanceGroup: master-us-test1-b - name: b + name: "2" - instanceGroup: master-us-test1-c - name: c + name: "3" name: events iam: legacy: false diff --git a/tests/integration/update_cluster/ha_gce/kubernetes.tf b/tests/integration/update_cluster/ha_gce/kubernetes.tf index 21274466b3..d83d913a6d 100644 --- a/tests/integration/update_cluster/ha_gce/kubernetes.tf +++ b/tests/integration/update_cluster/ha_gce/kubernetes.tf @@ -15,43 +15,43 @@ provider "google" { region = "us-test1" } -resource "google_compute_disk" "a-etcd-events-ha-gce-example-com" { - name = "a-etcd-events-ha-gce-example-com" +resource "google_compute_disk" "d1-etcd-events-ha-gce-example-com" { + name = "d1-etcd-events-ha-gce-example-com" type = "pd-ssd" size = 20 zone = "us-test1-a" } -resource "google_compute_disk" "a-etcd-main-ha-gce-example-com" { - name = "a-etcd-main-ha-gce-example-com" +resource "google_compute_disk" "d1-etcd-main-ha-gce-example-com" { + name = "d1-etcd-main-ha-gce-example-com" type = "pd-ssd" size = 20 zone = "us-test1-a" } -resource "google_compute_disk" "b-etcd-events-ha-gce-example-com" { - name = "b-etcd-events-ha-gce-example-com" +resource "google_compute_disk" "d2-etcd-events-ha-gce-example-com" { + name = "d2-etcd-events-ha-gce-example-com" type = "pd-ssd" size = 20 zone = "us-test1-b" } -resource "google_compute_disk" "b-etcd-main-ha-gce-example-com" { - name = "b-etcd-main-ha-gce-example-com" +resource "google_compute_disk" "d2-etcd-main-ha-gce-example-com" { + name = "d2-etcd-main-ha-gce-example-com" type = "pd-ssd" size = 20 zone = "us-test1-b" } -resource "google_compute_disk" "c-etcd-events-ha-gce-example-com" { - name = "c-etcd-events-ha-gce-example-com" +resource "google_compute_disk" "d3-etcd-events-ha-gce-example-com" { + name = "d3-etcd-events-ha-gce-example-com" type = "pd-ssd" size = 20 zone = "us-test1-c" } -resource "google_compute_disk" "c-etcd-main-ha-gce-example-com" { - name = "c-etcd-main-ha-gce-example-com" +resource "google_compute_disk" "d3-etcd-main-ha-gce-example-com" { + name = "d3-etcd-main-ha-gce-example-com" type = "pd-ssd" size = 20 zone = "us-test1-c"