diff --git a/cinder/tests/unit/volume/drivers/ibm/test_xiv_proxy.py b/cinder/tests/unit/volume/drivers/ibm/test_xiv_proxy.py index e1f680c3599..720cfeceec1 100644 --- a/cinder/tests/unit/volume/drivers/ibm/test_xiv_proxy.py +++ b/cinder/tests/unit/volume/drivers/ibm/test_xiv_proxy.py @@ -21,6 +21,7 @@ from cinder import context from cinder import exception from cinder.objects import consistencygroup from cinder.objects import fields +from cinder.tests.unit import fake_constants as fake from cinder.tests.unit.volume.drivers.ibm import fake_pyxcli import cinder.volume.drivers.ibm.ibm_storage as storage from cinder.volume.drivers.ibm.ibm_storage import cryptish @@ -43,6 +44,7 @@ TEST_VOLUME = { 'name': 'BLA', 'id': 23, 'size': 17, + 'consistencygroup_id': fake.CONSISTENCY_GROUP_ID, } TEST_CLONED_VOLUME = { 'name': 'CLONE', @@ -135,7 +137,8 @@ class XIVProxyTest(unittest.TestCase): """Tests the main Proxy driver""" test_cg = consistencygroup.ConsistencyGroup( - context=None, name='WTF32', id='WTF32', volume_type_id='WTF32', + context=None, name='WTF32', id=fake.CONSISTENCY_GROUP_ID, + volume_type_id=fake.VOLUME_TYPE_ID, status=fields.ConsistencyGroupStatus.AVAILABLE) def setUp(self): @@ -1122,7 +1125,7 @@ class XIVProxyTest(unittest.TestCase): model_update = p.create_consistencygroup({}, self.test_cg) p.ibm_storage_cli.cmd.cg_create.assert_called_once_with( - cg='cg_WTF32', + cg=p._cg_name_from_id(fake.CONSISTENCY_GROUP_ID), pool='WTF32') self.assertEqual('available', model_update['status']) @@ -1213,7 +1216,7 @@ class XIVProxyTest(unittest.TestCase): TEST_CG_SNAPSHOT, [TEST_SNAPSHOT], None, None) p.ibm_storage_cli.cmd.cg_create.assert_called_once_with( - cg='cg_WTF32', + cg=p._cg_name_from_volume(TEST_VOLUME), pool='WTF32') self.assertEqual('available', model_update['status']) @@ -1240,7 +1243,7 @@ class XIVProxyTest(unittest.TestCase): None, None, TEST_CONS_GROUP, [TEST_CLONED_VOLUME]) p.ibm_storage_cli.cmd.cg_create.assert_called_once_with( - cg='cg_WTF32', + cg=p._cg_name_from_volume(TEST_VOLUME), pool='WTF32') self.assertEqual('available', model_update['status']) diff --git a/cinder/volume/drivers/ibm/ibm_storage/xiv_proxy.py b/cinder/volume/drivers/ibm/ibm_storage/xiv_proxy.py index a3e717196de..20dc25e3d6c 100644 --- a/cinder/volume/drivers/ibm/ibm_storage/xiv_proxy.py +++ b/cinder/volume/drivers/ibm/ibm_storage/xiv_proxy.py @@ -1645,12 +1645,13 @@ class XIVProxy(proxy.IBMStorageProxy): if isinstance(group, objects.Group): volume_type_ids = group.volume_type_ids elif isinstance(group, objects.ConsistencyGroup): - volume_type_ids = [group.volume_type_id] + volume_type_ids = [filter(None, group.volume_type_id.split(","))] else: msg = (_("Consistency group %(group)s has no volume_type_ids") % {'group': cgname}) LOG.error(msg) raise self.meta['exception'].VolumeBackendAPIException(data=msg) + LOG.debug("volume_type_ids: %s", volume_type_ids) for volume_type_id in volume_type_ids: specs = self._get_extra_specs(volume_type_id) replication_info = self._get_replication_info(specs)