Modify Rackspace loadbalancer driver to use main auth endpoint and update the code which constructs the API endpoint url.
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/d6544821 Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/d6544821 Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/d6544821 Branch: refs/heads/0.12.x Commit: d6544821096866cdb5ef5223d42352c3d308e238 Parents: d9b9de8 Author: Tomaz Muraus <[email protected]> Authored: Wed Jun 26 16:05:46 2013 +0200 Committer: Tomaz Muraus <[email protected]> Committed: Wed Jun 26 16:29:57 2013 +0200 ---------------------------------------------------------------------- libcloud/loadbalancer/drivers/rackspace.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/libcloud/blob/d6544821/libcloud/loadbalancer/drivers/rackspace.py ---------------------------------------------------------------------- diff --git a/libcloud/loadbalancer/drivers/rackspace.py b/libcloud/loadbalancer/drivers/rackspace.py index 7838de1..6483014 100644 --- a/libcloud/loadbalancer/drivers/rackspace.py +++ b/libcloud/loadbalancer/drivers/rackspace.py @@ -29,7 +29,7 @@ from libcloud.common.base import JsonResponse, PollingConnection from libcloud.loadbalancer.types import State, MemberCondition from libcloud.common.openstack import OpenStackBaseConnection,\ OpenStackDriverMixin -from libcloud.common.rackspace import (AUTH_URL_US, AUTH_URL_UK) +from libcloud.common.rackspace import AUTH_URL_US class RackspaceResponse(JsonResponse): @@ -289,14 +289,24 @@ class RackspaceConnection(OpenStackBaseConnection, PollingConnection): def _construct_loadbalancer_endpoint_from_servers_endpoint(self, ep): if 'publicURL' in ep: - loadbalancer_prefix = "%s.loadbalancers" % self._ex_force_region - return ep['publicURL'].replace("servers", loadbalancer_prefix) + public_url = ep['publicURL'] + + # Old, UK accont + public_url = public_url.replace('lon.servers', 'servers') + loadbalancer_prefix = '%s.loadbalancers' % (self._ex_force_region) + + return public_url.replace('servers', loadbalancer_prefix) else: raise LibcloudError('Could not find specified endpoint') class RackspaceUKConnection(RackspaceConnection): - auth_url = AUTH_URL_UK + auth_url = AUTH_URL_US + + def __init__(self, user_id, key, secure=True, ex_force_region='lon', + **kwargs): + super(RackspaceUKConnection, self).__init__(user_id, key, secure, + ex_force_region, **kwargs) class RackspaceLBDriver(Driver, OpenStackDriverMixin):
