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):
