From 258da08f6017866d6a6af9b83bf9c1b58778de2b Mon Sep 17 00:00:00 2001 From: Chris Gilmer Date: Wed, 7 Mar 2012 13:57:40 -0800 Subject: [PATCH] Added minDisk and minRam to NodeImage extras in response for openstack --- libcloud/compute/drivers/openstack.py | 6 +++++- .../fixtures/openstack/v1_slug_images_detail.xml | 2 +- .../fixtures/openstack_v1.1/_images_13.json | 2 +- test/compute/test_openstack.py | 12 ++++++++++-- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git libcloud/compute/drivers/openstack.py libcloud/compute/drivers/openstack.py index 5cd4500..ab96b15 100644 --- libcloud/compute/drivers/openstack.py +++ libcloud/compute/drivers/openstack.py @@ -309,7 +309,9 @@ class OpenStack_1_0_NodeDriver(OpenStackNodeDriver): 'created': element.get('created'), 'status': element.get('status'), 'serverId': element.get('serverId'), - 'progress': element.get('progress')}) + 'progress': element.get('progress'), + 'minDisk': element.get('minDisk'), + 'minRam': element.get('minRam')}) def _change_password_or_name(self, node, name=None, password=None): uri = '/servers/%s' % (node.id) @@ -855,6 +857,8 @@ class OpenStack_1_1_NodeDriver(OpenStackNodeDriver): progress=api_image.get('progress'), metadata=api_image.get('metadata'), serverId=server.get('id'), + minDisk=api_image.get('minDisk'), + minRam=api_image.get('minRam'), ) ) diff --git test/compute/fixtures/openstack/v1_slug_images_detail.xml test/compute/fixtures/openstack/v1_slug_images_detail.xml index ae6cbe9..5a2ae7f 100644 --- test/compute/fixtures/openstack/v1_slug_images_detail.xml +++ test/compute/fixtures/openstack/v1_slug_images_detail.xml @@ -11,5 +11,5 @@ - + diff --git test/compute/fixtures/openstack_v1.1/_images_13.json test/compute/fixtures/openstack_v1.1/_images_13.json index 2cd7729..7b8297c 100644 --- test/compute/fixtures/openstack_v1.1/_images_13.json +++ test/compute/fixtures/openstack_v1.1/_images_13.json @@ -1 +1 @@ -{"image": {"status": "ACTIVE", "updated": "2011-08-06T18:14:02Z", "name": "Windows 2008 SP2 x86 (B24)", "links": [{"href": "http://alpha.ord.servers.api.rackspacecloud.com:8774/v1.1/rs-reach-project/images/13", "rel": "self"}, {"href": "http://alpha.ord.servers.api.rackspacecloud.com:8774/rs-reach-project/images/13", "rel": "bookmark"}, {"href": "http://10.13.136.245:9292/rs-reach-project/images/13", "type": "application/vnd.openstack.image", "rel": "alternate"}], "created": "2011-08-06T18:13:11Z", "minDisk": 0, "progress": 100, "minRam": 0, "id": "13", "metadata": {"os_type": "windows"}}} +{"image": {"status": "ACTIVE", "updated": "2011-08-06T18:14:02Z", "name": "Windows 2008 SP2 x86 (B24)", "links": [{"href": "http://alpha.ord.servers.api.rackspacecloud.com:8774/v1.1/rs-reach-project/images/13", "rel": "self"}, {"href": "http://alpha.ord.servers.api.rackspacecloud.com:8774/rs-reach-project/images/13", "rel": "bookmark"}, {"href": "http://10.13.136.245:9292/rs-reach-project/images/13", "type": "application/vnd.openstack.image", "rel": "alternate"}], "created": "2011-08-06T18:13:11Z", "minDisk": "5", "progress": 100, "minRam": "256", "id": "13", "metadata": {"os_type": "windows"}}} diff --git test/compute/test_openstack.py test/compute/test_openstack.py index 18dcdb5..3dbf8ba 100644 --- test/compute/test_openstack.py +++ test/compute/test_openstack.py @@ -171,12 +171,16 @@ class OpenStack_1_0_Tests(unittest.TestCase, TestCaseMixin): 'status': 'ACTIVE', 'created': '2009-07-20T09:14:37-05:00', 'updated': '2009-07-20T09:14:37-05:00', - 'progress': None}, + 'progress': None, + 'minDisk': None, + 'minRam': None}, 11: {'serverId': '91221', 'status': 'ACTIVE', 'created': '2009-11-29T20:22:09-06:00', 'updated': '2009-11-29T20:24:08-06:00', - 'progress': '100'}} + 'progress': '100', + 'minDisk': '5', + 'minRam': '256'}} for ret_idx, extra in list(expected.items()): for key, value in list(extra.items()): self.assertEqual(ret[ret_idx].extra[key], value) @@ -602,6 +606,8 @@ class OpenStack_1_1_Tests(unittest.TestCase, TestCaseMixin): self.assertEqual(image.extra['status'], 'ACTIVE') self.assertEqual(image.extra['metadata']['os_type'], 'windows') self.assertEqual(image.extra['serverId'], '52415800-8b69-11e0-9b19-734f335aa7b3') + self.assertEqual(image.extra['minDisk'], 0) + self.assertEqual(image.extra['minRam'], 0) def test_create_node(self): image = NodeImage(id=11, name='Ubuntu 8.10 (intrepid)', driver=self.driver) @@ -718,6 +724,8 @@ class OpenStack_1_1_Tests(unittest.TestCase, TestCaseMixin): self.assertEqual(image.id, image_id) self.assertEqual(image.name, 'Windows 2008 SP2 x86 (B24)') self.assertEqual(image.extra['serverId'], None) + self.assertEqual(image.extra['minDisk'], "5") + self.assertEqual(image.extra['minRam'], "256") def test_ex_delete_image(self): image = NodeImage(id='26365521-8c62-11f9-2c33-283d153ecc3a', name='My Backup', driver=self.driver) -- 1.7.6.1