From: Eric Harney Date: Tue, 8 Sep 2015 17:31:31 +0000 (-0400) Subject: Add migrate_volume to BaseVD X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=223fbd36b7ec433040f5b95dcbaacf46f6939b79;p=openstack-build%2Fcinder-build.git Add migrate_volume to BaseVD migrate_volume() only exists in the deprecated VolumeDriver() class and not BaseVD. This means that drivers inheriting from *VD hit attribute errors when trying to call driver.migrate_volume(). I suspect this indicates that we should rework some of our abc class structure a little bit, but this seems like a reasonable fix for now. Related-Bug: #1478987 Related-Bug: #1471807 Closes-Bug: #1493286 Change-Id: I3d555507416606db265b8ebe335b51a08fe32328 --- diff --git a/cinder/tests/unit/test_glusterfs.py b/cinder/tests/unit/test_glusterfs.py index 776acafa2..1ab471c4f 100644 --- a/cinder/tests/unit/test_glusterfs.py +++ b/cinder/tests/unit/test_glusterfs.py @@ -1792,3 +1792,16 @@ class GlusterFsDriverTestCase(test.TestCase): mock_upload_volume.assert_called_once_with( mock.ANY, mock.ANY, mock.ANY, upload_path) self.assertEqual(1, mock_create_temporary_file.call_count) + + def test_migrate_volume_is_there(self): + """Ensure that driver.migrate_volume() is there.""" + + drv = self._driver + + ctxt = context.RequestContext('fake_user', 'fake_project') + volume = self._simple_volume() + ret = drv.migrate_volume(ctxt, + volume, + mock.sentinel.host) + + self.assertEqual((False, None), ret) diff --git a/cinder/volume/driver.py b/cinder/volume/driver.py index f8378871b..2b3f2a540 100644 --- a/cinder/volume/driver.py +++ b/cinder/volume/driver.py @@ -1396,6 +1396,14 @@ class BaseVD(object): """ return None + def migrate_volume(self, context, volume, host): + """Migrate volume stub. + + This is for drivers that don't implement an enhanced version + of this operation. + """ + return (False, None) + @six.add_metaclass(abc.ABCMeta) class LocalVD(object):