diff options
-rw-r--r-- | functest/ci/config_aarch64_patch.yaml | 4 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/rally/rally.py | 7 | ||||
-rw-r--r-- | functest/utils/openstack_utils.py | 20 |
3 files changed, 25 insertions, 6 deletions
diff --git a/functest/ci/config_aarch64_patch.yaml b/functest/ci/config_aarch64_patch.yaml index 6b3699b4..44df3cad 100644 --- a/functest/ci/config_aarch64_patch.yaml +++ b/functest/ci/config_aarch64_patch.yaml @@ -4,6 +4,10 @@ os: image_name: TestVM image_file_name: cirros-d161201-aarch64-disk.img image_password: gocubsgo + extra_properties: + hw_firmware_type: 'uefi' + hw_video_model: 'vga' + short_id: 'ubuntu16.04' snaps: images: glance_tests: diff --git a/functest/opnfv_tests/openstack/rally/rally.py b/functest/opnfv_tests/openstack/rally/rally.py index fdef8bed..2042b2d1 100644 --- a/functest/opnfv_tests/openstack/rally/rally.py +++ b/functest/opnfv_tests/openstack/rally/rally.py @@ -42,6 +42,10 @@ class RallyBase(testcase.OSGCTestCase): CONST.__getattribute__('dir_functest_images'), GLANCE_IMAGE_FILENAME) GLANCE_IMAGE_FORMAT = CONST.__getattribute__('openstack_image_disk_format') + GLANCE_IMAGE_EXTRA_PROPERTIES = {} + if hasattr(CONST, 'openstack_extra_properties'): + GLANCE_IMAGE_EXTRA_PROPERTIES = CONST.__getattribute__( + 'openstack_extra_properties') FLAVOR_NAME = "m1.tiny" RALLY_DIR = pkg_resources.resource_filename( @@ -462,7 +466,8 @@ class RallyBase(testcase.OSGCTestCase): self.image_exists, self.image_id = os_utils.get_or_create_image( self.GLANCE_IMAGE_NAME, self.GLANCE_IMAGE_PATH, - self.GLANCE_IMAGE_FORMAT) + self.GLANCE_IMAGE_FORMAT, + self.GLANCE_IMAGE_EXTRA_PROPERTIES) if self.image_id is None: raise Exception("Failed to get or create image '%s'" % self.GLANCE_IMAGE_NAME) 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: |