mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	Add region label to dynamic provisioned cinder PVs
This commit is contained in:
		@@ -104,6 +104,7 @@ func TestReadConfig(t *testing.T) {
 | 
			
		||||
 auth-url = http://auth.url
 | 
			
		||||
 user-id = user
 | 
			
		||||
 tenant-name = demo
 | 
			
		||||
 region = RegionOne
 | 
			
		||||
 [LoadBalancer]
 | 
			
		||||
 create-monitor = yes
 | 
			
		||||
 monitor-delay = 1m
 | 
			
		||||
@@ -136,6 +137,10 @@ func TestReadConfig(t *testing.T) {
 | 
			
		||||
		t.Errorf("incorrect tenant name: %s", cfg.Global.TenantName)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if cfg.Global.Region != "RegionOne" {
 | 
			
		||||
		t.Errorf("incorrect region: %s", cfg.Global.Region)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if !cfg.LoadBalancer.CreateMonitor {
 | 
			
		||||
		t.Errorf("incorrect lb.createmonitor: %t", cfg.LoadBalancer.CreateMonitor)
 | 
			
		||||
	}
 | 
			
		||||
@@ -554,7 +559,7 @@ func TestVolumes(t *testing.T) {
 | 
			
		||||
	tags := map[string]string{
 | 
			
		||||
		"test": "value",
 | 
			
		||||
	}
 | 
			
		||||
	vol, _, _, err := os.CreateVolume("kubernetes-test-volume-"+rand.String(10), 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)
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -443,10 +443,10 @@ func (os *OpenStack) getVolume(volumeID string) (Volume, error) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CreateVolume creates a volume of given size (in GiB)
 | 
			
		||||
func (os *OpenStack) CreateVolume(name string, size int, vtype, availability string, tags *map[string]string) (string, string, bool, error) {
 | 
			
		||||
func (os *OpenStack) CreateVolume(name string, size int, vtype, availability string, tags *map[string]string) (string, string, string, bool, error) {
 | 
			
		||||
	volumes, err := os.volumeService("")
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return "", "", os.bsOpts.IgnoreVolumeAZ, fmt.Errorf("unable to initialize cinder client for region: %s, err: %v", os.region, err)
 | 
			
		||||
		return "", "", "", os.bsOpts.IgnoreVolumeAZ, fmt.Errorf("unable to initialize cinder client for region: %s, err: %v", os.region, err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	opts := volumeCreateOpts{
 | 
			
		||||
@@ -462,11 +462,11 @@ func (os *OpenStack) CreateVolume(name string, size int, vtype, availability str
 | 
			
		||||
	volumeID, volumeAZ, err := volumes.createVolume(opts)
 | 
			
		||||
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return "", "", os.bsOpts.IgnoreVolumeAZ, fmt.Errorf("failed to create a %d GB volume: %v", size, err)
 | 
			
		||||
		return "", "", "", os.bsOpts.IgnoreVolumeAZ, fmt.Errorf("failed to create a %d GB volume: %v", size, err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	glog.Infof("Created volume %v in Availability Zone: %v Ignore volume AZ: %v", volumeID, volumeAZ, os.bsOpts.IgnoreVolumeAZ)
 | 
			
		||||
	return volumeID, volumeAZ, os.bsOpts.IgnoreVolumeAZ, nil
 | 
			
		||||
	glog.Infof("Created volume %v in Availability Zone: %v Region: %v Ignore volume AZ: %v", volumeID, volumeAZ, os.region, os.bsOpts.IgnoreVolumeAZ)
 | 
			
		||||
	return volumeID, volumeAZ, os.region, os.bsOpts.IgnoreVolumeAZ, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// GetDevicePathBySerialID returns the path of an attached block storage volume, specified by its id.
 | 
			
		||||
 
 | 
			
		||||
@@ -615,8 +615,8 @@ func (testcase *testcase) DiskIsAttachedByName(nodeName types.NodeName, volumeID
 | 
			
		||||
	return expected.isAttached, expected.instanceID, expected.ret
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (testcase *testcase) CreateVolume(name string, size int, vtype, availability string, tags *map[string]string) (string, string, bool, error) {
 | 
			
		||||
	return "", "", false, errors.New("Not implemented")
 | 
			
		||||
func (testcase *testcase) CreateVolume(name string, size int, vtype, availability string, tags *map[string]string) (string, string, string, bool, error) {
 | 
			
		||||
	return "", "", "", false, errors.New("Not implemented")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (testcase *testcase) GetDevicePath(volumeID string) string {
 | 
			
		||||
 
 | 
			
		||||
@@ -53,7 +53,7 @@ type BlockStorageProvider interface {
 | 
			
		||||
	AttachDisk(instanceID, volumeID string) (string, error)
 | 
			
		||||
	DetachDisk(instanceID, volumeID string) error
 | 
			
		||||
	DeleteVolume(volumeID string) error
 | 
			
		||||
	CreateVolume(name string, size int, vtype, availability string, tags *map[string]string) (string, string, bool, error)
 | 
			
		||||
	CreateVolume(name string, size int, vtype, availability string, tags *map[string]string) (string, string, string, bool, error)
 | 
			
		||||
	GetDevicePath(volumeID string) string
 | 
			
		||||
	InstanceID() (string, error)
 | 
			
		||||
	GetAttachmentDiskPath(instanceID, volumeID string) (string, error)
 | 
			
		||||
 
 | 
			
		||||
@@ -208,10 +208,10 @@ func (util *DiskUtil) CreateVolume(c *cinderVolumeProvisioner) (volumeID string,
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	volumeID, volumeAZ, IgnoreVolumeAZ, errr := cloud.CreateVolume(name, volSizeGB, vtype, availability, c.options.CloudTags)
 | 
			
		||||
	if errr != nil {
 | 
			
		||||
		glog.V(2).Infof("Error creating cinder volume: %v", errr)
 | 
			
		||||
		return "", 0, nil, "", errr
 | 
			
		||||
	volumeID, volumeAZ, volumeRegion, IgnoreVolumeAZ, err := cloud.CreateVolume(name, volSizeGB, vtype, availability, c.options.CloudTags)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		glog.V(2).Infof("Error creating cinder volume: %v", err)
 | 
			
		||||
		return "", 0, nil, "", err
 | 
			
		||||
	}
 | 
			
		||||
	glog.V(2).Infof("Successfully created cinder volume %s", volumeID)
 | 
			
		||||
 | 
			
		||||
@@ -219,6 +219,7 @@ func (util *DiskUtil) CreateVolume(c *cinderVolumeProvisioner) (volumeID string,
 | 
			
		||||
	volumeLabels = make(map[string]string)
 | 
			
		||||
	if IgnoreVolumeAZ == false {
 | 
			
		||||
		volumeLabels[kubeletapis.LabelZoneFailureDomain] = volumeAZ
 | 
			
		||||
		volumeLabels[kubeletapis.LabelZoneRegion] = volumeRegion
 | 
			
		||||
	}
 | 
			
		||||
	return volumeID, volSizeGB, volumeLabels, fstype, nil
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user