- # Create Image
- self.image_creator = OpenStackImage(self.os_creds, self.os_image_settings)
- self.image_creator.create()
+ # Create Image; 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=self.os_image_settings.name+'_kernel', url=self.image_metadata['kernel_url'])
+ self.image_creators.append(OpenStackImage(self.os_creds, kernel_image_settings))
+ kernel_image = self.image_creators[-1].create()
+ self.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=self.os_image_settings.name+'_ramdisk', url=self.image_metadata['ramdisk_url'])
+ self.image_creators.append(OpenStackImage(self.os_creds, ramdisk_image_settings))
+ ramdisk_image = self.image_creators[-1].create()
+ self.os_image_settings.extra_properties['ramdisk_id'] = ramdisk_image.id
+
+ self.image_creators.append(OpenStackImage(self.os_creds, self.os_image_settings))
+ self.image_creators[-1].create()