[SVF] Fix rccg and relationship creation issues
[Spectrum Virtualize Family] Fix issues while creating a mirror volume and creating a group by using the storage backend system_id in the place of system_name in create_relationship and create_rccg calls to choose the correct partnership based on the system_id. This issue occurs when multiple partnerships in different states are available for the same storage system_name. Closes-Bug: #1939145 Change-Id: I9391a1a07aac00a3f80bf19cd4887bdfbec78b20
This commit is contained in:
parent
fae0e8dcb4
commit
cefba86408
@ -2096,7 +2096,7 @@ port_speed!N/A
|
|||||||
if 'cluster' not in kwargs:
|
if 'cluster' not in kwargs:
|
||||||
return self._errors['CMMVC5707E']
|
return self._errors['CMMVC5707E']
|
||||||
aux_cluster = kwargs['cluster'].strip('\'\"')
|
aux_cluster = kwargs['cluster'].strip('\'\"')
|
||||||
if aux_cluster != aux_sys['name']:
|
if aux_cluster != aux_sys['id']:
|
||||||
return self._errors['CMMVC5754E']
|
return self._errors['CMMVC5754E']
|
||||||
|
|
||||||
if (self._volumes_list[master_vol]['capacity'] !=
|
if (self._volumes_list[master_vol]['capacity'] !=
|
||||||
@ -2438,8 +2438,8 @@ port_speed!N/A
|
|||||||
if 'cluster' not in kwargs:
|
if 'cluster' not in kwargs:
|
||||||
return self._errors['CMMVC5707E']
|
return self._errors['CMMVC5707E']
|
||||||
aux_cluster = kwargs['cluster'].strip('\'\"')
|
aux_cluster = kwargs['cluster'].strip('\'\"')
|
||||||
if (aux_cluster != aux_sys['name'] and
|
if (aux_cluster != aux_sys['id'] and
|
||||||
aux_cluster != master_sys['name']):
|
aux_cluster != master_sys['id']):
|
||||||
return self._errors['CMMVC5754E']
|
return self._errors['CMMVC5754E']
|
||||||
|
|
||||||
rccg_info = {}
|
rccg_info = {}
|
||||||
|
@ -111,7 +111,7 @@ class StorwizeSVCReplicationGlobalMirror(StorwizeSVCReplication):
|
|||||||
|
|
||||||
system_info = self.target_helpers.get_system_info()
|
system_info = self.target_helpers.get_system_info()
|
||||||
self.driver._helpers.create_relationship(
|
self.driver._helpers.create_relationship(
|
||||||
vref['name'], target_vol_name, system_info.get('system_name'),
|
vref['name'], target_vol_name, system_info.get('system_id'),
|
||||||
self.asyncmirror)
|
self.asyncmirror)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
msg = (_("Unable to set up mirror mode replication for %(vol)s. "
|
msg = (_("Unable to set up mirror mode replication for %(vol)s. "
|
||||||
@ -234,7 +234,7 @@ class StorwizeSVCReplicationGMCV(StorwizeSVCReplicationGlobalMirror):
|
|||||||
vref['volume_type_id'])
|
vref['volume_type_id'])
|
||||||
cycle_period_seconds = src_change_opts.get('cycle_period_seconds')
|
cycle_period_seconds = src_change_opts.get('cycle_period_seconds')
|
||||||
self.driver._helpers.create_relationship(
|
self.driver._helpers.create_relationship(
|
||||||
vref['name'], target_vol_name, system_info.get('system_name'),
|
vref['name'], target_vol_name, system_info.get('system_id'),
|
||||||
self.asyncmirror, True, source_change_vol_name,
|
self.asyncmirror, True, source_change_vol_name,
|
||||||
cycle_period_seconds)
|
cycle_period_seconds)
|
||||||
# Set target change volume
|
# Set target change volume
|
||||||
|
@ -5891,7 +5891,7 @@ class StorwizeSVCCommonDriver(san.SanDriver,
|
|||||||
try:
|
try:
|
||||||
tgt_sys = self._aux_backend_helpers.get_system_info()
|
tgt_sys = self._aux_backend_helpers.get_system_info()
|
||||||
self._helpers.create_rccg(
|
self._helpers.create_rccg(
|
||||||
rccg_name, tgt_sys.get('system_name'))
|
rccg_name, tgt_sys.get('system_id'))
|
||||||
model_update.update({'replication_status':
|
model_update.update({'replication_status':
|
||||||
fields.ReplicationStatus.ENABLED})
|
fields.ReplicationStatus.ENABLED})
|
||||||
except exception.VolumeBackendAPIException as err:
|
except exception.VolumeBackendAPIException as err:
|
||||||
@ -6070,7 +6070,7 @@ class StorwizeSVCCommonDriver(san.SanDriver,
|
|||||||
try:
|
try:
|
||||||
tgt_sys = self._aux_backend_helpers.get_system_info()
|
tgt_sys = self._aux_backend_helpers.get_system_info()
|
||||||
self._helpers.create_rccg(rccg_name,
|
self._helpers.create_rccg(rccg_name,
|
||||||
tgt_sys.get('system_name'))
|
tgt_sys.get('system_id'))
|
||||||
model_update.update({'replication_status':
|
model_update.update({'replication_status':
|
||||||
fields.ReplicationStatus.ENABLED})
|
fields.ReplicationStatus.ENABLED})
|
||||||
except exception.VolumeBackendAPIException as err:
|
except exception.VolumeBackendAPIException as err:
|
||||||
|
@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
fixes:
|
||||||
|
- |
|
||||||
|
IBM Spectrum Virtualize Family driver
|
||||||
|
`Bug #1939145 <https://bugs.launchpad.net/cinder/+bug/1939145>`_:
|
||||||
|
Updating create_relationship and create_rccg calls with the
|
||||||
|
system_id in the place of system_name to fix the issues while
|
||||||
|
creating a mirror volume or creating a consistency group.
|
Loading…
Reference in New Issue
Block a user