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):

Reply via email to