Repository: libcloud
Updated Branches:
  refs/heads/trunk fcd353d51 -> 0696e27eb


Fix ex_list_snapshots for HP Helion cloud.


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/7d6d373d
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/7d6d373d
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/7d6d373d

Branch: refs/heads/trunk
Commit: 7d6d373d62f799bdce5007a7026d8047c436bb9e
Parents: fcd353d
Author: Tomaz Muraus <[email protected]>
Authored: Wed Jun 18 08:56:36 2014 +0200
Committer: Tomaz Muraus <[email protected]>
Committed: Wed Jun 18 08:58:36 2014 +0200

----------------------------------------------------------------------
 CHANGES.rst                           |  3 +++
 libcloud/compute/drivers/openstack.py | 31 ++++++++++++++++++------------
 2 files changed, 22 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/7d6d373d/CHANGES.rst
----------------------------------------------------------------------
diff --git a/CHANGES.rst b/CHANGES.rst
index 0c8b306..46e804b 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -231,6 +231,9 @@ Compute
   (LIBCLOUD-574, GITHUB-313)
   [Lior Goikhburg]
 
+- Fix ex_list_snapshots for HP Helion OpenStack based driver.
+  [Tomaz Muraus]
+
 Storage
 ~~~~~~~
 

http://git-wip-us.apache.org/repos/asf/libcloud/blob/7d6d373d/libcloud/compute/drivers/openstack.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/openstack.py 
b/libcloud/compute/drivers/openstack.py
index 1788479..3742d52 100644
--- a/libcloud/compute/drivers/openstack.py
+++ b/libcloud/compute/drivers/openstack.py
@@ -2084,18 +2084,25 @@ class OpenStack_1_1_NodeDriver(OpenStackNodeDriver):
             }
         )
 
-    def _to_snapshot(self, api_node):
-        if 'snapshot' in api_node:
-            api_node = api_node['snapshot']
-
-        extra = {'volume_id': api_node['volume_id'],
-                 'name': api_node['display_name'],
-                 'created': api_node['created_at'],
-                 'description': api_node['display_description'],
-                 'status': api_node['status']}
-
-        snapshot = VolumeSnapshot(id=api_node['id'], driver=self,
-                                  size=api_node['size'], extra=extra)
+    def _to_snapshot(self, data):
+        if 'snapshot' in data:
+            data = data['snapshot']
+
+        volume_id = data.get('volume_id', data.get('volumeId', None))
+        display_name = data.get('display_name', data.get('displayName', None))
+        created_at = data.get('created_at', data.get('createdAt', None))
+        description = data.get('display_description',
+                               data.get('displayDescription', None))
+        status = data.get('status', None)
+
+        extra = {'volume_id': volume_id,
+                 'name': display_name,
+                 'created': created_at,
+                 'description': description,
+                 'status': status}
+
+        snapshot = VolumeSnapshot(id=data['id'], driver=self,
+                                  size=data['size'], extra=extra)
         return snapshot
 
     def _to_size(self, api_flavor, price=None, bandwidth=None):

Reply via email to