1 from nova.exception import ImageNotFound
2 from sfa.rspecs.elements.disk_image import DiskImage
7 def __init__(self, image=None):
11 self.container_format = None
13 self.ramdisk_id = None
14 self.properties = None
16 self.description = None
21 self.parse_image(image)
23 def parse_image(self, image):
24 if isinstance(image, dict):
26 self.name = image['name']
27 self.container_format = image['container_format']
28 self.properties = image['properties']
29 if 'kernel_id' in self.properties:
30 self.kernel_id = self.properties['kernel_id']
31 if 'ramdisk_id' in self.properties:
32 self.ramdisk_id = self.properties['ramdisk_id']
34 def to_rspec_object(self):
36 img['name'] = self.name
37 img['description'] = self.name
39 img['version'] = self.name
45 def __init__(self, driver):
49 def disk_image_to_rspec_object(image):
51 return img.to_rspec_object()
53 def get_available_disk_images(self):
56 for img in self.driver.shell.image_manager.get_images_detailed():
58 if image.container_format in ['ami', 'ovf']:
59 disk_images.append(image)
62 def get_disk_image(self, id=None, name=None):
64 Look up a image bundle using the specifeid id or name
69 image = self.driver.shell.nova_manager.images.find(id=id)
71 image = self.driver.shell.nova_manager.images.find(name=name)