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
|
return err
|
||||||
}
|
}
|
||||||
case kops.CloudProviderAzure:
|
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:
|
default:
|
||||||
return fmt.Errorf("unknown cloudprovider %q", b.Cluster.Spec.GetCloudProvider())
|
return fmt.Errorf("unknown cloudprovider %q", b.Cluster.Spec.GetCloudProvider())
|
||||||
}
|
}
|
||||||
|
|
@ -347,7 +350,7 @@ func (b *MasterVolumeBuilder) addAzureVolume(
|
||||||
etcd kops.EtcdClusterSpec,
|
etcd kops.EtcdClusterSpec,
|
||||||
m kops.EtcdMemberSpec,
|
m kops.EtcdMemberSpec,
|
||||||
allMembers []string,
|
allMembers []string,
|
||||||
) {
|
) error {
|
||||||
// The tags are use by Protokube to mount the volume and use it for etcd.
|
// The tags are use by Protokube to mount the volume and use it for etcd.
|
||||||
tags := map[string]*string{
|
tags := map[string]*string{
|
||||||
// This is the configuration of the etcd cluster.
|
// This is the configuration of the etcd cluster.
|
||||||
|
|
@ -365,7 +368,12 @@ func (b *MasterVolumeBuilder) addAzureVolume(
|
||||||
tags[k] = fi.String(v)
|
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{
|
t := &azuretasks.Disk{
|
||||||
Name: fi.String(name),
|
Name: fi.String(name),
|
||||||
Lifecycle: b.Lifecycle,
|
Lifecycle: b.Lifecycle,
|
||||||
|
|
@ -375,6 +383,9 @@ func (b *MasterVolumeBuilder) addAzureVolume(
|
||||||
},
|
},
|
||||||
SizeGB: fi.Int32(volumeSize),
|
SizeGB: fi.Int32(volumeSize),
|
||||||
Tags: tags,
|
Tags: tags,
|
||||||
|
Zones: &[]string{zoneNumber},
|
||||||
}
|
}
|
||||||
c.AddTask(t)
|
c.AddTask(t)
|
||||||
|
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,7 @@ type Disk struct {
|
||||||
ResourceGroup *ResourceGroup
|
ResourceGroup *ResourceGroup
|
||||||
SizeGB *int32
|
SizeGB *int32
|
||||||
Tags map[string]*string
|
Tags map[string]*string
|
||||||
|
Zones *[]string
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|
@ -74,6 +75,7 @@ func (d *Disk) Find(c *fi.Context) (*Disk, error) {
|
||||||
},
|
},
|
||||||
SizeGB: found.DiskSizeGB,
|
SizeGB: found.DiskSizeGB,
|
||||||
Tags: found.Tags,
|
Tags: found.Tags,
|
||||||
|
Zones: found.Zones,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -121,7 +123,8 @@ func (*Disk) RenderAzure(t *azure.AzureAPITarget, a, e, changes *Disk) error {
|
||||||
},
|
},
|
||||||
DiskSizeGB: e.SizeGB,
|
DiskSizeGB: e.SizeGB,
|
||||||
},
|
},
|
||||||
Tags: e.Tags,
|
Tags: e.Tags,
|
||||||
|
Zones: e.Zones,
|
||||||
}
|
}
|
||||||
|
|
||||||
return t.Cloud.Disk().CreateOrUpdate(
|
return t.Cloud.Disk().CreateOrUpdate(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue