Author: tomaz
Date: Thu Jul  7 16:38:41 2011
New Revision: 1143911

URL: http://svn.apache.org/viewvc?rev=1143911&view=rev
Log:
Add new load-balancer driver for Rackspace UK.

Modified:
    libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py
    libcloud/trunk/libcloud/loadbalancer/providers.py
    libcloud/trunk/test/loadbalancer/test_rackspace.py

Modified: libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py
URL: 
http://svn.apache.org/viewvc/libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py?rev=1143911&r1=1143910&r2=1143911&view=diff
==============================================================================
--- libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py (original)
+++ libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py Thu Jul  7 
16:38:41 2011
@@ -24,10 +24,11 @@ from libcloud.utils import reverse_dict
 from libcloud.common.base import Response
 from libcloud.loadbalancer.base import LoadBalancer, Member, Driver, Algorithm
 from libcloud.loadbalancer.base import DEFAULT_ALGORITHM
-from libcloud.loadbalancer.types import Provider, State
-from libcloud.common.rackspace import (AUTH_HOST_US,
+from libcloud.loadbalancer.types import State
+from libcloud.common.rackspace import (AUTH_HOST_US, AUTH_HOST_UK,
         RackspaceBaseConnection)
 
+
 class RackspaceResponse(Response):
 
     def success(self):
@@ -39,6 +40,7 @@ class RackspaceResponse(Response):
         else:
             return json.loads(self.body)
 
+
 class RackspaceConnection(RackspaceBaseConnection):
     responseCls = RackspaceResponse
     auth_host = AUTH_HOST_US
@@ -65,6 +67,10 @@ class RackspaceConnection(RackspaceBaseC
                 params=params, data=data, method=method, headers=headers)
 
 
+class RackspaceUKConnection(RackspaceConnection):
+    auth_host = AUTH_HOST_UK
+
+
 class RackspaceLBDriver(Driver):
     connectionCls = RackspaceConnection
     api_name = 'rackspace_lb'
@@ -176,3 +182,7 @@ class RackspaceLBDriver(Driver):
                 ip=el["address"],
                 port=el["port"])
         return lbmember
+
+
+class RackspaceUKLBDriver(RackspaceLBDriver):
+    connectionCls = RackspaceUKConnection

Modified: libcloud/trunk/libcloud/loadbalancer/providers.py
URL: 
http://svn.apache.org/viewvc/libcloud/trunk/libcloud/loadbalancer/providers.py?rev=1143911&r1=1143910&r2=1143911&view=diff
==============================================================================
--- libcloud/trunk/libcloud/loadbalancer/providers.py (original)
+++ libcloud/trunk/libcloud/loadbalancer/providers.py Thu Jul  7 16:38:41 2011
@@ -25,6 +25,8 @@ __all__ = [
 DRIVERS = {
         Provider.RACKSPACE_US:
             ('libcloud.loadbalancer.drivers.rackspace', 'RackspaceLBDriver'),
+        Provider.RACKSPACE_UK:
+            ('libcloud.loadbalancer.drivers.rackspace', 'RackspaceUKLBDriver'),
         Provider.GOGRID:
             ('libcloud.loadbalancer.drivers.gogrid', 'GoGridLBDriver'),
         Provider.NINEFOLD:

Modified: libcloud/trunk/test/loadbalancer/test_rackspace.py
URL: 
http://svn.apache.org/viewvc/libcloud/trunk/test/loadbalancer/test_rackspace.py?rev=1143911&r1=1143910&r2=1143911&view=diff
==============================================================================
--- libcloud/trunk/test/loadbalancer/test_rackspace.py (original)
+++ libcloud/trunk/test/loadbalancer/test_rackspace.py Thu Jul  7 16:38:41 2011
@@ -24,6 +24,7 @@ except ImportError:
 
 from libcloud.loadbalancer.base import Member, Algorithm
 from libcloud.loadbalancer.drivers.rackspace import RackspaceLBDriver
+from libcloud.loadbalancer.drivers.rackspace import RackspaceUKLBDriver
 
 from test import MockHttp
 from test.file_fixtures import LoadBalancerFileFixtures
@@ -97,6 +98,16 @@ class RackspaceLBTests(unittest.TestCase
 
         self.assertTrue(ret)
 
+
+class RackspaceUKLBTests(RackspaceLBTests):
+
+    def setUp(self):
+        RackspaceLBDriver.connectionCls.conn_classes = (None,
+                RackspaceLBMockHttp)
+        RackspaceLBMockHttp.type = None
+        self.driver = RackspaceUKLBDriver('user', 'key')
+
+
 class RackspaceLBMockHttp(MockHttp, unittest.TestCase):
     fixtures = LoadBalancerFileFixtures('rackspace')
 


Reply via email to