mirror of https://github.com/kubernetes/kops.git
azure: Add zone when creating etcd volumes
This commit is contained in:
parent
5ed728b805
commit
7f67dcf52b
|
|
@ -114,7 +114,10 @@ func (b *MasterVolumeBuilder) Build(c *fi.ModelBuilderContext) error {
|
|||
return err
|
||||
}
|
||||
case kops.CloudProviderAzure:
|
||||
b.addAzureVolume(c, name, volumeSize, zone, etcd, m, allMembers)
|
||||
err = b.addAzureVolume(c, name, volumeSize, zone, etcd, m, allMembers)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
default:
|
||||
return fmt.Errorf("unknown cloudprovider %q", b.Cluster.Spec.GetCloudProvider())
|
||||
}
|
||||
|
|
@ -347,7 +350,7 @@ func (b *MasterVolumeBuilder) addAzureVolume(
|
|||
etcd kops.EtcdClusterSpec,
|
||||
m kops.EtcdMemberSpec,
|
||||
allMembers []string,
|
||||
) {
|
||||
) error {
|
||||
// The tags are use by Protokube to mount the volume and use it for etcd.
|
||||
tags := map[string]*string{
|
||||
// This is the configuration of the etcd cluster.
|
||||
|
|
@ -365,7 +368,12 @@ func (b *MasterVolumeBuilder) addAzureVolume(
|
|||
tags[k] = fi.String(v)
|
||||
}
|
||||
|
||||
// TODO(kenji): Respect zone and m.EncryptedVolume.
|
||||
zoneNumber, err := azure.ZoneToAvailabilityZoneNumber(zone)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// TODO(kenji): Respect m.EncryptedVolume.
|
||||
t := &azuretasks.Disk{
|
||||
Name: fi.String(name),
|
||||
Lifecycle: b.Lifecycle,
|
||||
|
|
@ -375,6 +383,9 @@ func (b *MasterVolumeBuilder) addAzureVolume(
|
|||
},
|
||||
SizeGB: fi.Int32(volumeSize),
|
||||
Tags: tags,
|
||||
Zones: &[]string{zoneNumber},
|
||||
}
|
||||
c.AddTask(t)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ type Disk struct {
|
|||
ResourceGroup *ResourceGroup
|
||||
SizeGB *int32
|
||||
Tags map[string]*string
|
||||
Zones *[]string
|
||||
}
|
||||
|
||||
var (
|
||||
|
|
@ -74,6 +75,7 @@ func (d *Disk) Find(c *fi.Context) (*Disk, error) {
|
|||
},
|
||||
SizeGB: found.DiskSizeGB,
|
||||
Tags: found.Tags,
|
||||
Zones: found.Zones,
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
|
@ -121,7 +123,8 @@ func (*Disk) RenderAzure(t *azure.AzureAPITarget, a, e, changes *Disk) error {
|
|||
},
|
||||
DiskSizeGB: e.SizeGB,
|
||||
},
|
||||
Tags: e.Tags,
|
||||
Tags: e.Tags,
|
||||
Zones: e.Zones,
|
||||
}
|
||||
|
||||
return t.Cloud.Disk().CreateOrUpdate(
|
||||
|
|
|
|||
Loading…
Reference in New Issue