Merge "Implement volume update"
This commit is contained in:
@@ -5097,6 +5097,23 @@ class OpenStackCloud(_normalize.Normalizer):
|
|||||||
|
|
||||||
return self._normalize_volume(volume)
|
return self._normalize_volume(volume)
|
||||||
|
|
||||||
|
def update_volume(self, name_or_id, **kwargs):
|
||||||
|
kwargs = self._get_volume_kwargs(kwargs)
|
||||||
|
|
||||||
|
volume = self.get_volume(name_or_id)
|
||||||
|
if not volume:
|
||||||
|
raise exc.OpenStackCloudException(
|
||||||
|
"Volume %s not found." % name_or_id)
|
||||||
|
|
||||||
|
data = self._volume_client.put(
|
||||||
|
'/volumes/{volume_id}'.format(volume_id=volume.id),
|
||||||
|
json=dict({'volume': kwargs}),
|
||||||
|
error_message='Error updating volume')
|
||||||
|
|
||||||
|
self.list_volumes.invalidate(self)
|
||||||
|
|
||||||
|
return self._normalize_volume(self._get_and_munchify('volume', data))
|
||||||
|
|
||||||
def set_volume_bootable(self, name_or_id, bootable=True):
|
def set_volume_bootable(self, name_or_id, bootable=True):
|
||||||
"""Set a volume's bootable flag.
|
"""Set a volume's bootable flag.
|
||||||
|
|
||||||
|
@@ -149,3 +149,15 @@ class TestVolume(base.BaseFunctionalTest):
|
|||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
sorted([i['id'] for i in volumes]),
|
sorted([i['id'] for i in volumes]),
|
||||||
sorted(result))
|
sorted(result))
|
||||||
|
|
||||||
|
def test_update_volume(self):
|
||||||
|
name, desc = self.getUniqueString('name'), self.getUniqueString('desc')
|
||||||
|
self.addCleanup(self.cleanup, name)
|
||||||
|
volume = self.user_cloud.create_volume(1, name=name, description=desc)
|
||||||
|
self.assertEqual(volume.name, name)
|
||||||
|
self.assertEqual(volume.description, desc)
|
||||||
|
new_name = self.getUniqueString('name')
|
||||||
|
volume = self.user_cloud.update_volume(volume.id, name=new_name)
|
||||||
|
self.assertNotEqual(volume.name, name)
|
||||||
|
self.assertEqual(volume.name, new_name)
|
||||||
|
self.assertEqual(volume.description, desc)
|
||||||
|
Reference in New Issue
Block a user