diff --git a/pkg/cloudprovider/providers/openstack/openstack.go b/pkg/cloudprovider/providers/openstack/openstack.go index e0e13ed..86ff39a 100644 --- a/pkg/cloudprovider/providers/openstack/openstack.go +++ b/pkg/cloudprovider/providers/openstack/openstack.go @@ -1038,7 +1038,7 @@ func (os *OpenStack) getVolume(diskName string) (volumes.Volume, error) { } // Create a volume of given size (in GiB) -func (os *OpenStack) CreateVolume(size int, tags *map[string]string) (volumeName string, err error) { +func (os *OpenStack) CreateVolume(name string, size int, tags *map[string]string) (volumeName string, err error) { sClient, err := openstack.NewBlockStorageV1(os.provider, gophercloud.EndpointOpts{ Region: os.region, @@ -1049,7 +1049,10 @@ func (os *OpenStack) CreateVolume(size int, tags *map[string]string) (volumeName return "", err } - opts := volumes.CreateOpts{Size: size} + opts := volumes.CreateOpts{ + Name: name, + Size: size, + } if tags != nil { opts.Metadata = *tags } diff --git a/pkg/cloudprovider/providers/openstack/openstack_test.go b/pkg/cloudprovider/providers/openstack/openstack_test.go index 40b485c..a4db2fa 100644 --- a/pkg/cloudprovider/providers/openstack/openstack_test.go +++ b/pkg/cloudprovider/providers/openstack/openstack_test.go @@ -22,6 +22,8 @@ import ( "testing" "time" + "k8s.io/kubernetes/pkg/util/rand" + "github.com/rackspace/gophercloud" ) @@ -213,7 +215,7 @@ func TestVolumes(t *testing.T) { tags := map[string]string{ "test": "value", } - vol, err := os.CreateVolume(1, &tags) + vol, err := os.CreateVolume("kubernetes-test-volume-"+rand.String(10), 1, &tags) if err != nil { t.Fatalf("Cannot create a new Cinder volume: %v", err) }