1 from nova.exception import ImageNotFound
2 from sfa.rspecs.elements.disk_image import DiskImage
7 def __init__(self, image={}):
9 self.container_format = None
11 self.ramdisk_id = None
12 self.properties = None
14 self.description = None
19 self.parse_image(image)
21 def parse_image(self, image):
22 if isinstance(image, dict):
24 self.name = image['name']
25 self.container_format = image['container_format']
26 self.properties = image['properties']
27 if 'kernel_id' in self.properties:
28 self.kernel_id = self.properties['kernel_id']
29 if 'ramdisk_id' in self.properties:
30 self.ramdisk_id = self.properties['ramdisk_id']
32 def to_rspec_object(self):
34 img['name'] = self.name
35 img['description'] = self.name
37 img['version'] = self.name
42 def __init__(self, driver):
46 def disk_image_to_rspec_object(image):
48 return img.to_rspec_object()
50 def get_available_disk_images(self):
53 for img in self.driver.shell.image_manager.get_images_detailed():
55 if image.container_format in ['ami', 'ovf']:
56 disk_images.append(image)
59 def get_disk_image(self, id=None, name=None):
61 Look up a image bundle using the specifeid id or name
66 image = self.driver.shell.nova_manager.images.find(id=id)
68 image = self.driver.shell.nova_manager.images.find(name=name)