PowerMax: Allow live migration without pool name
This change is to update the live migration ability in environments using PowerMax. In previous 2023.1 version, the live migration fails without a pool name. The update adds the ability of live migration without a pool name. Change-Id: Iad767cd516c8527136508470629236f68e0c7cc2 Closes-Bug: #2034937
This commit is contained in:
parent
95630360b2
commit
9a470d41f4
@ -419,6 +419,13 @@ class PowerMaxData(object):
|
|||||||
'array': array,
|
'array': array,
|
||||||
'interval': 3,
|
'interval': 3,
|
||||||
'retries': 120}
|
'retries': 120}
|
||||||
|
extra_specs_no_pool_name = {
|
||||||
|
'slo': slo,
|
||||||
|
'workload': workload,
|
||||||
|
'srp': srp,
|
||||||
|
'array': array,
|
||||||
|
'interval': 3,
|
||||||
|
'retries': 120}
|
||||||
extra_specs_optimized = {
|
extra_specs_optimized = {
|
||||||
'pool_name': u'Optimized+None+SRP_1+000197800123',
|
'pool_name': u'Optimized+None+SRP_1+000197800123',
|
||||||
'slo': 'Optimized', 'workload': 'None',
|
'slo': 'Optimized', 'workload': 'None',
|
||||||
|
@ -1216,6 +1216,23 @@ class PowerMaxMaskingTest(test.TestCase):
|
|||||||
utils.PowerMaxUtils.truncate_string.assert_called_once_with(
|
utils.PowerMaxUtils.truncate_string.assert_called_once_with(
|
||||||
'OptimizedNONE', 10)
|
'OptimizedNONE', 10)
|
||||||
|
|
||||||
|
@mock.patch.object(masking.PowerMaxMasking,
|
||||||
|
'_clean_up_child_storage_group')
|
||||||
|
@mock.patch.object(masking.PowerMaxMasking,
|
||||||
|
'move_volume_between_storage_groups')
|
||||||
|
@mock.patch.object(masking.PowerMaxMasking,
|
||||||
|
'_return_volume_to_fast_managed_group')
|
||||||
|
def test_pre_multiattach_pool_no_pool_name(self, mock_return, mck_move,
|
||||||
|
mck_clean):
|
||||||
|
with mock.patch.object(utils.PowerMaxUtils, 'truncate_string',
|
||||||
|
return_value='DiamondDSS'):
|
||||||
|
self.mask.pre_multiattach(
|
||||||
|
self.data.array, self.data.device_id,
|
||||||
|
self.data.masking_view_dict_multiattach,
|
||||||
|
self.data.extra_specs_no_pool_name)
|
||||||
|
utils.PowerMaxUtils.truncate_string.assert_called_once_with(
|
||||||
|
'DiamondDSS', 10)
|
||||||
|
|
||||||
@mock.patch.object(
|
@mock.patch.object(
|
||||||
rest.PowerMaxRest, 'get_storage_group_list',
|
rest.PowerMaxRest, 'get_storage_group_list',
|
||||||
side_effect=[
|
side_effect=[
|
||||||
|
@ -2040,9 +2040,13 @@ class PowerMaxMasking(object):
|
|||||||
if 'STG-' in storage_group_list[0]:
|
if 'STG-' in storage_group_list[0]:
|
||||||
return mv_dict
|
return mv_dict
|
||||||
|
|
||||||
|
if 'pool_name' in extra_specs:
|
||||||
split_pool = extra_specs['pool_name'].split('+')
|
split_pool = extra_specs['pool_name'].split('+')
|
||||||
src_slo = split_pool[0]
|
src_slo = split_pool[0]
|
||||||
src_wl = split_pool[1] if len(split_pool) == 4 else 'NONE'
|
src_wl = split_pool[1] if len(split_pool) == 4 else 'NONE'
|
||||||
|
else:
|
||||||
|
src_slo = extra_specs[utils.SLO]
|
||||||
|
src_wl = extra_specs[utils.WORKLOAD]
|
||||||
slo_wl_combo = self.utils.truncate_string(src_slo + src_wl.upper(), 10)
|
slo_wl_combo = self.utils.truncate_string(src_slo + src_wl.upper(), 10)
|
||||||
for sg in sg_list.get('storageGroupId', []):
|
for sg in sg_list.get('storageGroupId', []):
|
||||||
if slo_wl_combo in sg:
|
if slo_wl_combo in sg:
|
||||||
|
@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
fixes:
|
||||||
|
- |
|
||||||
|
Dell PowerMax driver `bug #2034937
|
||||||
|
<https://bugs.launchpad.net/cinder/+bug/2034937>`_: Fixed
|
||||||
|
|
||||||
|
This change is to update the live migration ability in environments using PowerMax. In previous
|
||||||
|
2023.1 version, the live migration fails without a pool name.
|
||||||
|
This update add the ability of live migration without a pool name.
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user