1 from nova.exception import ImageNotFound
2 from sfa.rspecs.elements.disk_image import DiskImage
6 def __init__(self, driver):
10 def disk_image_to_rspec_object(image):
12 img['name'] = image['ami']['name']
13 img['description'] = image['ami']['name']
14 img['os'] = image['ami']['name']
15 img['version'] = image['ami']['name']
18 def get_available_disk_images(self):
21 for image in self.driver.shell.image_manager.detail():
22 if image['container_format'] == 'ami':
23 disk_images.append(self.get_machine_image_details(image))
26 def get_machine_image_details(self, image):
28 Returns a dict that contains the ami, aki and ari details for the specified
32 if image['container_format'] == 'ami':
33 kernel_id = image['properties']['kernel_id']
34 ramdisk_id = image['properties']['ramdisk_id']
35 disk_image['ami'] = image
36 disk_image['aki'] = self.driver.shell.image_manager.show(kernel_id)
37 disk_image['ari'] = self.driver.shell.image_manager.show(ramdisk_id)
40 def get_disk_image(self, id=None, name=None):
42 Look up a image bundle using the specifeid id or name
47 image = self.driver.shell.image_manager.show(id)
49 image = self.driver.shell.image_manager.show_by_name(name)
50 if image['container_format'] == 'ami':
51 disk_image = self.get_machine_image_details(image)