aboutsummaryrefslogtreecommitdiffstats
path: root/functest/utils/openstack_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'functest/utils/openstack_utils.py')
-rw-r--r--functest/utils/openstack_utils.py79
1 files changed, 15 insertions, 64 deletions
diff --git a/functest/utils/openstack_utils.py b/functest/utils/openstack_utils.py
index 73d1cde4..f211627a 100644
--- a/functest/utils/openstack_utils.py
+++ b/functest/utils/openstack_utils.py
@@ -1195,8 +1195,13 @@ def get_image_id(glance_client, image_name):
return id
-def create_glance_image(glance_client, image_name, file_path, disk="qcow2",
- container="bare", public="public"):
+def create_glance_image(glance_client,
+ image_name,
+ file_path,
+ disk="qcow2",
+ extra_properties={},
+ container="bare",
+ public="public"):
if not os.path.isfile(file_path):
logger.error("Error: file %s does not exist." % file_path)
return None
@@ -1211,7 +1216,8 @@ def create_glance_image(glance_client, image_name, file_path, disk="qcow2",
image = glance_client.images.create(name=image_name,
visibility=public,
disk_format=disk,
- container_format=container)
+ container_format=container,
+ **extra_properties)
image_id = image.id
with open(file_path) as image_data:
glance_client.images.upload(image_id, image_data)
@@ -1222,7 +1228,7 @@ def create_glance_image(glance_client, image_name, file_path, disk="qcow2",
return None
-def get_or_create_image(name, path, format):
+def get_or_create_image(name, path, format, extra_properties):
image_exists = False
glance_client = get_glance_client()
@@ -1232,7 +1238,11 @@ def get_or_create_image(name, path, format):
image_exists = True
else:
logger.info("Creating image '%s' from '%s'..." % (name, path))
- image_id = create_glance_image(glance_client, name, path, format)
+ image_id = create_glance_image(glance_client,
+ name,
+ path,
+ format,
+ extra_properties)
if not image_id:
logger.error("Failed to create a Glance image...")
else:
@@ -1561,62 +1571,3 @@ def get_resource(heat_client, stack_id, resource):
except Exception as e:
logger.error("Error [get_resource]: %s" % e)
return None
-
-
-# *********************************************
-# TEMPEST
-# *********************************************
-def init_tempest_cleanup(tempest_config_dir=None,
- tempest_config_filename='tempest.conf',
- output_file=None):
- """
- Initialize the Tempest Cleanup utility.
- See https://docs.openstack.org/tempest/latest/cleanup.html for docs.
-
- :param tempest_config_dir: The directory where the Tempest config file is
- located. If not specified, we let Tempest pick both the directory
- and the filename (i.e. second parameter is ignored)
- :param tempest_config_filename: The filename of the Tempest config file
- :param output_file: Optional file where to save output
- """
- # The Tempest cleanup utility currently offers no cmd argument to specify
- # the config file, therefore it has to be configured with env variables
- env = None
- if tempest_config_dir:
- env = os.environ.copy()
- env['TEMPEST_CONFIG_DIR'] = tempest_config_dir
- env['TEMPEST_CONFIG'] = tempest_config_filename
-
- # If this command fails, an exception must be raised to stop the script
- # otherwise the later cleanup would destroy also other resources
- cmd_line = "tempest cleanup --init-saved-state"
- ft_utils.execute_command_raise(cmd_line, env=env, output_file=output_file,
- error_msg="Tempest cleanup init failed")
-
-
-def perform_tempest_cleanup(tempest_config_dir=None,
- tempest_config_filename='tempest.conf',
- output_file=None):
- """
- Perform cleanup using the Tempest Cleanup utility.
- See https://docs.openstack.org/tempest/latest/cleanup.html for docs.
-
- :param tempest_config_dir: The directory where the Tempest config file is
- located. If not specified, we let Tempest pick both the directory
- and the filename (i.e. second parameter is ignored)
- :param tempest_config_filename: The filename of the Tempest config file
- :param output_file: Optional file where to save output
- """
- # The Tempest cleanup utility currently offers no cmd argument to specify
- # the config file, therefore it has to be configured with env variables
- env = None
- if tempest_config_dir:
- env = os.environ.copy()
- env['TEMPEST_CONFIG_DIR'] = tempest_config_dir
- env['TEMPEST_CONFIG'] = tempest_config_filename
-
- # If this command fails, an exception must be raised to stop the script
- # otherwise the later cleanup would destroy also other resources
- cmd_line = "tempest cleanup"
- ft_utils.execute_command(cmd_line, env=env, output_file=output_file,
- error_msg="Tempest cleanup failed")