diff --git a/cinder/tests/unit/volume/drivers/dell_emc/powermax/powermax_data.py b/cinder/tests/unit/volume/drivers/dell_emc/powermax/powermax_data.py index 9010baf0c0b..1dca158b98f 100644 --- a/cinder/tests/unit/volume/drivers/dell_emc/powermax/powermax_data.py +++ b/cinder/tests/unit/volume/drivers/dell_emc/powermax/powermax_data.py @@ -1274,6 +1274,12 @@ class PowerMaxData(object): 'getDynamicRDFCapability': 'RDF1_Capable', 'RDFA': False}, 'timeFinderInfo': {'snapVXTgt': False, 'snapVXSrc': False}}] + priv_vol_func_response_multi_sg = deepcopy(priv_vol_func_response_single) + priv_vol_func_response_multi_sg[0].get('volumeHeader').update( + {'numStorageGroups': 2}) + priv_vol_func_response_multi_sg[0].get('volumeHeader').update( + {'storageGroup': ['SG1', 'SG2']}) + volume_create_info_dict = {utils.ARRAY: array, utils.DEVICE_ID: device_id} volume_info_dict = { diff --git a/cinder/tests/unit/volume/drivers/dell_emc/powermax/test_powermax_utils.py b/cinder/tests/unit/volume/drivers/dell_emc/powermax/test_powermax_utils.py index e79d9d94c0e..f1cff7afdc3 100644 --- a/cinder/tests/unit/volume/drivers/dell_emc/powermax/test_powermax_utils.py +++ b/cinder/tests/unit/volume/drivers/dell_emc/powermax/test_powermax_utils.py @@ -590,6 +590,11 @@ class PowerMaxUtilsTest(test.TestCase): self.assertFalse( self.utils.is_volume_manageable(volume)) + def test_is_volume_manageable_multi_sg(self): + for volume in self.data.priv_vol_func_response_multi_sg: + self.assertFalse( + self.utils.is_volume_manageable(volume)) + def test_is_snapshot_manageable(self): for volume in self.data.priv_vol_func_response_multi: self.assertTrue( diff --git a/cinder/volume/drivers/dell_emc/powermax/utils.py b/cinder/volume/drivers/dell_emc/powermax/utils.py index b0a7323d43f..6956329addc 100644 --- a/cinder/volume/drivers/dell_emc/powermax/utils.py +++ b/cinder/volume/drivers/dell_emc/powermax/utils.py @@ -1057,6 +1057,9 @@ class PowerMaxUtils(object): if vol_head['userDefinedIdentifier'][0:3] == 'OS-': return False + if vol_head.get('numStorageGroups', 0) > 1: + return False + return True @staticmethod diff --git a/releasenotes/notes/powermax-manageable-volumes-3fb4e5dcf5cc18e3.yaml b/releasenotes/notes/powermax-manageable-volumes-3fb4e5dcf5cc18e3.yaml new file mode 100644 index 00000000000..e917963f8a2 --- /dev/null +++ b/releasenotes/notes/powermax-manageable-volumes-3fb4e5dcf5cc18e3.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + PowerMax driver `bug #1979668 + `_: Fixed + visibility of manageable volumes in multiple storage groups.