Parcourir la source

Restructured image and container services - renamed methods to list,
get, create and find.

nuwan_ag il y a 10 ans
Parent
commit
6adb9e44f4

+ 2 - 2
cloudbridge/providers/aws/resources.py

@@ -85,7 +85,7 @@ class AWSMachineImage(BaseMachineImage):
         Refreshes the state of this instance by re-querying the cloud provider
         for its latest state.
         """
-        image = self._provider.images.get_image(self.image_id)
+        image = self._provider.images.get(self.image_id)
         if image:
             self._ec2_image = image._ec2_image
         else:
@@ -291,7 +291,7 @@ class AWSInstance(BaseInstance):
         # if the image cannot be found
         retry_decorator = retry(retry_on_result=lambda result: result is None,
                                 stop_max_attempt_number=3, wait_fixed=1000)
-        image = retry_decorator(self._provider.images.get_image)(image_id)
+        image = retry_decorator(self._provider.images.get)(image_id)
         return image
 
     @property

+ 7 - 7
cloudbridge/providers/aws/services.py

@@ -305,7 +305,7 @@ class AWSObjectStoreService(BaseObjectStoreService):
     def __init__(self, provider):
         super(AWSObjectStoreService, self).__init__(provider)
 
-    def get_container(self, container_id):
+    def get(self, container_id):
         """
         Returns a container given its id. Returns None if the container
         does not exist.
@@ -316,21 +316,21 @@ class AWSObjectStoreService(BaseObjectStoreService):
         else:
             return None
 
-    def find_container(self, name):
+    def find(self, name):
         """
         Searches for a container by a given list of attributes
         """
         raise NotImplementedError(
             'find_container not implemented by this provider')
 
-    def list_containers(self):
+    def list(self):
         """
         List all containers.
         """
         buckets = self.provider.s3_conn.get_all_buckets()
         return [AWSContainer(self.provider, bucket) for bucket in buckets]
 
-    def create_container(self, name, location=None):
+    def create(self, name, location=None):
         """
         Create a new container.
         """
@@ -345,7 +345,7 @@ class AWSImageService(BaseImageService):
     def __init__(self, provider):
         super(AWSImageService, self).__init__(provider)
 
-    def get_image(self, image_id):
+    def get(self, image_id):
         """
         Returns an Image given its id
         """
@@ -358,14 +358,14 @@ class AWSImageService(BaseImageService):
 
         return None
 
-    def find_image(self, name):
+    def find(self, name):
         """
         Searches for an image by a given list of attributes
         """
         raise NotImplementedError(
             'find_image not implemented by this provider')
 
-    def list_images(self):
+    def list(self):
         """
         List all images.
         """

+ 7 - 7
cloudbridge/providers/interfaces/services.py

@@ -317,7 +317,7 @@ class ImageService(ProviderService):
     __metaclass__ = ABCMeta
 
     @abstractmethod
-    def get_image(self, image_id):
+    def get(self, image_id):
         """
         Returns an Image given its id. Returns None if the Image does not
         exist.
@@ -328,7 +328,7 @@ class ImageService(ProviderService):
         pass
 
     @abstractmethod
-    def find_image(self, name):
+    def find(self, name):
         """
         Searches for an image by a given list of attributes
 
@@ -338,7 +338,7 @@ class ImageService(ProviderService):
         pass
 
     @abstractmethod
-    def list_images(self):
+    def list(self):
         """
         List all images.
 
@@ -356,7 +356,7 @@ class ObjectStoreService(ProviderService):
     __metaclass__ = ABCMeta
 
     @abstractmethod
-    def get_container(self, container_id):
+    def get(self, container_id):
         """
         Returns a container given its id. Returns None if the container
         does not exist.
@@ -367,7 +367,7 @@ class ObjectStoreService(ProviderService):
         pass
 
     @abstractmethod
-    def find_container(self, name):
+    def find(self, name):
         """
         Searches for a container by a given list of attributes
 
@@ -377,7 +377,7 @@ class ObjectStoreService(ProviderService):
         pass
 
     @abstractmethod
-    def list_containers(self):
+    def list(self):
         """
         List all containers.
 
@@ -387,7 +387,7 @@ class ObjectStoreService(ProviderService):
         pass
 
     @abstractmethod
-    def create_container(self, name, location=None):
+    def create(self, name, location=None):
         """
         Create a new container.
 

+ 6 - 6
cloudbridge/providers/openstack/resources.py

@@ -80,7 +80,7 @@ class OpenStackMachineImage(BaseMachineImage):
         Refreshes the state of this instance by re-querying the cloud provider
         for its latest state.
         """
-        image = self._provider.images.get_image(self.image_id)
+        image = self._provider.images.get(self.image_id)
         if image:
             self._os_image = image._os_image
         else:
@@ -308,7 +308,7 @@ class OpenStackInstance(BaseInstance):
         """
         image_id = self._os_instance.create_image(name)
         return OpenStackMachineImage(
-            self._provider, self._provider.images.get_image(image_id))
+            self._provider, self._provider.images.get(image_id))
 
     @property
     def state(self):
@@ -320,7 +320,7 @@ class OpenStackInstance(BaseInstance):
         Refreshes the state of this instance by re-querying the cloud provider
         for its latest state.
         """
-        instance = self._provider.compute.get_instance(
+        instance = self._provider.compute.instances.get(
             self.instance_id)
         if instance:
             self._os_instance = instance._os_instance
@@ -406,7 +406,7 @@ class OpenStackVolume(BaseVolume):
         """
         Create a snapshot of this Volume.
         """
-        return self._provider.block_store.snapshots.create_snapshot(
+        return self._provider.block_store.snapshots.create(
             name, self, description=description)
 
     def delete(self):
@@ -425,7 +425,7 @@ class OpenStackVolume(BaseVolume):
         Refreshes the state of this volume by re-querying the cloud provider
         for its latest state.
         """
-        vol = self._provider.block_store.volumes.get_volume(
+        vol = self._provider.block_store.volumes.get(
             self.volume_id)
         if vol:
             self._volume = vol._volume
@@ -482,7 +482,7 @@ class OpenStackSnapshot(BaseSnapshot):
         Refreshes the state of this snapshot by re-querying the cloud provider
         for its latest state.
         """
-        snap = self._provider.block_store.snapshots.get_snapshot(
+        snap = self._provider.block_store.snapshots.get(
             self.snapshot_id)
         if snap:
             self._snapshot = snap._snapshot

+ 7 - 7
cloudbridge/providers/openstack/services.py

@@ -204,7 +204,7 @@ class OpenStackImageService(BaseImageService):
     def __init__(self, provider):
         super(OpenStackImageService, self).__init__(provider)
 
-    def get_image(self, image_id):
+    def get(self, image_id):
         """
         Returns an Image given its id
         """
@@ -214,14 +214,14 @@ class OpenStackImageService(BaseImageService):
         except NovaNotFound:
             return None
 
-    def find_image(self, name):
+    def find(self, name):
         """
         Searches for an image by a given list of attributes
         """
         raise NotImplementedError(
             'find_image not implemented by this provider')
 
-    def list_images(self):
+    def list(self):
         """
         List all images.
         """
@@ -353,7 +353,7 @@ class OpenStackObjectStoreService(BaseObjectStoreService):
     def __init__(self, provider):
         super(OpenStackObjectStoreService, self).__init__(provider)
 
-    def get_container(self, container_id):
+    def get(self, container_id):
         """
         Returns a container given its id. Returns None if the container
         does not exist.
@@ -365,14 +365,14 @@ class OpenStackObjectStoreService(BaseObjectStoreService):
         else:
             return None
 
-    def find_container(self, name):
+    def find(self, name):
         """
         Searches for a container by a given list of attributes
         """
         raise NotImplementedError(
             'find_container not implemented by this provider')
 
-    def list_containers(self):
+    def list(self):
         """
         List all containers.
         """
@@ -380,7 +380,7 @@ class OpenStackObjectStoreService(BaseObjectStoreService):
         return [
             OpenStackContainer(self._provider, c) for c in container_list]
 
-    def create_container(self, name, location=None):
+    def create(self, name, location=None):
         """
         Create a new container.
         """

+ 3 - 3
test/test_provider_image_service.py

@@ -33,7 +33,7 @@ class ProviderImageServiceTestCase(ProviderTestBase):
                         test_image.description, six.string_types),
                     "Image description must be None or a string")
 
-                images = self.provider.images.list_images()
+                images = self.provider.images.list()
                 found_images = [image for image in images
                                 if image.name == name]
                 self.assertTrue(
@@ -41,7 +41,7 @@ class ProviderImageServiceTestCase(ProviderTestBase):
                     "List images does not return the expected image %s" %
                     name)
 
-                get_img = self.provider.images.get_image(
+                get_img = self.provider.images.get(
                     test_image.image_id)
                 self.assertTrue(
                     found_images[0].image_id ==
@@ -65,7 +65,7 @@ class ProviderImageServiceTestCase(ProviderTestBase):
                     interval=self.get_test_wait_interval())
                 # TODO: Images take a long time to deregister on EC2. Needs
                 # investigation
-                images = self.provider.images.list_images()
+                images = self.provider.images.list()
                 found_images = [image for image in images
                                 if image.name == name]
                 self.assertTrue(

+ 6 - 6
test/test_provider_object_store_service.py

@@ -22,16 +22,16 @@ class ProviderObjectStoreServiceTestCase(ProviderTestBase):
         and delete it
         """
         name = "cbtestcreatecontainer-{0}".format(uuid.uuid4())
-        test_container = self.provider.object_store.create_container(name)
+        test_container = self.provider.object_store.create(name)
         with helpers.exception_action(lambda: test_container.delete()):
-            containers = self.provider.object_store.list_containers()
+            containers = self.provider.object_store.list()
             found_containers = [c for c in containers if c.name == name]
             self.assertTrue(
                 len(found_containers) == 1,
                 "List containers does not return the expected container %s" %
                 name)
 
-            get_container = self.provider.object_store.get_container(
+            get_container = self.provider.object_store.get(
                 test_container.name)
             self.assertTrue(
                 found_containers[0].name ==
@@ -42,7 +42,7 @@ class ProviderObjectStoreServiceTestCase(ProviderTestBase):
                                          test_container.name))
 
             test_container.delete()
-            containers = self.provider.object_store.list_containers()
+            containers = self.provider.object_store.list()
             found_containers = [c for c in containers if c.name == name]
             self.assertTrue(
                 len(found_containers) == 0,
@@ -56,7 +56,7 @@ class ProviderObjectStoreServiceTestCase(ProviderTestBase):
         Delete everything afterwards.
         """
         name = "cbtestcontainerobjs-{0}".format(uuid.uuid4())
-        test_container = self.provider.object_store.create_container(name)
+        test_container = self.provider.object_store.create(name)
 
         # ensure that the container is empty
         objects = test_container.list()
@@ -91,7 +91,7 @@ class ProviderObjectStoreServiceTestCase(ProviderTestBase):
     def test_upload_download_container_content(self):
 
         name = "cbtestcontainerobjs-{0}".format(uuid.uuid4())
-        test_container = self.provider.object_store.create_container(name)
+        test_container = self.provider.object_store.create(name)
 
         with helpers.exception_action(lambda: test_container.delete()):
             obj_name = "hello_upload_download.txt"