Repository: libcloud Updated Branches: refs/heads/trunk d608085e3 -> 4edca4b16
Add extra data from openstack volume to object Closes #366 Signed-off-by: Tomaz Muraus <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/4edca4b1 Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/4edca4b1 Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/4edca4b1 Branch: refs/heads/trunk Commit: 4edca4b16ad4e216431ace2a65da222b5b9679f3 Parents: d608085 Author: Gertjan Oude Lohuis <[email protected]> Authored: Thu Sep 25 11:23:50 2014 +0200 Committer: Tomaz Muraus <[email protected]> Committed: Sat Sep 27 18:45:45 2014 +0200 ---------------------------------------------------------------------- CHANGES.rst | 5 +++++ libcloud/compute/drivers/openstack.py | 5 +++++ libcloud/test/compute/test_openstack.py | 30 +++++++++++++++++++++------- 3 files changed, 33 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/libcloud/blob/4edca4b1/CHANGES.rst ---------------------------------------------------------------------- diff --git a/CHANGES.rst b/CHANGES.rst index fba5f48..15454fd 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -126,6 +126,11 @@ Compute (GITHUB-363) [Jeroen de Korte] +- Add additional attributes to the ``extra`` dictionary of OpenStack + StorageVolume object. + (GITHUB-366) + [Gertjan Oude Lohuis] + Storage ~~~~~~~ http://git-wip-us.apache.org/repos/asf/libcloud/blob/4edca4b1/libcloud/compute/drivers/openstack.py ---------------------------------------------------------------------- diff --git a/libcloud/compute/drivers/openstack.py b/libcloud/compute/drivers/openstack.py index 01fadee..e7a89f8 100644 --- a/libcloud/compute/drivers/openstack.py +++ b/libcloud/compute/drivers/openstack.py @@ -2018,6 +2018,11 @@ class OpenStack_1_1_NodeDriver(OpenStackNodeDriver): extra={ 'description': api_node['displayDescription'], 'attachments': [att for att in api_node['attachments'] if att], + 'state': api_node.get('status', None), + 'location': api_node.get('availabilityZone', None), + 'volume_type': api_node.get('volumeType', None), + 'metadata': api_node.get('metadata', None), + 'created_at': api_node.get('createdAt', None) } ) http://git-wip-us.apache.org/repos/asf/libcloud/blob/4edca4b1/libcloud/test/compute/test_openstack.py ---------------------------------------------------------------------- diff --git a/libcloud/test/compute/test_openstack.py b/libcloud/test/compute/test_openstack.py index e52c6d9..1b0860d 100644 --- a/libcloud/test/compute/test_openstack.py +++ b/libcloud/test/compute/test_openstack.py @@ -794,18 +794,34 @@ class OpenStack_1_1_Tests(unittest.TestCase, TestCaseMixin): self.assertEqual('cd76a3a1-c4ce-40f6-9b9f-07a61508938d', volume.id) self.assertEqual('test_volume_2', volume.name) self.assertEqual(2, volume.size) - - self.assertEqual(volume.extra['description'], '') - self.assertEqual(volume.extra['attachments'][0][ - 'id'], 'cd76a3a1-c4ce-40f6-9b9f-07a61508938d') + self.assertEqual(volume.extra, { + 'description': '', + 'attachments': [{ + 'id': 'cd76a3a1-c4ce-40f6-9b9f-07a61508938d', + "device": "/dev/vdb", + "serverId": "12065", + "volumeId": "cd76a3a1-c4ce-40f6-9b9f-07a61508938d", + }], + 'state': 'available', + 'location': 'nova', + 'volume_type': 'None', + 'metadata': {}, + 'created_at': '2013-06-24T11:20:13.000000', + }) volume = volumes[1] self.assertEqual('cfcec3bc-b736-4db5-9535-4c24112691b5', volume.id) self.assertEqual('test_volume', volume.name) self.assertEqual(50, volume.size) - - self.assertEqual(volume.extra['description'], 'some description') - self.assertEqual(volume.extra['attachments'], []) + self.assertEqual(volume.extra, { + 'description': 'some description', + 'attachments': [], + 'state': 'available', + 'location': 'nova', + 'volume_type': 'None', + 'metadata': {}, + 'created_at': '2013-06-21T12:39:02.000000', + }) def test_list_sizes(self): sizes = self.driver.list_sizes()
