From 38b61eb13fcee91c1a172516da93a9c652b29024 Mon Sep 17 00:00:00 2001 From: Greg Hill Date: Tue, 15 Dec 2015 10:42:47 -0600 Subject: [PATCH 1/7] Use hasattr rather than getattr to check for existence I forgot getattr throws an exception. This should have been a hasattr. Additionally added a check to make sure it's a dict before treating it as such. Closes #659 --- libcloud/dns/drivers/rackspace.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcloud/dns/drivers/rackspace.py b/libcloud/dns/drivers/rackspace.py index 1e052066f5..4507fb1202 100644 --- a/libcloud/dns/drivers/rackspace.py +++ b/libcloud/dns/drivers/rackspace.py @@ -667,9 +667,10 @@ def _rackspace_result_has_more(response, result_length, limit): def _check_ptr_extra_fields(device_or_record): - if not (getattr(device_or_record, 'extra') and + if not (hasattr(device_or_record, 'extra') and + isinstance(device_or_record.extra, dict) and device_or_record.extra.get('uri') is not None and device_or_record.extra.get('service_name') is not None): raise LibcloudError("Can't create PTR Record for %s because it " "doesn't have a 'uri' and 'service_name' in " - "'extra'") + "'extra'" % device_or_record) From 1b3b91cd0e96161b059c15ad2da183f500c3878e Mon Sep 17 00:00:00 2001 From: Juan Font Alonso Date: Thu, 10 Dec 2015 14:44:43 +0100 Subject: [PATCH 2/7] Fixed error when proxy_url is None. --- libcloud/compute/drivers/vcloud.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libcloud/compute/drivers/vcloud.py b/libcloud/compute/drivers/vcloud.py index efe33e41d2..caf462a8f5 100644 --- a/libcloud/compute/drivers/vcloud.py +++ b/libcloud/compute/drivers/vcloud.py @@ -848,7 +848,8 @@ def _get_auth_token(self): 'application/vnd.vmware.vcloud.orgList+xml')).get('href') ) - self.connection.set_http_proxy(self.proxy_url) + if self.proxy_url: + self.connection.set_http_proxy(self.proxy_url) self.connection.request(method='GET', url=org_list_url, headers=self.add_default_headers({})) body = ET.XML(self.connection.getresponse().read()) From eb49f38dfa21887774d24d0cd1079c1958ea8a7e Mon Sep 17 00:00:00 2001 From: anthony-shaw Date: Mon, 21 Dec 2015 09:05:16 +1100 Subject: [PATCH 3/7] Fixed bug in public IP addition command Closes #661 --- libcloud/compute/drivers/dimensiondata.py | 2 +- ...8a_9cbc_8dabe5a7d0e4_network_addPublicIpBlock.xml | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/libcloud/compute/drivers/dimensiondata.py b/libcloud/compute/drivers/dimensiondata.py index e195045fba..9f22e31f4b 100644 --- a/libcloud/compute/drivers/dimensiondata.py +++ b/libcloud/compute/drivers/dimensiondata.py @@ -873,7 +873,7 @@ def ex_add_public_ip_block_to_network_domain(self, network_domain): block_id = None for info in findall(response, 'info', TYPES_URN): - if info.get('name') == 'publicIpBlockId': + if info.get('name') == 'ipBlockId': block_id = info.get('value') return self.ex_get_public_ip_block(block_id) diff --git a/libcloud/test/compute/fixtures/dimensiondata/caas_2_1_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_network_addPublicIpBlock.xml b/libcloud/test/compute/fixtures/dimensiondata/caas_2_1_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_network_addPublicIpBlock.xml index 1fcb8d354f..5555132110 100644 --- a/libcloud/test/compute/fixtures/dimensiondata/caas_2_1_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_network_addPublicIpBlock.xml +++ b/libcloud/test/compute/fixtures/dimensiondata/caas_2_1_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_network_addPublicIpBlock.xml @@ -1,7 +1,7 @@ - - -ADD_PUBLIC_IP_BLOCK -OK -Public IPv4 Address Block has been added successfully to Network Domain. - + + + ADD_PUBLIC_IP_BLOCK + OK + Public IPv4 Address Block has been added successfully to Network Domain d3320077-c2ce-4523-8c65-d417e766077b. + \ No newline at end of file From 302b9bba33aeecbc2768c9d796845d31a2a1e9e4 Mon Sep 17 00:00:00 2001 From: Ming Sheng Date: Sun, 20 Dec 2015 23:02:12 +0800 Subject: [PATCH 4/7] Fix syntax error for DimensionDataStatus object Closes #662 --- libcloud/common/dimensiondata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcloud/common/dimensiondata.py b/libcloud/common/dimensiondata.py index c734b75f68..3fc6e3c339 100644 --- a/libcloud/common/dimensiondata.py +++ b/libcloud/common/dimensiondata.py @@ -298,7 +298,7 @@ def __repr__(self): return (('') % (self.action, self.request_time, self.user_name, self.number_of_steps, self.update_time, self.step_name, self.step_number, self.step_percent_complete, From 22093a6a55a73274be263567effbe1af577e22c7 Mon Sep 17 00:00:00 2001 From: Eric Johnson Date: Fri, 18 Dec 2015 23:57:47 +0000 Subject: [PATCH 5/7] [google] Allow for old and new style service account client email address Closes LIBCLOUD-785 --- CHANGES.rst | 4 ++++ libcloud/common/google.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGES.rst b/CHANGES.rst index c70933e593..250869c862 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -30,6 +30,10 @@ General Compute ~~~~~~~ +- [google] Allow for old and new style service account client email address + (LIBCLOUD-785) + [Hoang Phan] + - Removed DreamHosts Compute Driver, DreamHosts users will now use the OpenStack Node driver since DreamHosts are OpenStack API compliant (GITHUB-655) diff --git a/libcloud/common/google.py b/libcloud/common/google.py index e29451fcb8..0a8a476a88 100644 --- a/libcloud/common/google.py +++ b/libcloud/common/google.py @@ -607,7 +607,7 @@ def _is_gcs_s3(user_id): @staticmethod def _is_sa(user_id): - return user_id.endswith('@developer.gserviceaccount.com') + return user_id.endswith('.gserviceaccount.com') class GoogleBaseConnection(ConnectionUserAndKey, PollingConnection): From d1cf931796f1064f5b1c36d35a80551488fb5d50 Mon Sep 17 00:00:00 2001 From: Eric Johnson Date: Fri, 15 Jan 2016 15:39:46 +0000 Subject: [PATCH 6/7] bugfix version 0.20.1 --- libcloud/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcloud/__init__.py b/libcloud/__init__.py index dee97655f0..e538931c5c 100644 --- a/libcloud/__init__.py +++ b/libcloud/__init__.py @@ -20,7 +20,7 @@ """ __all__ = ['__version__', 'enable_debug'] -__version__ = '0.20.0' +__version__ = '0.20.1' import os import codecs From 87deb04498ea8bb5068e362810c3d2ab89359b48 Mon Sep 17 00:00:00 2001 From: Eric Johnson Date: Fri, 15 Jan 2016 19:28:44 +0000 Subject: [PATCH 7/7] update chnages for 0.20.1 --- CHANGES.rst | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index 250869c862..c47fbf8edd 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,8 +1,18 @@ Changelog ========= +Changes with Apache Libcloud 0.20.1 +----------------------------------- + +Compute +~~~~~~~ + +- [google] Allow for old and new style service account client email address + (LIBCLOUD-785) + [Hoang Phan] + Changes with Apache Libcloud 0.20.0 -------------------------------------------- +----------------------------------- General ~~~~~~~ @@ -30,10 +40,6 @@ General Compute ~~~~~~~ -- [google] Allow for old and new style service account client email address - (LIBCLOUD-785) - [Hoang Phan] - - Removed DreamHosts Compute Driver, DreamHosts users will now use the OpenStack Node driver since DreamHosts are OpenStack API compliant (GITHUB-655)