Forráskód Böngészése

Moved image service under compute.

nuwan_ag 10 éve
szülő
commit
7e0259ca44

+ 0 - 11
cloudbridge/cloud/interfaces/impl.py

@@ -71,17 +71,6 @@ class CloudProvider(object):
         """
         pass
 
-    @abstractproperty
-    def images(self):
-        """
-        Provides access to all Image related services in this provider.
-        (e.g. Glance in Openstack)
-
-        :rtype: ``object`` of :class:`.ImageService`
-        :return: an ImageService object
-        """
-        pass
-
     @abstractproperty
     def security(self):
         """

+ 11 - 0
cloudbridge/cloud/interfaces/services.py

@@ -30,6 +30,17 @@ class ComputeService(ProviderService):
     """
     __metaclass__ = ABCMeta
 
+    @abstractproperty
+    def images(self):
+        """
+        Provides access to all Image related services in this provider.
+        (e.g. Glance in Openstack)
+
+        :rtype: ``object`` of :class:`.ImageService`
+        :return: an ImageService object
+        """
+        pass
+
     @abstractproperty
     def instance_types(self):
         """

+ 0 - 6
cloudbridge/cloud/providers/aws/impl.py

@@ -15,7 +15,6 @@ from test.helpers import TestMockHelperMixin
 
 from .services import AWSBlockStoreService
 from .services import AWSComputeService
-from .services import AWSImageService
 from .services import AWSObjectStoreService
 from .services import AWSSecurityService
 
@@ -44,7 +43,6 @@ class AWSCloudProvider(BaseCloudProvider):
 
         # Initialize provider services
         self._compute = AWSComputeService(self)
-        self._images = AWSImageService(self)
         self._security = AWSSecurityService(self)
         self._block_store = AWSBlockStoreService(self)
         self._object_store = AWSObjectStoreService(self)
@@ -58,10 +56,6 @@ class AWSCloudProvider(BaseCloudProvider):
     def compute(self):
         return self._compute
 
-    @property
-    def images(self):
-        return self._images
-
     @property
     def security(self):
         return self._security

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

@@ -86,7 +86,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(self.id)
+        image = self._provider.compute.images.get(self.id)
         if image:
             self._ec2_image = image._ec2_image
         else:
@@ -300,7 +300,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_id)
+        image = retry_decorator(self._provider.compute.images.get)(image_id)
         return image
 
     @property

+ 5 - 0
cloudbridge/cloud/providers/aws/services.py

@@ -392,6 +392,11 @@ class AWSComputeService(BaseComputeService):
         self._instance_type_svc = AWSInstanceTypesService(self.provider)
         self._instance_svc = AWSInstanceService(self.provider)
         self._region_svc = AWSRegionService(self.provider)
+        self._images = AWSImageService(self.provider)
+
+    @property
+    def images(self):
+        return self._images
 
     @property
     def instance_types(self):

+ 0 - 6
cloudbridge/cloud/providers/openstack/impl.py

@@ -16,7 +16,6 @@ from cloudbridge.cloud.base import BaseCloudProvider
 
 from .services import OpenStackBlockStoreService
 from .services import OpenStackComputeService
-from .services import OpenStackImageService
 from .services import OpenStackObjectStoreService
 from .services import OpenStackSecurityService
 
@@ -43,7 +42,6 @@ class OpenStackCloudProvider(BaseCloudProvider):
         self.swift = self._connect_swift()
 
         self._compute = OpenStackComputeService(self)
-        self._images = OpenStackImageService(self)
         self._security = OpenStackSecurityService(self)
         self._block_store = OpenStackBlockStoreService(self)
         self._object_store = OpenStackObjectStoreService(self)
@@ -57,10 +55,6 @@ class OpenStackCloudProvider(BaseCloudProvider):
     def compute(self):
         return self._compute
 
-    @property
-    def images(self):
-        return self._images
-
     @property
     def security(self):
         return self._security

+ 2 - 2
cloudbridge/cloud/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(self.id)
+        image = self._provider.compute.images.get(self.id)
         if image:
             self._os_image = image._os_image
         else:
@@ -312,7 +312,7 @@ class OpenStackInstance(BaseInstance):
         """
         image_id = self._os_instance.create_image(name)
         return OpenStackMachineImage(
-            self._provider, self._provider.images.get(image_id))
+            self._provider, self._provider.compute.images.get(image_id))
 
     @property
     def state(self):

+ 1 - 0
cloudbridge/cloud/providers/openstack/services.py

@@ -428,6 +428,7 @@ class OpenStackComputeService(BaseComputeService):
         self._instance_type_svc = OpenStackInstanceTypesService(self._provider)
         self._instance_svc = OpenStackInstanceService(self._provider)
         self._region_svc = OpenStackRegionService(self.provider)
+        self._images = OpenStackImageService(self.provider)
 
     @property
     def instance_types(self):

+ 3 - 3
test/test_provider_image_service.py

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