Currently retyping on the same backend requires a migration to occur
due to using the default implementation of retype on the base volume
driver.
Volumes on the Pure arrays do not have any differentiation
between volume types Cinder may be using. Because of this we can
implement a retype method that will be used whenever changing
types on the same backend that essentially does nothing except return.
Change-Id: Ibf4c57166fe5742cc7e079c4422f7efd2b6dce79
Closes-Bug:
1477780
self.array.rename_volume.assert_called_with(vol_name,
unmanaged_vol_name)
+ def test_retype(self):
+ # Ensure that we return true no matter what the inputs are
+ retyped, update = self.driver.retype(None, None, None, None, None)
+ self.assertTrue(retyped)
+ self.assertIsNone(update)
+
class PureISCSIDriverTestCase(PureDriverTestCase):
return connection
+ def retype(self, context, volume, new_type, diff, host):
+ """Retype from one volume type to another on the same backend.
+
+ For a Pure Array there is currently no differentiation between types
+ of volumes. This means that changing from one type to another on the
+ same array should be a no-op.
+ """
+ return True, None
+
class PureISCSIDriver(PureBaseVolumeDriver, san.SanISCSIDriver):