From c25140b27229ce85ecbcabfe5af84622b36f0209 Mon Sep 17 00:00:00 2001 From: Catalina Focsa Date: Mon, 28 Aug 2017 14:31:12 +0200 Subject: Add UEFI support in functest Add extra properties to the cirros image for ARM architecture. In the glanceclient repository, the create method expects **kwargs as parameters, thus an extra_properties variable containing a dictionary of property-value pairs can be added (if given) to the image to be created. If the properties do not appear, the call should not affect the image properties because the dictionary is initialized as empty. Change-Id: I690da90e6c6f250bd0a3d99cce39aa250e19b9c2 Signed-off-by: Catalina Focsa --- functest/utils/openstack_utils.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'functest/utils/openstack_utils.py') diff --git a/functest/utils/openstack_utils.py b/functest/utils/openstack_utils.py index 73d1cde4..def0539b 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: -- cgit 1.2.3-korg