Updated Branches: refs/heads/trunk d11a513b6 -> 0530b792d
Update network related extension methods so they work correctly with both, OpenStack and Rackspace driver. Part of LIBCLOUD-368. Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/d2a71cb8 Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/d2a71cb8 Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/d2a71cb8 Branch: refs/heads/trunk Commit: d2a71cb878d9b3fb89195e946c3ea6698a8d6d10 Parents: d11a513 Author: Tomaz Muraus <[email protected]> Authored: Wed Oct 9 23:15:48 2013 +0200 Committer: Tomaz Muraus <[email protected]> Committed: Wed Oct 9 23:15:48 2013 +0200 ---------------------------------------------------------------------- CHANGES | 4 ++++ libcloud/compute/drivers/openstack.py | 16 +++++++++------- libcloud/compute/drivers/rackspace.py | 2 ++ 3 files changed, 15 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/libcloud/blob/d2a71cb8/CHANGES ---------------------------------------------------------------------- diff --git a/CHANGES b/CHANGES index e08dad1..40f18b0 100644 --- a/CHANGES +++ b/CHANGES @@ -89,6 +89,10 @@ Changes with Apache Libcloud in development (LIBCLOUD-404) [Markos Gogoulos] + - Update network related extension methods so they work correctly with + both, OpenStack and Rackspace driver. (LIBCLOUD-368) + [Tomaz Muraus] + *) Storage - Allow users to filter objects starting with a prefix by passing ex_prefix http://git-wip-us.apache.org/repos/asf/libcloud/blob/d2a71cb8/libcloud/compute/drivers/openstack.py ---------------------------------------------------------------------- diff --git a/libcloud/compute/drivers/openstack.py b/libcloud/compute/drivers/openstack.py index 866adb7..f2a6b4f 100644 --- a/libcloud/compute/drivers/openstack.py +++ b/libcloud/compute/drivers/openstack.py @@ -1179,6 +1179,7 @@ class OpenStack_1_1_NodeDriver(OpenStackNodeDriver): type = Provider.OPENSTACK features = {"create_node": ["generates_password"]} + _networks_url_prefix = '/os-networks' def __init__(self, *args, **kwargs): self._ex_force_api_version = str(kwargs.pop('ex_force_api_version', @@ -1509,8 +1510,8 @@ class OpenStack_1_1_NodeDriver(OpenStackNodeDriver): :rtype: ``list`` of :class:`OpenStackNetwork` """ - return self._to_networks( - self.connection.request('/os-networksv2').object) + response = self.connection.request(self._networks_url_prefix).object + return self._to_networks(response) def ex_create_network(self, name, cidr): """ @@ -1524,10 +1525,10 @@ class OpenStack_1_1_NodeDriver(OpenStackNodeDriver): :rtype: :class:`OpenStackNetwork` """ - return self._to_network(self.connection.request( - '/os-networksv2', method='POST', - data={'network': {'cidr': cidr, 'label': name}} - ).object['network']) + data = {'network': {'cidr': cidr, 'label': name}} + response = self.connection.request(self._networks_url_prefix, + method='POST', data=data).object + return self._to_network(response['network']) def ex_delete_network(self, network): """ @@ -1538,7 +1539,8 @@ class OpenStack_1_1_NodeDriver(OpenStackNodeDriver): :rtype: ``bool`` """ - resp = self.connection.request('/os-networksv2/%s' % (network.id), + resp = self.connection.request('%s/%s' % (self._networks_url_prefix, + network.id), method='DELETE') return resp.status == httplib.ACCEPTED http://git-wip-us.apache.org/repos/asf/libcloud/blob/d2a71cb8/libcloud/compute/drivers/rackspace.py ---------------------------------------------------------------------- diff --git a/libcloud/compute/drivers/rackspace.py b/libcloud/compute/drivers/rackspace.py index 49642ad..2a93cbf 100644 --- a/libcloud/compute/drivers/rackspace.py +++ b/libcloud/compute/drivers/rackspace.py @@ -147,6 +147,8 @@ class RackspaceNodeDriver(OpenStack_1_1_NodeDriver): type = Provider.RACKSPACE api_name = None + _networks_url_prefix = '/os-networksv2' + def __init__(self, key, secret=None, secure=True, host=None, port=None, region='dfw', **kwargs): """
