summaryrefslogtreecommitdiffstats
path: root/snaps/openstack/utils/glance_utils.py
diff options
context:
space:
mode:
authorCristina Pauna <cristina.pauna@enea.com>2017-02-24 16:41:46 +0200
committerCristina Pauna <cristina.pauna@enea.com>2017-03-01 17:10:34 +0200
commit8392f34fbc479e04c9e8d803c7b5179a9070cde1 (patch)
treec4588b7ddc9868cab5da1aeafda6cfd5a9466d09 /snaps/openstack/utils/glance_utils.py
parentc613af85630307c1c50ccd109d8c4efae5f0265b (diff)
Add support for extra properties in an image
This patch adds a new setting for images, extra_properties. This field is a dict and can be used to create a 3-part image by setting the kernel_id and the ramdisk_id of the main image. Unit tests have been added to set some generic property, for creation of the 3-part image, and for creating an instance with that 3-part image JIRA: SNAPS-32 Change-Id: Ifb53d1da1085fcd6429ddc0607c905522db5e8bb Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
Diffstat (limited to 'snaps/openstack/utils/glance_utils.py')
-rw-r--r--snaps/openstack/utils/glance_utils.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/snaps/openstack/utils/glance_utils.py b/snaps/openstack/utils/glance_utils.py
index 6d90d3e..3be2a47 100644
--- a/snaps/openstack/utils/glance_utils.py
+++ b/snaps/openstack/utils/glance_utils.py
@@ -61,10 +61,22 @@ def create_image(glance, image_settings):
:raise Exception if using a file and it cannot be found
"""
if image_settings.url:
+ if image_settings.extra_properties:
+ return glance.images.create(name=image_settings.name,
+ disk_format=image_settings.format,
+ container_format="bare",
+ location=image_settings.url,
+ properties=image_settings.extra_properties)
return glance.images.create(name=image_settings.name, disk_format=image_settings.format,
container_format="bare", location=image_settings.url)
elif image_settings.image_file:
image_file = file_utils.get_file(image_settings.image_file)
+ if image_settings.extra_properties:
+ return glance.images.create(name=image_settings.name,
+ disk_format=image_settings.format,
+ container_format="bare",
+ data=image_file,
+ properties=image_settings.extra_properties)
return glance.images.create(name=image_settings.name, disk_format=image_settings.format,
container_format="bare", data=image_file)