From 863d3456c6a4667d68f27ebb759f1adbf8f6f3ea Mon Sep 17 00:00:00 2001 From: Patrick East Date: Tue, 11 Aug 2015 14:48:51 -0700 Subject: [PATCH] Switch Pure volume drivers to use Snapshot Objects Some consistency group operations require looking up snapshot objects and returning them. Now that we have Snapshot objects we should be using those. Change-Id: Ib4ff7fa3f7d768abb33e3b9436f7e64a3cd81f4c Closes-Bug: #1458126 --- cinder/tests/unit/test_pure.py | 16 +++++++--------- cinder/volume/drivers/pure.py | 5 +++-- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/cinder/tests/unit/test_pure.py b/cinder/tests/unit/test_pure.py index 68704fdc8..9bfd469a4 100644 --- a/cinder/tests/unit/test_pure.py +++ b/cinder/tests/unit/test_pure.py @@ -826,17 +826,16 @@ class PureBaseVolumeDriverTestCase(PureDriverTestCase): remvollist=[] ) - def test_create_cgsnapshot(self): + @mock.patch('cinder.objects.snapshot.SnapshotList.get_all_for_cgsnapshot') + def test_create_cgsnapshot(self, mock_snap_list): mock_cgsnap = mock.Mock() mock_cgsnap.id = "4a2f7e3a-312a-40c5-96a8-536b8a0fe074" mock_cgsnap.consistencygroup_id = \ "4a2f7e3a-312a-40c5-96a8-536b8a0fe075" mock_context = mock.Mock() - self.driver.db = mock.Mock() mock_snap = mock.MagicMock() expected_snaps = [mock_snap] - self.driver.db.snapshot_get_all_for_cgsnapshot.return_value = \ - expected_snaps + mock_snap_list.return_value = expected_snaps model_update, snapshots = \ self.driver.create_cgsnapshot(mock_context, mock_cgsnap) @@ -857,18 +856,17 @@ class PureBaseVolumeDriverTestCase(PureDriverTestCase): @mock.patch(BASE_DRIVER_OBJ + "._get_pgroup_snap_name", spec=pure.PureBaseVolumeDriver._get_pgroup_snap_name) - def test_delete_cgsnapshot(self, mock_get_snap_name): + @mock.patch('cinder.objects.snapshot.SnapshotList.get_all_for_cgsnapshot') + def test_delete_cgsnapshot(self, mock_snap_list, mock_get_snap_name): snap_name = "consisgroup-4a2f7e3a-312a-40c5-96a8-536b8a0f" \ "e074-cinder.4a2f7e3a-312a-40c5-96a8-536b8a0fe075" mock_get_snap_name.return_value = snap_name mock_cgsnap = mock.Mock() mock_cgsnap.status = 'deleted' mock_context = mock.Mock() - mock_snap = mock.MagicMock() + mock_snap = mock.Mock() expected_snaps = [mock_snap] - self.driver.db = mock.Mock() - self.driver.db.snapshot_get_all_for_cgsnapshot.return_value = \ - expected_snaps + mock_snap_list.return_value = expected_snaps model_update, snapshots = \ self.driver.delete_cgsnapshot(mock_context, mock_cgsnap) diff --git a/cinder/volume/drivers/pure.py b/cinder/volume/drivers/pure.py index 9227f0e06..967b228c6 100644 --- a/cinder/volume/drivers/pure.py +++ b/cinder/volume/drivers/pure.py @@ -30,6 +30,7 @@ from oslo_utils import units from cinder import exception from cinder.i18n import _, _LE, _LI, _LW +from cinder import objects from cinder import utils from cinder.volume import driver from cinder.volume.drivers.san import san @@ -406,7 +407,7 @@ class PureBaseVolumeDriver(san.SanDriver): pgsnap_suffix = self._get_pgroup_snap_suffix(cgsnapshot) self._array.create_pgroup_snapshot(pgroup_name, suffix=pgsnap_suffix) - snapshots = self.db.snapshot_get_all_for_cgsnapshot( + snapshots = objects.SnapshotList().get_all_for_cgsnapshot( context, cgsnapshot.id) for snapshot in snapshots: @@ -437,7 +438,7 @@ class PureBaseVolumeDriver(san.SanDriver): LOG.warning(_LW("Unable to delete Protection Group " "Snapshot: %s"), err.text) - snapshots = self.db.snapshot_get_all_for_cgsnapshot( + snapshots = objects.SnapshotList.get_all_for_cgsnapshot( context, cgsnapshot.id) for snapshot in snapshots: -- 2.45.2