Merge "Delete consistency group fails on xtremio driver" into stable/ocata

This commit is contained in:
Jenkins 2017-06-27 10:42:22 +00:00 committed by Gerrit Code Review
commit 2239bb60c5
2 changed files with 40 additions and 3 deletions

View File

@ -872,6 +872,23 @@ class XtremIODriverISCSITestCase(BaseXtremIODriverTestCase):
self.driver.create_cgsnapshot(d.context, d.cgsnapshot, [snapshot_obj])
self.driver.delete_consistencygroup(d.context, d.group, [])
def test_cg_delete_with_volume(self, req):
req.side_effect = xms_request
d = self.data
self.driver.create_consistencygroup(d.context, d.group)
self.driver.create_volume(d.test_volume)
self.driver.update_consistencygroup(d.context, d.group,
add_volumes=[d.test_volume])
self.driver.db = mock.Mock()
results, volumes = \
self.driver.delete_consistencygroup(d.context,
d.group,
[d.test_volume])
self.assertTrue(all(volume['status'] == 'deleted' for volume in
volumes))
@mock.patch('cinder.objects.snapshot.SnapshotList.get_all_for_cgsnapshot')
def test_cg_snapshot(self, get_all_for_cgsnapshot, req):
req.side_effect = xms_request
@ -1044,6 +1061,21 @@ class XtremIODriverISCSITestCase(BaseXtremIODriverTestCase):
[snapshot_obj])
self.driver.delete_group(d.context, d.group, [])
def test_group_delete_with_volume(self, req):
req.side_effect = xms_request
d = self.data
self.driver.create_consistencygroup(d.context, d.group)
self.driver.create_volume(d.test_volume)
self.driver.update_consistencygroup(d.context, d.group,
add_volumes=[d.test_volume])
self.driver.db = mock.Mock()
results, volumes = \
self.driver.delete_group(d.context, d.group, [d.test_volume])
self.assertTrue(all(volume['status'] == 'deleted' for volume in
volumes))
def test_group_snapshot(self, req):
"""test group snapshot."""
req.side_effect = xms_request

View File

@ -700,13 +700,19 @@ class XtremIOVolumeDriver(san.SanDriver):
self.client.req('consistency-groups', 'DELETE', name=group['id'],
ver='v2')
volumes_model_update = []
for volume in volumes:
self.delete_volume(volume)
volume.status = 'deleted'
update_item = {'id': volume['id'],
'status': 'deleted'}
volumes_model_update.append(update_item)
model_update = {'status': group['status']}
return model_update, volumes
return model_update, volumes_model_update
def _get_snapset_ancestors(self, snapset_name):
snapset = self.client.req('snapshot-sets',
@ -813,7 +819,6 @@ class XtremIOVolumeDriver(san.SanDriver):
"""Deletes a cgsnapshot."""
self.client.req('snapshot-sets', 'DELETE',
name=self._get_cgsnap_name(cgsnapshot), ver='v2')
return None, None
def create_group(self, context, group):