X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fopenstack%2Fimage.py;h=4e511df190cb0193066b7e3660af7947350e6bcc;hb=1505f3a42ea06ef30959e9e54fa7298eb55d83ee;hp=2449e42dea276958e649d9a82f79ad716bbd6811;hpb=5217d46556d445cf0b91d95811d112d758ba8be1;p=sfa.git diff --git a/sfa/openstack/image.py b/sfa/openstack/image.py index 2449e42d..4e511df1 100644 --- a/sfa/openstack/image.py +++ b/sfa/openstack/image.py @@ -3,8 +3,10 @@ from sfa.rspecs.elements.disk_image import DiskImage class Image: - - def __init__(self, image={}): + + def __init__(self, image=None): + if image is None: + image = {} self.id = None self.container_format = None self.kernel_id = None @@ -20,22 +22,23 @@ class Image: def parse_image(self, image): if isinstance(image, dict): - self.id = image['id'] + self.id = image['id'] self.name = image['name'] self.container_format = image['container_format'] - self.properties = image['properties'] + self.properties = image['properties'] if 'kernel_id' in self.properties: self.kernel_id = self.properties['kernel_id'] if 'ramdisk_id' in self.properties: self.ramdisk_id = self.properties['ramdisk_id'] - + def to_rspec_object(self): img = DiskImage() img['name'] = self.name img['description'] = self.name img['os'] = self.name img['version'] = self.name - return img + return img + class ImageManager: @@ -50,7 +53,7 @@ class ImageManager: def get_available_disk_images(self): # get image records disk_images = [] - for img in self.driver.shell.image_manager.detail(): + for img in self.driver.shell.image_manager.get_images_detailed(): image = Image(img) if image.container_format in ['ami', 'ovf']: disk_images.append(image) @@ -63,13 +66,9 @@ class ImageManager: disk_image = None try: if id: - image = self.driver.shell.image_manager.show(id) + image = self.driver.shell.nova_manager.images.find(id=id) elif name: - image = self.driver.shell.image_manager.show_by_name(name) - if image['container_format'] in ['ami', 'ovf']: - disk_image = Image(image) + image = self.driver.shell.nova_manager.images.find(name=name) except ImageNotFound: - pass - return disk_image - - + pass + return Image(image)