You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by er...@apache.org on 2015/02/09 23:50:47 UTC
libcloud git commit: [google compute] list images does not break in
case of invalid OS image types
Repository: libcloud
Updated Branches:
refs/heads/trunk afed2cbde -> 7ca1336ce
[google compute] list images does not break in case of invalid OS image types
Closes #447
Signed-off-by: Eric Johnson <er...@google.com>
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/7ca1336c
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/7ca1336c
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/7ca1336c
Branch: refs/heads/trunk
Commit: 7ca1336ce74292a8f4ff58b8fce68264d959129f
Parents: afed2cb
Author: Markos Gogoulos <mg...@mist.io>
Authored: Mon Feb 9 15:46:21 2015 +0200
Committer: Eric Johnson <er...@google.com>
Committed: Mon Feb 9 22:50:12 2015 +0000
----------------------------------------------------------------------
CHANGES.rst | 4 ++++
libcloud/compute/drivers/gce.py | 22 +++++++++++++++-------
2 files changed, 19 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/7ca1336c/CHANGES.rst
----------------------------------------------------------------------
diff --git a/CHANGES.rst b/CHANGES.rst
index 9cef9f9..42ad0ad 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -16,6 +16,10 @@ General
Compute
~~~~~~~
+- GCE driver fix to handle unknown image projects
+ (GITHUB-447)
+ [Markos Gogoulos]
+
- GCE driver updated to include ex_stop_node() and ex_start_node() methods.
(GITHUB-442)
[Eric Johnson]
http://git-wip-us.apache.org/repos/asf/libcloud/blob/7ca1336c/libcloud/compute/drivers/gce.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/gce.py b/libcloud/compute/drivers/gce.py
index 9cfad4d..cfba8d6 100644
--- a/libcloud/compute/drivers/gce.py
+++ b/libcloud/compute/drivers/gce.py
@@ -1285,9 +1285,13 @@ class GCENodeDriver(NodeDriver):
image_list = self.ex_list_project_images(ex_project=None,
ex_include_deprecated=dep)
for img_proj in list(self.IMAGE_PROJECTS.keys()):
- image_list.extend(
- self.ex_list_project_images(ex_project=img_proj,
- ex_include_deprecated=dep))
+ try:
+ image_list.extend(
+ self.ex_list_project_images(ex_project=img_proj,
+ ex_include_deprecated=dep))
+ except:
+ # do not break if an OS type is invalid
+ pass
return image_list
def ex_list_project_images(self, ex_project=None,
@@ -1327,16 +1331,20 @@ class GCENodeDriver(NodeDriver):
new_request_path = save_request_path.replace(self.project,
proj)
self.connection.request_path = new_request_path
- response = self.connection.request(request,
- method='GET').object
+ try:
+ response = self.connection.request(request,
+ method='GET').object
+ except:
+ raise
+ finally:
+ # Restore the connection request_path
+ self.connection.request_path = save_request_path
for img in response.get('items', []):
if 'deprecated' not in img:
list_images.append(self._to_node_image(img))
else:
if ex_include_deprecated:
list_images.append(self._to_node_image(img))
- # Restore the connection request_path
- self.connection.request_path = save_request_path
return list_images
def list_locations(self):