Tag OpenStack Cinder volumes created by Kubernetes.
This synchronizes Cinder with AWS EBS code, where we already tag volumes with claim.Namespace and claim.Name (and pv.Name, as suggested in separate PR).
This commit is contained in:
parent
2f89af92bc
commit
488a862037
|
@ -1025,7 +1025,7 @@ func (os *OpenStack) getVolume(diskName string) (volumes.Volume, error) {
|
|||
}
|
||||
|
||||
// Create a volume of given size (in GiB)
|
||||
func (os *OpenStack) CreateVolume(size int) (volumeName string, err error) {
|
||||
func (os *OpenStack) CreateVolume(size int, tags *map[string]string) (volumeName string, err error) {
|
||||
|
||||
sClient, err := openstack.NewBlockStorageV1(os.provider, gophercloud.EndpointOpts{
|
||||
Region: os.region,
|
||||
|
@ -1037,6 +1037,9 @@ func (os *OpenStack) CreateVolume(size int) (volumeName string, err error) {
|
|||
}
|
||||
|
||||
opts := volumes.CreateOpts{Size: size}
|
||||
if tags != nil {
|
||||
opts.Metadata = *tags
|
||||
}
|
||||
vol, err := volumes.Create(sClient, opts).Extract()
|
||||
if err != nil {
|
||||
glog.Errorf("Failed to create a %d GB volume: %v", size, err)
|
||||
|
|
|
@ -210,7 +210,10 @@ func TestVolumes(t *testing.T) {
|
|||
t.Fatalf("Failed to construct/authenticate OpenStack: %s", err)
|
||||
}
|
||||
|
||||
vol, err := os.CreateVolume(1)
|
||||
tags := map[string]string{
|
||||
"test": "value",
|
||||
}
|
||||
vol, err := os.CreateVolume(1, &tags)
|
||||
if err != nil {
|
||||
t.Fatalf("Cannot create a new Cinder volume: %v", err)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue