1 from nova.exception import ImageNotFound
2 from sfa.rspecs.elements.disk_image import DiskImage
7 def __init__(self, image=None):
8 if image is None: image={}
10 self.container_format = None
12 self.ramdisk_id = None
13 self.properties = None
15 self.description = None
20 self.parse_image(image)
22 def parse_image(self, image):
23 if isinstance(image, dict):
25 self.name = image['name']
26 self.container_format = image['container_format']
27 self.properties = image['properties']
28 if 'kernel_id' in self.properties:
29 self.kernel_id = self.properties['kernel_id']
30 if 'ramdisk_id' in self.properties:
31 self.ramdisk_id = self.properties['ramdisk_id']
33 def to_rspec_object(self):
35 img['name'] = self.name
36 img['description'] = self.name
38 img['version'] = self.name
43 def __init__(self, driver):
47 def disk_image_to_rspec_object(image):
49 return img.to_rspec_object()
51 def get_available_disk_images(self):
54 for img in self.driver.shell.image_manager.get_images_detailed():
56 if image.container_format in ['ami', 'ovf']:
57 disk_images.append(image)
60 def get_disk_image(self, id=None, name=None):
62 Look up a image bundle using the specifeid id or name
67 image = self.driver.shell.nova_manager.images.find(id=id)
69 image = self.driver.shell.nova_manager.images.find(name=name)