Allow kwargs in create_volume_from_image
As a part of the scenario/manager.py stabilization tracked by
the below BP the patch adds kwargs argument for create_volume_from_image
method so that the consumers are able to pass additional
parameters if needed.
Implements: blueprint tempest-scenario-manager-stable
Change-Id: I0eaa3bbbdceae21b9fc0e973bfeab971b06070bc
diff --git a/tempest/scenario/manager.py b/tempest/scenario/manager.py
index 2b13e5b..db27835 100644
--- a/tempest/scenario/manager.py
+++ b/tempest/scenario/manager.py
@@ -948,12 +948,21 @@
return self.create_server(**create_kwargs)
- def create_volume_from_image(self):
- """Create volume from image"""
- img_uuid = CONF.compute.image_ref
- vol_name = data_utils.rand_name(
- self.__class__.__name__ + '-volume-origin')
- return self.create_volume(name=vol_name, imageRef=img_uuid)
+ def create_volume_from_image(self, **kwargs):
+ """Create volume from image.
+
+ :param image_id: ID of the image to create volume from,
+ CONF.compute.image_ref by default
+ :param name: name of the volume,
+ '$classname-volume-origin' by default
+ :param **kwargs: additional parameters
+ """
+ image_id = kwargs.pop('image_id', CONF.compute.image_ref)
+ name = kwargs.pop('name', None)
+ if not name:
+ namestart = self.__class__.__name__ + '-volume-origin'
+ name = data_utils.rand_name(namestart)
+ return self.create_volume(name=name, imageRef=image_id, **kwargs)
class NetworkScenarioTest(ScenarioTest):