summaryrefslogtreecommitdiffstats
path: root/snaps/provisioning/tests/ansible_utils_tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'snaps/provisioning/tests/ansible_utils_tests.py')
-rw-r--r--snaps/provisioning/tests/ansible_utils_tests.py36
1 files changed, 30 insertions, 6 deletions
diff --git a/snaps/provisioning/tests/ansible_utils_tests.py b/snaps/provisioning/tests/ansible_utils_tests.py
index 552171f..92a56dc 100644
--- a/snaps/provisioning/tests/ansible_utils_tests.py
+++ b/snaps/provisioning/tests/ansible_utils_tests.py
@@ -62,13 +62,35 @@ class AnsibleProvisioningTests(OSIntegrationTestCase):
self.flavor_creator = None
self.router_creator = None
self.network_creator = None
- self.image_creator = None
+ self.image_creators = list()
try:
# Create Image
os_image_settings = openstack_tests.ubuntu_url_image(name=guid + '-' + '-image')
- self.image_creator = create_image.OpenStackImage(self.os_creds, os_image_settings)
- self.image_creator.create()
+ if self.image_metadata:
+ if self.image_metadata['disk_url']:
+ os_image_settings.url = self.image_metadata['disk_url']
+ if self.image_metadata['extra_properties']:
+ os_image_settings.extra_properties = self.image_metadata['extra_properties']
+
+ # If this is a 3-part image create the kernel and ramdisk images first
+ if self.image_metadata:
+ if self.image_metadata['kernel_url']:
+ kernel_image_settings = openstack_tests.cirros_url_image(
+ name=os_image_settings.name+'_kernel', url=self.image_metadata['kernel_url'])
+ self.image_creators.append(create_image.OpenStackImage(self.os_creds, kernel_image_settings))
+ kernel_image = self.image_creators[-1].create()
+ os_image_settings.extra_properties['kernel_id'] = kernel_image.id
+
+ if self.image_metadata['ramdisk_url']:
+ ramdisk_image_settings = openstack_tests.cirros_url_image(
+ name=os_image_settings.name+'_ramdisk', url=self.image_metadata['ramdisk_url'])
+ self.image_creators.append(create_image.OpenStackImage(self.os_creds, ramdisk_image_settings))
+ ramdisk_image = self.image_creators[-1].create()
+ os_image_settings.extra_properties['ramdisk_id'] = ramdisk_image.id
+
+ self.image_creators.append(create_image.OpenStackImage(self.os_creds, os_image_settings))
+ self.image_creators[-1].create()
# First network is public
self.pub_net_config = openstack_tests.get_pub_net_config(
@@ -109,7 +131,7 @@ class AnsibleProvisioningTests(OSIntegrationTestCase):
router_name=self.pub_net_config.router_settings.name)])
self.inst_creator = create_instance.OpenStackVmInstance(
- self.os_creds, instance_settings, self.image_creator.image_settings,
+ self.os_creds, instance_settings, self.image_creators[-1].image_settings,
keypair_settings=self.keypair_creator.keypair_settings)
except Exception as e:
self.tearDown()
@@ -140,8 +162,10 @@ class AnsibleProvisioningTests(OSIntegrationTestCase):
if self.network_creator:
self.network_creator.clean()
- if self.image_creator:
- self.image_creator.clean()
+ if self.image_creators:
+ while self.image_creators:
+ self.image_creators[-1].clean()
+ self.image_creators.pop()
if os.path.isfile(self.test_file_local_path):
os.remove(self.test_file_local_path)