the big cleanup: deprecate federica driver
[sfa.git] / sfa / openstack / image.py
index 2449e42..4e511df 100644 (file)
@@ -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)