From 85747dd9c9c05cf97766d428bfa4439aab5d278e Mon Sep 17 00:00:00 2001 From: Bob Thompson Date: Wed, 3 Jul 2013 11:22:02 -0400 Subject: [PATCH 1/2] LIBCLOUD-357: Modified ElasticHosts to store drive UUID in 'extra' field. --- libcloud/compute/drivers/elasticstack.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libcloud/compute/drivers/elasticstack.py b/libcloud/compute/drivers/elasticstack.py index 7058dbd..b957614 100644 --- a/libcloud/compute/drivers/elasticstack.py +++ b/libcloud/compute/drivers/elasticstack.py @@ -469,6 +469,14 @@ class ElasticStackBaseNodeDriver(NodeDriver): if 'vnc:password' in data: extra['vnc:password'] = data['vnc:password'] + boot_device = data['boot'] + + if isinstance(boot_device, list): + for device in boot_device: + extra[device] = data[device] + else: + extra[boot_device] = data[boot_device] + if ssh_password: extra.update({'password': ssh_password}) -- 1.8.1.msysgit.1 From 9ceef9b3eac5e3e2f3c59ca5e3c2ffc756a5c555 Mon Sep 17 00:00:00 2001 From: Bob Thompson Date: Fri, 5 Jul 2013 08:55:00 -0400 Subject: [PATCH 2/2] LIBCLOUD-357: Updated unit tests for ElasticStack to ensure driver UUID is stored in 'extra' field. --- libcloud/test/compute/test_elasticstack.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/libcloud/test/compute/test_elasticstack.py b/libcloud/test/compute/test_elasticstack.py index af08dfb..0b3faf8 100644 --- a/libcloud/test/compute/test_elasticstack.py +++ b/libcloud/test/compute/test_elasticstack.py @@ -105,6 +105,7 @@ class ElasticStackTestCase(object): self.assertEqual(node.public_ips[0], "1.2.3.4") self.assertEqual(node.public_ips[1], "1.2.3.5") self.assertEqual(node.extra['smp'], 1) + self.assertEqual(node.extra['ide:0:0'], "b6049e7a-aa1b-47f9-b21d-cdf2354e28d3") def test_list_sizes(self): images = self.driver.list_sizes() @@ -194,20 +195,20 @@ class ElasticStackMockHttp(MockHttp): fixtures = ComputeFileFixtures('elastichosts') def _servers_info_UNAUTHORIZED(self, method, url, body, headers): - return (httplib.UNAUTHORIZED, body, {}, httplib.responses[httplib.NO_CONTENT]) + return (httplib.UNAUTHORIZED, body, {}, httplib.responses[httplib.NO_CONTENT]) def _servers_info_MALFORMED(self, method, url, body, headers): - body = "{malformed: '" - return (httplib.OK, body, {}, httplib.responses[httplib.NO_CONTENT]) + body = "{malformed: '" + return (httplib.OK, body, {}, httplib.responses[httplib.NO_CONTENT]) def _servers_info_PARSE_ERROR(self, method, url, body, headers): - return (505, body, {}, httplib.responses[httplib.NO_CONTENT]) + return (505, body, {}, httplib.responses[httplib.NO_CONTENT]) def _servers_b605ca90_c3e6_4cee_85f8_a8ebdf8f9903_reset(self, method, url, body, headers): - return (httplib.NO_CONTENT, body, {}, httplib.responses[httplib.NO_CONTENT]) + return (httplib.NO_CONTENT, body, {}, httplib.responses[httplib.NO_CONTENT]) def _servers_b605ca90_c3e6_4cee_85f8_a8ebdf8f9903_destroy(self, method, url, body, headers): - return (httplib.NO_CONTENT, body, {}, httplib.responses[httplib.NO_CONTENT]) + return (httplib.NO_CONTENT, body, {}, httplib.responses[httplib.NO_CONTENT]) def _drives_create(self, method, url, body, headers): body = self.fixtures.load('drives_create.json') -- 1.8.1.msysgit.1