Jelajahi Sumber

Modify GCEImageService implementation based on review comments.

baizhang 9 tahun lalu
induk
melakukan
0c92d06a43

+ 1 - 1
cloudbridge/cloud/providers/gce/resources.py

@@ -192,7 +192,7 @@ class GCEMachineImage(BaseMachineImage):
         :rtype: ``str``
         :rtype: ``str``
         :return: ID for this instance as returned by the cloud middleware.
         :return: ID for this instance as returned by the cloud middleware.
         """
         """
-        return self._gce_image['id']
+        return self._gce_image['name']
 
 
     @property
     @property
     def name(self):
     def name(self):

+ 5 - 6
cloudbridge/cloud/providers/gce/services.py

@@ -298,15 +298,15 @@ class GCEImageService(BaseImageService):
                     [GCEMachineImage(self.provider, image) for image
                     [GCEMachineImage(self.provider, image) for image
                      in response['items']])
                      in response['items']])
 
 
-    def get(self, image_name):
+    def get(self, image_id):
         """
         """
-        Returns an Image given its name
+        Returns an Image given its id
         """
         """
         try:
         try:
             image = self.provider.gce_compute \
             image = self.provider.gce_compute \
                                   .images() \
                                   .images() \
                                   .get(project=self.provider.project_name,
                                   .get(project=self.provider.project_name,
-                                       image=image_name) \
+                                       image=image_id) \
                                   .execute()
                                   .execute()
             if image:
             if image:
                 return GCEMachineImage(self.provider, image)
                 return GCEMachineImage(self.provider, image)
@@ -319,7 +319,7 @@ class GCEImageService(BaseImageService):
             # look for this image in public images.
             # look for this image in public images.
             self._retrieve_public_images()
             self._retrieve_public_images()
             for public_image in self._public_images:
             for public_image in self._public_images:
-                if public_image.name == image_name:
+                if public_image.id == image_id:
                     return public_image
                     return public_image
             cb.log.warning(
             cb.log.warning(
                 "googleapiclient.errors.HttpError: {0}".format(http_error))
                 "googleapiclient.errors.HttpError: {0}".format(http_error))
@@ -331,8 +331,7 @@ class GCEImageService(BaseImageService):
         """
         """
         filters = {'name': name}
         filters = {'name': name}
         # Retrieve all available images by setting limit to sys.maxsize
         # Retrieve all available images by setting limit to sys.maxsize
-        images = self.list(limit=sys.maxsize, marker=marker)
-        images = [image for image in images if image.name == filters['name']]
+        images = [image for image in self if image.name == filters['name']]
         return ClientPagedResultList(self.provider, images,
         return ClientPagedResultList(self.provider, images,
                                      limit=limit, marker=marker)
                                      limit=limit, marker=marker)