Преглед изворни кода

Restructured block store services - renamed methods to list, get, create
and find.

nuwan_ag пре 10 година
родитељ
комит
847dcd718e

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

@@ -199,16 +199,16 @@ class AWSBlockStoreService(BaseBlockStoreService):
         super(AWSBlockStoreService, self).__init__(provider)
 
         # Initialize provider services
-        self._volumes = AWSVolumeService(self.provider)
-        self._snapshots = AWSSnapshotService(self.provider)
+        self._volume_svc = AWSVolumeService(self.provider)
+        self._snapshot_svc = AWSSnapshotService(self.provider)
 
     @property
     def volumes(self):
-        return self._volumes
+        return self._volume_svc
 
     @property
     def snapshots(self):
-        return self._snapshots
+        return self._snapshot_svc
 
 
 class AWSVolumeService(BaseVolumeService):
@@ -216,28 +216,28 @@ class AWSVolumeService(BaseVolumeService):
     def __init__(self, provider):
         super(AWSVolumeService, self).__init__(provider)
 
-    def get_volume(self, volume_id):
+    def get(self, volume_id):
         """
         Returns a volume given its id.
         """
         vols = self.provider.ec2_conn.get_all_volumes(volume_ids=[volume_id])
         return AWSVolume(self.provider, vols[0]) if vols else None
 
-    def find_volume(self, name):
+    def find(self, name):
         """
         Searches for a volume by a given list of attributes.
         """
         raise NotImplementedError(
             'find_volume not implemented by this provider')
 
-    def list_volumes(self):
+    def list(self):
         """
         List all volumes.
         """
         return [AWSVolume(self.provider, vol)
                 for vol in self.provider.ec2_conn.get_all_volumes()]
 
-    def create_volume(self, name, size, zone, snapshot=None):
+    def create(self, name, size, zone, snapshot=None):
         """
         Creates a new volume.
         """
@@ -254,52 +254,12 @@ class AWSVolumeService(BaseVolumeService):
         return cb_vol
 
 
-class AWSObjectStoreService(BaseObjectStoreService):
-
-    def __init__(self, provider):
-        super(AWSObjectStoreService, self).__init__(provider)
-
-    def get_container(self, container_id):
-        """
-        Returns a container given its id. Returns None if the container
-        does not exist.
-        """
-        bucket = self.provider.s3_conn.lookup(container_id)
-        if bucket:
-            return AWSContainer(self.provider, bucket)
-        else:
-            return None
-
-    def find_container(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):
-        """
-        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):
-        """
-        Create a new container.
-        """
-        bucket = self.provider.s3_conn.create_bucket(
-            name,
-            location=location if location else '')
-        return AWSContainer(self.provider, bucket)
-
-
 class AWSSnapshotService(BaseSnapshotService):
 
     def __init__(self, provider):
         super(AWSSnapshotService, self).__init__(provider)
 
-    def get_snapshot(self, snapshot_id):
+    def get(self, snapshot_id):
         """
         Returns a snapshot given its id.
         """
@@ -307,14 +267,14 @@ class AWSSnapshotService(BaseSnapshotService):
             snapshot_ids=[snapshot_id])
         return AWSSnapshot(self.provider, snaps[0]) if snaps else None
 
-    def find_snapshot(self, name):
+    def find(self, name):
         """
         Searches for a volume by a given list of attributes.
         """
         raise NotImplementedError(
             'find_volume not implemented by this provider')
 
-    def list_snapshots(self):
+    def list(self):
         """
         List all snapshot.
         """
@@ -324,7 +284,7 @@ class AWSSnapshotService(BaseSnapshotService):
                 for snap in
                 self.provider.ec2_conn.get_all_snapshots(owner="self")]
 
-    def create_snapshot(self, name, volume, description=None):
+    def create(self, name, volume, description=None):
         """
         Creates a new snapshot of a given volume.
         """
@@ -340,6 +300,46 @@ class AWSSnapshotService(BaseSnapshotService):
         return cb_snap
 
 
+class AWSObjectStoreService(BaseObjectStoreService):
+
+    def __init__(self, provider):
+        super(AWSObjectStoreService, self).__init__(provider)
+
+    def get_container(self, container_id):
+        """
+        Returns a container given its id. Returns None if the container
+        does not exist.
+        """
+        bucket = self.provider.s3_conn.lookup(container_id)
+        if bucket:
+            return AWSContainer(self.provider, bucket)
+        else:
+            return None
+
+    def find_container(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):
+        """
+        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):
+        """
+        Create a new container.
+        """
+        bucket = self.provider.s3_conn.create_bucket(
+            name,
+            location=location if location else '')
+        return AWSContainer(self.provider, bucket)
+
+
 class AWSImageService(BaseImageService):
 
     def __init__(self, provider):

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

@@ -166,7 +166,7 @@ class VolumeService(ProviderService):
     __metaclass__ = ABCMeta
 
     @abstractmethod
-    def get_volume(self, volume_id):
+    def get(self, volume_id):
         """
         Returns a volume given its id. Returns None if the volume
         does not exist.
@@ -177,7 +177,7 @@ class VolumeService(ProviderService):
         pass
 
     @abstractmethod
-    def find_volume(self, name):
+    def find(self, name):
         """
         Searches for a volume by a given list of attributes.
 
@@ -187,7 +187,7 @@ class VolumeService(ProviderService):
         pass
 
     @abstractmethod
-    def list_volumes(self):
+    def list(self):
         """
         List all volumes.
 
@@ -197,7 +197,7 @@ class VolumeService(ProviderService):
         pass
 
     @abstractmethod
-    def create_volume(self, name, size, zone, snapshot=None, description=None):
+    def create(self, name, size, zone, snapshot=None, description=None):
         """
         Creates a new volume.
 
@@ -229,7 +229,7 @@ class SnapshotService(ProviderService):
     __metaclass__ = ABCMeta
 
     @abstractmethod
-    def get_snapshot(self, volume_id):
+    def get(self, volume_id):
         """
         Returns a snapshot given its id. Returns None if the snapshot
         does not exist.
@@ -240,7 +240,7 @@ class SnapshotService(ProviderService):
         pass
 
     @abstractmethod
-    def find_snapshot(self, name):
+    def find(self, name):
         """
         Searches for a snapshot by a given list of attributes.
 
@@ -250,7 +250,7 @@ class SnapshotService(ProviderService):
         pass
 
     @abstractmethod
-    def list_snapshots(self):
+    def list(self):
         """
         List all snapshots.
 
@@ -260,7 +260,7 @@ class SnapshotService(ProviderService):
         pass
 
     @abstractmethod
-    def create_snapshot(self, name, volume, description=None):
+    def create(self, name, volume, description=None):
         """
         Creates a new snapshot off a volume.
 

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

@@ -250,16 +250,16 @@ class OpenStackBlockStoreService(BaseBlockStoreService):
         super(OpenStackBlockStoreService, self).__init__(provider)
 
         # Initialize provider services
-        self._volumes = OpenStackVolumeService(self._provider)
-        self._snapshots = OpenStackSnapshotService(self._provider)
+        self._volume_svc = OpenStackVolumeService(self._provider)
+        self._snapshot_svc = OpenStackSnapshotService(self._provider)
 
     @property
     def volumes(self):
-        return self._volumes
+        return self._volume_svc
 
     @property
     def snapshots(self):
-        return self._snapshots
+        return self._snapshot_svc
 
 
 class OpenStackVolumeService(BaseVolumeService):
@@ -267,7 +267,7 @@ class OpenStackVolumeService(BaseVolumeService):
     def __init__(self, provider):
         super(OpenStackVolumeService, self).__init__(provider)
 
-    def get_volume(self, volume_id):
+    def get(self, volume_id):
         """
         Returns a volume given its id.
         """
@@ -277,21 +277,21 @@ class OpenStackVolumeService(BaseVolumeService):
         except CinderNotFound:
             return None
 
-    def find_volume(self, name):
+    def find(self, name):
         """
         Searches for a volume by a given list of attributes.
         """
         raise NotImplementedError(
             'find_volume not implemented by this provider')
 
-    def list_volumes(self):
+    def list(self):
         """
         List all volumes.
         """
         return [OpenStackVolume(self._provider, vol)
                 for vol in self._provider.cinder.volumes.list()]
 
-    def create_volume(self, name, size, zone, snapshot=None):
+    def create(self, name, size, zone, snapshot=None):
         """
         Creates a new volume.
         """
@@ -310,7 +310,7 @@ class OpenStackSnapshotService(BaseSnapshotService):
     def __init__(self, provider):
         super(OpenStackSnapshotService, self).__init__(provider)
 
-    def get_snapshot(self, snapshot_id):
+    def get(self, snapshot_id):
         """
         Returns a snapshot given its id.
         """
@@ -321,21 +321,21 @@ class OpenStackSnapshotService(BaseSnapshotService):
         except CinderNotFound:
             return None
 
-    def find_snapshot(self, name):
+    def find(self, name):
         """
         Searches for a volume by a given list of attributes.
         """
         raise NotImplementedError(
             'find_volume not implemented by this provider')
 
-    def list_snapshots(self):
+    def list(self):
         """
         List all snapshot.
         """
         return [OpenStackSnapshot(self._provider, snap)
                 for snap in self._provider.cinder.volume_snapshots.list()]
 
-    def create_snapshot(self, name, volume, description=None):
+    def create(self, name, volume, description=None):
         """
         Creates a new snapshot of a given volume.
         """

+ 9 - 9
test/test_provider_block_store_service.py

@@ -18,20 +18,20 @@ class ProviderBlockStoreServiceTestCase(ProviderTestBase):
         and delete it
         """
         name = "CBUnitTestCreateVol-{0}".format(uuid.uuid4())
-        test_vol = self.provider.block_store.volumes.create_volume(
+        test_vol = self.provider.block_store.volumes.create(
             name,
             1,
             helpers.get_provider_test_data(self.provider, "placement"))
         with helpers.exception_action(lambda: test_vol.delete()):
             test_vol.wait_till_ready(interval=self.get_test_wait_interval())
-            volumes = self.provider.block_store.volumes.list_volumes()
+            volumes = self.provider.block_store.volumes.list()
             found_volumes = [vol for vol in volumes if vol.name == name]
             self.assertTrue(
                 len(found_volumes) == 1,
                 "List volumes does not return the expected volume %s" %
                 name)
 
-            get_vol = self.provider.block_store.volumes.get_volume(
+            get_vol = self.provider.block_store.volumes.get(
                 test_vol.volume_id)
             self.assertTrue(
                 found_volumes[0].volume_id ==
@@ -53,7 +53,7 @@ class ProviderBlockStoreServiceTestCase(ProviderTestBase):
                 [VolumeState.DELETED, VolumeState.UNKNOWN],
                 terminal_states=[VolumeState.ERROR],
                 interval=self.get_test_wait_interval())
-            volumes = self.provider.block_store.volumes.list_volumes()
+            volumes = self.provider.block_store.volumes.list()
             found_volumes = [vol for vol in volumes if vol.name == name]
             self.assertTrue(
                 len(found_volumes) == 0,
@@ -70,7 +70,7 @@ class ProviderBlockStoreServiceTestCase(ProviderTestBase):
         test_instance = helpers.get_test_instance(self.provider, instance_name)
         with helpers.exception_action(lambda: test_instance.terminate()):
             name = "CBUnitTestAttachVol-{0}".format(uuid.uuid4())
-            test_vol = self.provider.block_store.volumes.create_volume(
+            test_vol = self.provider.block_store.volumes.create(
                 name, 1, test_instance.placement_zone)
             with helpers.exception_action(lambda: test_vol.delete()):
                 test_vol.wait_till_ready(
@@ -94,7 +94,7 @@ class ProviderBlockStoreServiceTestCase(ProviderTestBase):
         Delete everything afterwards.
         """
         name = "CBUnitTestCreateSnap-{0}".format(uuid.uuid4())
-        test_vol = self.provider.block_store.volumes.create_volume(
+        test_vol = self.provider.block_store.volumes.create(
             name,
             1,
             helpers.get_provider_test_data(self.provider, "placement"))
@@ -114,7 +114,7 @@ class ProviderBlockStoreServiceTestCase(ProviderTestBase):
             with helpers.exception_action(lambda: cleanup_snap(test_snap)):
                 test_snap.wait_till_ready(
                     interval=self.get_test_wait_interval())
-                snaps = self.provider.block_store.snapshots.list_snapshots()
+                snaps = self.provider.block_store.snapshots.list()
                 found_snaps = [snap for snap in snaps
                                if snap.name == snap_name]
                 self.assertTrue(
@@ -122,7 +122,7 @@ class ProviderBlockStoreServiceTestCase(ProviderTestBase):
                     "List snapshots does not return the expected volume %s" %
                     name)
 
-                get_snap = self.provider.block_store.snapshots.get_snapshot(
+                get_snap = self.provider.block_store.snapshots.get(
                     test_snap.snapshot_id)
                 self.assertTrue(
                     found_snaps[0].snapshot_id ==
@@ -140,7 +140,7 @@ class ProviderBlockStoreServiceTestCase(ProviderTestBase):
                                              test_snap.name))
 
                 cleanup_snap(test_snap)
-                snaps = self.provider.block_store.snapshots.list_snapshots()
+                snaps = self.provider.block_store.snapshots.list()
                 found_snaps = [snap for snap in snaps
                                if snap.name == snap_name]
                 self.assertTrue(