Update Rackspace loadbalancer driver to use "region" argument.

Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/236a022f
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/236a022f
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/236a022f

Branch: refs/heads/trunk
Commit: 236a022f12ad5554d686be20f9148a9c6228df57
Parents: 18baa68
Author: Tomaz Muraus <[email protected]>
Authored: Mon Oct 14 23:45:55 2013 +0200
Committer: Tomaz Muraus <[email protected]>
Committed: Mon Oct 14 23:45:55 2013 +0200

----------------------------------------------------------------------
 libcloud/loadbalancer/drivers/rackspace.py   | 106 ++++++------
 libcloud/loadbalancer/providers.py           |  12 +-
 libcloud/loadbalancer/types.py               |   7 +-
 libcloud/test/loadbalancer/test_rackspace.py | 188 ++++++++++------------
 4 files changed, 141 insertions(+), 172 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/236a022f/libcloud/loadbalancer/drivers/rackspace.py
----------------------------------------------------------------------
diff --git a/libcloud/loadbalancer/drivers/rackspace.py 
b/libcloud/loadbalancer/drivers/rackspace.py
index 656de3b..6ee086d 100644
--- a/libcloud/loadbalancer/drivers/rackspace.py
+++ b/libcloud/loadbalancer/drivers/rackspace.py
@@ -24,12 +24,27 @@ from libcloud.utils.py3 import httplib
 from libcloud.utils.misc import reverse_dict
 from libcloud.loadbalancer.base import LoadBalancer, Member, Driver, Algorithm
 from libcloud.loadbalancer.base import DEFAULT_ALGORITHM
+from libcloud.compute.drivers.rackspace import RackspaceConnection
 from libcloud.common.types import LibcloudError
 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.openstack import OpenStackDriverMixin
+from libcloud.common.rackspace import AUTH_URL
+
+ENDPOINT_ARGS_MAP = {
+    'dfw': {'service_type': 'rax:load-balancer',
+            'name': 'cloudLoadBalancers',
+            'region': 'DFW'},
+    'ord': {'service_type': 'rax:load-balancer',
+            'name': 'cloudLoadBalancers',
+            'region': 'ORD'},
+    'lon': {'service_type': 'rax:load-balancer',
+            'name': 'cloudLoadBalancers',
+            'region': 'LON'},
+    'syd': {'service_type': 'rax:load-balancer',
+            'name': 'cloudLoadBalancers',
+            'region': 'SYD'},
+}
 
 
 class RackspaceResponse(JsonResponse):
@@ -222,20 +237,12 @@ class RackspaceAccessRule(object):
         return as_dict
 
 
-class RackspaceConnection(OpenStackBaseConnection, PollingConnection):
+class RackspaceConnection(RackspaceConnection, PollingConnection):
     responseCls = RackspaceResponse
-    auth_url = AUTH_URL_US
+    auth_url = AUTH_URL
     poll_interval = 2
     timeout = 80
 
-    def __init__(self, user_id, key, secure=True, ex_force_region='ord',
-                 **kwargs):
-        super(RackspaceConnection, self).__init__(user_id, key, secure,
-                                                  **kwargs)
-        self.api_version = 'v1.0'
-        self.accept_format = 'application/json'
-        self._ex_force_region = ex_force_region
-
     def request(self, action, params=None, data='', headers=None,
                 method='GET'):
         if not headers:
@@ -264,39 +271,8 @@ class RackspaceConnection(OpenStackBaseConnection, 
PollingConnection):
 
         return state == 'ACTIVE'
 
-    def get_endpoint(self):
-        """
-        FIXME:
-        Dirty, dirty hack. Loadbalancers so not show up in the auth 1.1 service
-        catalog, so we build it from the servers url.
-        """
-
-        if self._auth_version == "1.1":
-            ep = self.service_catalog.get_endpoint(name="cloudServers")
-
-            return self._construct_loadbalancer_endpoint_from_servers_endpoint(
-                ep)
-        elif "2.0" in self._auth_version:
-            ep = self.service_catalog.get_endpoint(name="cloudServers",
-                                                   service_type="compute",
-                                                   region=None)
-
-            return self._construct_loadbalancer_endpoint_from_servers_endpoint(
-                ep)
-        else:
-            raise LibcloudError(
-                "Auth version %s not supported" % self._auth_version)
-
-    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)
-        else:
-            raise LibcloudError('Could not find specified endpoint')
-
-
-class RackspaceUKConnection(RackspaceConnection):
-    auth_url = AUTH_URL_UK
+    def encode_data(self, data):
+        return data
 
 
 class RackspaceLBDriver(Driver, OpenStackDriverMixin):
@@ -332,16 +308,21 @@ class RackspaceLBDriver(Driver, OpenStackDriverMixin):
 
     _ALGORITHM_TO_VALUE_MAP = reverse_dict(_VALUE_TO_ALGORITHM_MAP)
 
-    def __init__(self, *args, **kwargs):
-        OpenStackDriverMixin.__init__(self, *args, **kwargs)
-        self._ex_force_region = kwargs.pop('ex_force_region', None)
-        super(RackspaceLBDriver, self).__init__(*args, **kwargs)
+    def __init__(self, key, secret=None, secure=True, host=None, port=None,
+                 region='ord', **kwargs):
+        ex_force_region = kwargs.pop('ex_force_region', None)
+        if ex_force_region:
+            # For backward compatibility
+            region = ex_force_region
+        OpenStackDriverMixin.__init__(self, **kwargs)
+        super(RackspaceLBDriver, self).__init__(key=key, secret=secret,
+                                                secure=secure, host=host,
+                                                port=port, region=region)
 
     def _ex_connection_class_kwargs(self):
+        endpoint_args = ENDPOINT_ARGS_MAP[self.region]
         kwargs = self.openstack_connection_kwargs()
-        if self._ex_force_region:
-            kwargs['ex_force_region'] = self._ex_force_region
-
+        kwargs['get_endpoint_args'] = endpoint_args
         return kwargs
 
     def list_protocols(self):
@@ -417,6 +398,7 @@ class RackspaceLBDriver(Driver, OpenStackDriverMixin):
         balancer_attrs.update({
             'nodes': [self._member_attributes(member) for member in members],
         })
+        #balancer_attrs['nodes'] = ['fu']
         balancer_object = {"loadBalancer": balancer_attrs}
 
         resp = self.connection.request('/loadbalancers',
@@ -1145,7 +1127,8 @@ class RackspaceLBDriver(Driver, OpenStackDriverMixin):
         :param balancer: Balancer to create the access rule for.
         :type  balancer: :class:`LoadBalancer`
 
-        :param rules: List of :class:`RackspaceAccessRule` to add to the 
balancer.
+        :param rules: List of :class:`RackspaceAccessRule` to add to the
+                      balancer.
         :type  rules: ``list`` of :class:`RackspaceAccessRule`
 
         :return: The created access rules.
@@ -1193,7 +1176,8 @@ class RackspaceLBDriver(Driver, OpenStackDriverMixin):
         :param balancer: Balancer to create the access rule for.
         :type balancer: :class:`LoadBalancer`
 
-        :param rules: List of :class:`RackspaceAccessRule` to add to the 
balancer.
+        :param rules: List of :class:`RackspaceAccessRule` to add to
+                      the balancer.
         :type  rules: ``list`` of :class:`RackspaceAccessRule`
 
         :return: Returns whether the create request was accepted.
@@ -1258,8 +1242,8 @@ class RackspaceLBDriver(Driver, OpenStackDriverMixin):
         :param balancer: Balancer to remove the access rules from.
         :type  balancer: :class:`LoadBalancer`
 
-        :param rules: List of :class:`RackspaceAccessRule` objects to remove 
from the
-                       balancer.
+        :param rules: List of :class:`RackspaceAccessRule` objects to remove
+                      from the balancer.
         :type  rules: ``list`` of :class:`RackspaceAccessRule`
 
         :return: Updated Balancer.
@@ -1282,8 +1266,8 @@ class RackspaceLBDriver(Driver, OpenStackDriverMixin):
         :param balancer: Balancer to remove the access rules from.
         :type  balancer: :class:`LoadBalancer`
 
-        :param rules: List of :class:`RackspaceAccessRule` objects to remove 
from the
-                            balancer.
+        :param rules: List of :class:`RackspaceAccessRule` objects to remove
+                      from the balancer.
         :type  rules: ``list`` of :class:`RackspaceAccessRule`
 
         :return: Returns whether the destroy request was accepted.
@@ -1535,4 +1519,6 @@ class RackspaceLBDriver(Driver, OpenStackDriverMixin):
 
 
 class RackspaceUKLBDriver(RackspaceLBDriver):
-    connectionCls = RackspaceUKConnection
+    def __init__(self, *args, **kwargs):
+        kwargs['region'] = 'lon'
+        super(RackspaceUKLBDriver, self).__init__(*args, **kwargs)

http://git-wip-us.apache.org/repos/asf/libcloud/blob/236a022f/libcloud/loadbalancer/providers.py
----------------------------------------------------------------------
diff --git a/libcloud/loadbalancer/providers.py 
b/libcloud/loadbalancer/providers.py
index 54ce72b..f3d9dec 100644
--- a/libcloud/loadbalancer/providers.py
+++ b/libcloud/loadbalancer/providers.py
@@ -24,10 +24,8 @@ __all__ = [
 ]
 
 DRIVERS = {
-        Provider.RACKSPACE_US:
+        Provider.RACKSPACE:
             ('libcloud.loadbalancer.drivers.rackspace', 'RackspaceLBDriver'),
-        Provider.RACKSPACE_UK:
-            ('libcloud.loadbalancer.drivers.rackspace', 'RackspaceUKLBDriver'),
         Provider.GOGRID:
             ('libcloud.loadbalancer.drivers.gogrid', 'GoGridLBDriver'),
         Provider.NINEFOLD:
@@ -39,7 +37,13 @@ DRIVERS = {
         Provider.CLOUDSTACK:
             ('libcloud.loadbalancer.drivers.cloudstack', 'CloudStackLBDriver'),
         Provider.GCE:
-            ('libcloud.loadbalancer.drivers.gce', 'GCELBDriver')
+            ('libcloud.loadbalancer.drivers.gce', 'GCELBDriver'),
+
+        # Deprecated
+        Provider.RACKSPACE_US:
+            ('libcloud.loadbalancer.drivers.rackspace', 'RackspaceLBDriver'),
+        Provider.RACKSPACE_UK:
+            ('libcloud.loadbalancer.drivers.rackspace', 'RackspaceUKLBDriver'),
 }
 
 

http://git-wip-us.apache.org/repos/asf/libcloud/blob/236a022f/libcloud/loadbalancer/types.py
----------------------------------------------------------------------
diff --git a/libcloud/loadbalancer/types.py b/libcloud/loadbalancer/types.py
index 133bf7e..6be53e5 100644
--- a/libcloud/loadbalancer/types.py
+++ b/libcloud/loadbalancer/types.py
@@ -32,15 +32,18 @@ class LibcloudLBImmutableError(LibcloudLBError):
 
 
 class Provider(object):
-    RACKSPACE_US = 'rackspace_us'
+    RACKSPACE = 'rackspace'
     GOGRID = 'gogrid'
     NINEFOLD = 'ninefold'
-    RACKSPACE_UK = 'rackspace_uk'
     BRIGHTBOX = 'brightbox'
     ELB = 'elb'
     CLOUDSTACK = 'cloudstack'
     GCE = 'gce'
 
+    # Deprecated
+    RACKSPACE_US = 'rackspace_us'
+    RACKSPACE_UK = 'rackspace_uk'
+
 
 class State(object):
     """

http://git-wip-us.apache.org/repos/asf/libcloud/blob/236a022f/libcloud/test/loadbalancer/test_rackspace.py
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/test_rackspace.py 
b/libcloud/test/loadbalancer/test_rackspace.py
index 5708f06..5d66ad2 100644
--- a/libcloud/test/loadbalancer/test_rackspace.py
+++ b/libcloud/test/loadbalancer/test_rackspace.py
@@ -33,7 +33,8 @@ from libcloud.common.types import LibcloudError
 
 from libcloud.test import unittest
 from libcloud.test import MockHttpTestCase
-from libcloud.test.file_fixtures import LoadBalancerFileFixtures, 
OpenStackFixtures
+from libcloud.test.file_fixtures import LoadBalancerFileFixtures
+from libcloud.test.file_fixtures import OpenStackFixtures
 
 
 class RackspaceLBTests(unittest.TestCase):
@@ -48,7 +49,7 @@ class RackspaceLBTests(unittest.TestCase):
         self.driver.connection._populate_hosts_and_request_paths()
 
     def test_force_auth_token_kwargs(self):
-        base_url = 'https://ord.loadbalancer.api.rackspacecloud.com/v1.0/slug'
+        base_url = 'https://ord.loadbalancer.api.rackspacecloud.com/v1.0/11111'
         kwargs = {
             'ex_force_auth_token': 'some-auth-token',
             'ex_force_base_url': base_url
@@ -58,7 +59,7 @@ class RackspaceLBTests(unittest.TestCase):
 
         self.assertEqual(kwargs['ex_force_auth_token'],
             driver.connection.auth_token)
-        self.assertEqual('/v1.0/slug',
+        self.assertEqual('/v1.0/11111',
             driver.connection.request_path)
 
     def test_force_auth_url_kwargs(self):
@@ -906,20 +907,17 @@ class RackspaceLBMockHttp(MockHttpTestCase):
     fixtures = LoadBalancerFileFixtures('rackspace')
     auth_fixtures = OpenStackFixtures()
 
-    def _v1_0(self, method, url, body, headers):
-        headers = {'x-server-management-url': 
'https://servers.api.rackspacecloud.com/v1.0/slug',
-                   'x-auth-token': 'FE011C19-CF86-4F87-BE5D-9229145D7A06',
-                   'x-cdn-management-url': 
'https://cdn.clouddrive.com/v1/MossoCloudFS_FE011C19-CF86-4F87-BE5D-9229145D7A06',
-                   'x-storage-token': 'FE011C19-CF86-4F87-BE5D-9229145D7A06',
-                   'x-storage-url': 
'https://storage4.clouddrive.com/v1/MossoCloudFS_FE011C19-CF86-4F87-BE5D-9229145D7A06'}
-        return (httplib.NO_CONTENT, "", headers, 
httplib.responses[httplib.NO_CONTENT])
+    def _v2_0_tokens(self, method, url, body, headers):
+        body = self.fixtures.load('_v2_0__auth.json')
+        return (httplib.OK, body, headers,
+                httplib.responses[httplib.OK])
 
-    def _v1_0_slug_loadbalancers_protocols(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_protocols(self, method, url, body, headers):
         body = self.fixtures.load('v1_slug_loadbalancers_protocols.json')
         return (httplib.ACCEPTED, body, {},
                 httplib.responses[httplib.ACCEPTED])
 
-    def _v1_0_slug_loadbalancers_algorithms(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_algorithms(self, method, url, body, headers):
         if method == "GET":
             body = self.fixtures.load('v1_slug_loadbalancers_algorithms.json')
             return (httplib.ACCEPTED, body, {},
@@ -927,13 +925,14 @@ class RackspaceLBMockHttp(MockHttpTestCase):
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers(self, method, url, body, headers):
         if method == "GET":
             body = self.fixtures.load('v1_slug_loadbalancers.json')
             return (httplib.OK, body, {}, httplib.responses[httplib.OK])
         elif method == "POST":
-            body_json = json.loads(body)
-            loadbalancer_json = body_json['loadBalancer']
+            json_body = json.loads(body)
+
+            loadbalancer_json = json_body['loadBalancer']
             member_1_json, member_2_json = loadbalancer_json['nodes']
 
             self.assertEqual(loadbalancer_json['protocol'], 'HTTP')
@@ -960,24 +959,24 @@ class RackspaceLBMockHttp(MockHttpTestCase):
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_EX_MEMBER_ADDRESS(self, method, url, body, 
headers):
+    def _v1_0_11111_loadbalancers_EX_MEMBER_ADDRESS(self, method, url, body, 
headers):
         body = self.fixtures.load('v1_slug_loadbalancers_nodeaddress.json')
         return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
-    def _v1_0_slug_loadbalancers_8155(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_8155(self, method, url, body, headers):
         if method == "DELETE":
             return (httplib.ACCEPTED, "", {}, 
httplib.responses[httplib.ACCEPTED])
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_8290(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_8290(self, method, url, body, headers):
         if method == "GET":
             body = self.fixtures.load('v1_slug_loadbalancers_8290.json')
             return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_8290_nodes(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_8290_nodes(self, method, url, body, headers):
         if method == "GET":
             body = self.fixtures.load('v1_slug_loadbalancers_8290_nodes.json')
             return (httplib.OK, body, {}, httplib.responses[httplib.OK])
@@ -1002,14 +1001,14 @@ class RackspaceLBMockHttp(MockHttpTestCase):
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_8291(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_8291(self, method, url, body, headers):
         if method == "GET":
             body = self.fixtures.load('v1_slug_loadbalancers_8291.json')
             return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_8291_nodes(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_8291_nodes(self, method, url, body, headers):
         if method == "POST":
             json_body = json.loads(body)
             json_node = json_body['nodes'][0]
@@ -1020,14 +1019,14 @@ class RackspaceLBMockHttp(MockHttpTestCase):
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_8292(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_8292(self, method, url, body, headers):
         if method == "GET":
             body = self.fixtures.load('v1_slug_loadbalancers_8292.json')
             return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_8292_nodes(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_8292_nodes(self, method, url, body, headers):
         if method == "POST":
             json_body = json.loads(body)
             json_node_1 = json_body['nodes'][0]
@@ -1040,7 +1039,7 @@ class RackspaceLBMockHttp(MockHttpTestCase):
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_8290_nodes_30944(self, method, url, body, 
headers):
+    def _v1_0_11111_loadbalancers_8290_nodes_30944(self, method, url, body, 
headers):
         if method == "PUT":
             json_body = json.loads(body)
             self.assertEqual('ENABLED', json_body['condition'])
@@ -1051,36 +1050,35 @@ class RackspaceLBMockHttp(MockHttpTestCase):
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_8290_healthmonitor(self, method, url, body, 
headers):
+    def _v1_0_11111_loadbalancers_8290_healthmonitor(self, method, url, body, 
headers):
         if method == "DELETE":
             return (httplib.ACCEPTED, '', {}, 
httplib.responses[httplib.ACCEPTED])
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_8290_connectionthrottle(self, method, url, 
body, headers):
+    def _v1_0_11111_loadbalancers_8290_connectionthrottle(self, method, url, 
body, headers):
         if method == 'DELETE':
             return (httplib.ACCEPTED, '', {}, 
httplib.responses[httplib.ACCEPTED])
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_8290_connectionlogging(self, method, url, 
body, headers):
+    def _v1_0_11111_loadbalancers_8290_connectionlogging(self, method, url, 
body, headers):
         # Connection Logging uses a PUT to disable connection logging
         if method == 'PUT':
             json_body = json.loads(body)
-
             self.assertFalse(json_body["connectionLogging"]["enabled"])
 
             return (httplib.ACCEPTED, '', {}, 
httplib.responses[httplib.ACCEPTED])
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_8290_sessionpersistence(self, method, url, 
body, headers):
+    def _v1_0_11111_loadbalancers_8290_sessionpersistence(self, method, url, 
body, headers):
         if method == 'DELETE':
             return (httplib.ACCEPTED, '', {}, 
httplib.responses[httplib.ACCEPTED])
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_8290_errorpage(self, method, url, body, 
headers):
+    def _v1_0_11111_loadbalancers_8290_errorpage(self, method, url, body, 
headers):
         if method == 'GET':
             body = 
self.fixtures.load('v1_slug_loadbalancers_8290_errorpage.json')
             return (httplib.OK, body, {}, httplib.responses[httplib.OK])
@@ -1093,70 +1091,70 @@ class RackspaceLBMockHttp(MockHttpTestCase):
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_18940(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_18940(self, method, url, body, headers):
         if method == "GET":
             body = 
self.fixtures.load("v1_slug_loadbalancers_18940_ex_public_ips.json")
             return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_18945(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_18945(self, method, url, body, headers):
         if method == "GET":
             body = 
self.fixtures.load("v1_slug_loadbalancers_18945_ex_public_ips.json")
             return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_18940_errorpage(self, method, url, body, 
headers):
+    def _v1_0_11111_loadbalancers_18940_errorpage(self, method, url, body, 
headers):
         if method == "GET":
             body = 
self.fixtures.load("v1_slug_loadbalancers_18940_errorpage.json")
             return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_18940_accesslist(self, method, url, body, 
headers):
+    def _v1_0_11111_loadbalancers_18940_accesslist(self, method, url, body, 
headers):
         if method == 'GET':
             body = 
self.fixtures.load('v1_slug_loadbalancers_18940_accesslist.json')
             return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_18941(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_18941(self, method, url, body, headers):
         if method == "GET":
             body = 
self.fixtures.load("v1_slug_loadbalancers_18941_ex_private_ips.json")
             return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_94692(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_94692(self, method, url, body, headers):
         if method == "GET":
             body = 
self.fixtures.load("v1_slug_loadbalancers_94692_weighted_round_robin.json")
             return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_94693(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_94693(self, method, url, body, headers):
         if method == "GET":
             body = 
self.fixtures.load("v1_slug_loadbalancers_94693_weighted_least_connections.json")
             return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_94694(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_94694(self, method, url, body, headers):
         if method == "GET":
             body = 
self.fixtures.load("v1_slug_loadbalancers_94694_unknown_algorithm.json")
             return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_94695(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_94695(self, method, url, body, headers):
         if method == "GET":
             body = 
self.fixtures.load("v1_slug_loadbalancers_94695_full_details.json")
             return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_94695_healthmonitor(self, method, url, body, 
headers):
+    def _v1_0_11111_loadbalancers_94695_healthmonitor(self, method, url, body, 
headers):
         if method == 'PUT':
             json_body = json.loads(body)
 
@@ -1169,7 +1167,7 @@ class RackspaceLBMockHttp(MockHttpTestCase):
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_94695_connectionthrottle(self, method, url, 
body, headers):
+    def _v1_0_11111_loadbalancers_94695_connectionthrottle(self, method, url, 
body, headers):
         if method == 'PUT':
             json_body = json.loads(body)
 
@@ -1182,7 +1180,7 @@ class RackspaceLBMockHttp(MockHttpTestCase):
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_94695_connectionlogging(self, method, url, 
body, headers):
+    def _v1_0_11111_loadbalancers_94695_connectionlogging(self, method, url, 
body, headers):
         if method == 'PUT':
             json_body = json.loads(body)
 
@@ -1192,7 +1190,7 @@ class RackspaceLBMockHttp(MockHttpTestCase):
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_94695_sessionpersistence(self, method, url, 
body, headers):
+    def _v1_0_11111_loadbalancers_94695_sessionpersistence(self, method, url, 
body, headers):
         if method == 'PUT':
             json_body = json.loads(body)
 
@@ -1203,7 +1201,7 @@ class RackspaceLBMockHttp(MockHttpTestCase):
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_94695_errorpage(self, method, url, body, 
headers):
+    def _v1_0_11111_loadbalancers_94695_errorpage(self, method, url, body, 
headers):
         if method == 'GET':
             body = self.fixtures.load("error_page_default.json")
             return (httplib.OK, body, {}, httplib.responses[httplib.OK])
@@ -1212,14 +1210,14 @@ class RackspaceLBMockHttp(MockHttpTestCase):
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_94696(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_94696(self, method, url, body, headers):
         if method == "GET":
             body = 
self.fixtures.load("v1_slug_loadbalancers_94696_http_health_monitor.json")
             return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_94696_healthmonitor(self, method, url, body, 
headers):
+    def _v1_0_11111_loadbalancers_94696_healthmonitor(self, method, url, body, 
headers):
         if method == 'PUT':
             json_body = json.loads(body)
 
@@ -1235,21 +1233,21 @@ class RackspaceLBMockHttp(MockHttpTestCase):
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_94697(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_94697(self, method, url, body, headers):
         if method == "GET":
             body = 
self.fixtures.load("v1_slug_loadbalancers_94697_https_health_monitor.json")
             return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_94698(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_94698(self, method, url, body, headers):
         if method == "GET":
             body = 
self.fixtures.load("v1_slug_loadbalancers_94698_with_access_list.json")
             return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_94698_accesslist(self, method, url, body, 
headers):
+    def _v1_0_11111_loadbalancers_94698_accesslist(self, method, url, body, 
headers):
         if method == 'GET':
             body = 
self.fixtures.load('v1_slug_loadbalancers_94698_accesslist.json')
             return (httplib.OK, body, {}, httplib.responses[httplib.OK])
@@ -1263,7 +1261,7 @@ class RackspaceLBMockHttp(MockHttpTestCase):
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_94699(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_94699(self, method, url, body, headers):
         if method == 'GET':
             # Use the same fixture for batch deletes as for single deletes
             body = 
self.fixtures.load('v1_slug_loadbalancers_94698_with_access_list.json')
@@ -1275,7 +1273,7 @@ class RackspaceLBMockHttp(MockHttpTestCase):
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_94699_accesslist(self, method, url, body, 
headers):
+    def _v1_0_11111_loadbalancers_94699_accesslist(self, method, url, body, 
headers):
         if method == 'DELETE':
             fixture = 'v1_slug_loadbalancers_94698_with_access_list.json'
             fixture_json = json.loads(self.fixtures.load(fixture))
@@ -1300,20 +1298,20 @@ class RackspaceLBMockHttp(MockHttpTestCase):
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_94698_accesslist_1007(self, method, url, 
body, headers):
+    def _v1_0_11111_loadbalancers_94698_accesslist_1007(self, method, url, 
body, headers):
         if method == 'DELETE':
             return (httplib.ACCEPTED, '', {}, 
httplib.responses[httplib.ACCEPTED])
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_94700(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_94700(self, method, url, body, headers):
         if method == "GET":
             body = 
self.fixtures.load("v1_slug_loadbalancers_94700_http_health_monitor_no_body_regex.json")
             return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_94700_healthmonitor(self, method, url, body, 
headers):
+    def _v1_0_11111_loadbalancers_94700_healthmonitor(self, method, url, body, 
headers):
         if method == 'PUT':
             json_body = json.loads(body)
 
@@ -1329,10 +1327,11 @@ class RackspaceLBMockHttp(MockHttpTestCase):
 
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_3130(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_3130(self, method, url, body, headers):
         """ update_balancer(b, protocol='HTTPS'), then get_balancer('3130') """
         if method == "PUT":
-            self.assertDictEqual(json.loads(body), {'protocol': 'HTTPS'})
+            json_body = json.loads(body)
+            self.assertDictEqual(json_body, {'protocol': 'HTTPS'})
             return (httplib.ACCEPTED, "", {}, 
httplib.responses[httplib.ACCEPTED])
         elif method == "GET":
             response_body = 
json.loads(self.fixtures.load("v1_slug_loadbalancers_3xxx.json"))
@@ -1341,10 +1340,11 @@ class RackspaceLBMockHttp(MockHttpTestCase):
             return (httplib.OK, json.dumps(response_body), {}, 
httplib.responses[httplib.OK])
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_3131(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_3131(self, method, url, body, headers):
         """ update_balancer(b, port=443), then get_balancer('3131') """
         if method == "PUT":
-            self.assertDictEqual(json.loads(body), {'port': 1337})
+            json_body = json.loads(body)
+            self.assertDictEqual(json_body, {'port': 1337})
             return (httplib.ACCEPTED, "", {}, 
httplib.responses[httplib.ACCEPTED])
         elif method == "GET":
             response_body = 
json.loads(self.fixtures.load("v1_slug_loadbalancers_3xxx.json"))
@@ -1353,10 +1353,11 @@ class RackspaceLBMockHttp(MockHttpTestCase):
             return (httplib.OK, json.dumps(response_body), {}, 
httplib.responses[httplib.OK])
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_3132(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_3132(self, method, url, body, headers):
         """ update_balancer(b, name='new_lb_name'), then get_balancer('3132') 
"""
         if method == "PUT":
-            self.assertDictEqual(json.loads(body), {'name': 'new_lb_name'})
+            json_body = json.loads(body)
+            self.assertDictEqual(json_body, {'name': 'new_lb_name'})
             return (httplib.ACCEPTED, "", {}, 
httplib.responses[httplib.ACCEPTED])
         elif method == "GET":
             response_body = 
json.loads(self.fixtures.load("v1_slug_loadbalancers_3xxx.json"))
@@ -1365,10 +1366,11 @@ class RackspaceLBMockHttp(MockHttpTestCase):
             return (httplib.OK, json.dumps(response_body), {}, 
httplib.responses[httplib.OK])
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_3133(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_3133(self, method, url, body, headers):
         """ update_balancer(b, algorithm='ROUND_ROBIN'), then 
get_balancer('3133') """
         if method == "PUT":
-            self.assertDictEqual(json.loads(body), {'algorithm': 
'ROUND_ROBIN'})
+            json_body = json.loads(body)
+            self.assertDictEqual(json_body, {'algorithm': 'ROUND_ROBIN'})
             return (httplib.ACCEPTED, "", {}, 
httplib.responses[httplib.ACCEPTED])
         elif method == "GET":
             response_body = 
json.loads(self.fixtures.load("v1_slug_loadbalancers_3xxx.json"))
@@ -1377,16 +1379,17 @@ class RackspaceLBMockHttp(MockHttpTestCase):
             return (httplib.OK, json.dumps(response_body), {}, 
httplib.responses[httplib.OK])
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_3134(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_3134(self, method, url, body, headers):
         """ update.balancer(b, algorithm='HAVE_MERCY_ON_OUR_SERVERS') """
         if method == "PUT":
             return (httplib.BAD_REQUEST, "", {}, 
httplib.responses[httplib.BAD_REQUEST])
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_3135(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_3135(self, method, url, body, headers):
         """ update_balancer(b, protocol='IMAPv3'), then get_balancer('3135') 
"""
         if method == "PUT":
-            self.assertDictEqual(json.loads(body), {'protocol': 'IMAPv2'})
+            json_body = json.loads(body)
+            self.assertDictEqual(json_body, {'protocol': 'IMAPv2'})
             return (httplib.ACCEPTED, "", {}, 
httplib.responses[httplib.ACCEPTED])
         elif method == "GET":
             response_body = 
json.loads(self.fixtures.load("v1_slug_loadbalancers_3xxx.json"))
@@ -1395,10 +1398,11 @@ class RackspaceLBMockHttp(MockHttpTestCase):
             return (httplib.OK, json.dumps(response_body), {}, 
httplib.responses[httplib.OK])
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_3136(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_3136(self, method, url, body, headers):
         """ update_balancer(b, protocol='IMAPv3'), then get_balancer('3136') 
"""
         if method == "PUT":
-            self.assertDictEqual(json.loads(body), {'protocol': 'IMAPv3'})
+            json_body = json.loads(body)
+            self.assertDictEqual(json_body, {'protocol': 'IMAPv3'})
             return (httplib.ACCEPTED, "", {}, 
httplib.responses[httplib.ACCEPTED])
         elif method == "GET":
             response_body = 
json.loads(self.fixtures.load("v1_slug_loadbalancers_3xxx.json"))
@@ -1407,10 +1411,11 @@ class RackspaceLBMockHttp(MockHttpTestCase):
             return (httplib.OK, json.dumps(response_body), {}, 
httplib.responses[httplib.OK])
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_3137(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers_3137(self, method, url, body, headers):
         """ update_balancer(b, protocol='IMAPv3'), then get_balancer('3137') 
"""
         if method == "PUT":
-            self.assertDictEqual(json.loads(body), {'protocol': 'IMAPv4'})
+            json_body = json.loads(body)
+            self.assertDictEqual(json_body, {'protocol': 'IMAPv4'})
             return (httplib.ACCEPTED, "", {}, 
httplib.responses[httplib.ACCEPTED])
         elif method == "GET":
             response_body = 
json.loads(self.fixtures.load("v1_slug_loadbalancers_3xxx.json"))
@@ -1419,46 +1424,30 @@ class RackspaceLBMockHttp(MockHttpTestCase):
             return (httplib.OK, json.dumps(response_body), {}, 
httplib.responses[httplib.OK])
         raise NotImplementedError
 
-    def _v1_0_slug_loadbalancers_8290_usage_current(self, method, url, body,
+    def _v1_0_11111_loadbalancers_8290_usage_current(self, method, url, body,
                                                     headers):
         if method == 'GET':
             body = 
self.fixtures.load('v1_0_slug_loadbalancers_8290_usage_current.json')
             return (httplib.OK, body, {}, httplib.responses[httplib.OK])
         raise NotImplementedError
 
-    def _v1_1_auth(self, method, url, body, headers):
-        headers = {'content-type': 'application/json; charset=UTF-8'}
-        body = self.auth_fixtures.load('_v1_1__auth.json')
-        return (httplib.OK, body, headers, httplib.responses[httplib.OK])
-
-    def _v2_0_tokens(self, method, url, body, headers):
-        body = self.fixtures.load('auth_2_0.json')
-        headers = {
-            'content-type': 'application/json'
-        }
-        return (httplib.OK, body, headers,
-                httplib.responses[httplib.OK])
-
 
 class RackspaceLBWithVIPMockHttp(MockHttpTestCase):
     fixtures = LoadBalancerFileFixtures('rackspace')
     auth_fixtures = OpenStackFixtures()
 
-    def _v1_0(self, method, url, body, headers):
-        headers = {'x-server-management-url': 
'https://servers.api.rackspacecloud.com/v1.0/slug',
-                   'x-auth-token': 'FE011C19-CF86-4F87-BE5D-9229145D7A06',
-                   'x-cdn-management-url': 
'https://cdn.clouddrive.com/v1/MossoCloudFS_FE011C19-CF86-4F87-BE5D-9229145D7A06',
-                   'x-storage-token': 'FE011C19-CF86-4F87-BE5D-9229145D7A06',
-                   'x-storage-url': 
'https://storage4.clouddrive.com/v1/MossoCloudFS_FE011C19-CF86-4F87-BE5D-9229145D7A06'}
-        return (httplib.NO_CONTENT, "", headers, 
httplib.responses[httplib.NO_CONTENT])
+    def _v2_0_tokens(self, method, url, body, headers):
+            body = self.fixtures.load('_v2_0__auth.json')
+            return (httplib.OK, body, headers,
+                    httplib.responses[httplib.OK])
 
-    def _v1_0_slug_loadbalancers(self, method, url, body, headers):
+    def _v1_0_11111_loadbalancers(self, method, url, body, headers):
         if method == "GET":
             body = self.fixtures.load('v1_slug_loadbalancers.json')
             return (httplib.OK, body, {}, httplib.responses[httplib.OK])
         elif method == "POST":
-            body_json = json.loads(body)
-            loadbalancer_json = body_json['loadBalancer']
+            json_body = json.loads(body)
+            loadbalancer_json = json_body['loadBalancer']
 
             self.assertEqual(loadbalancer_json['virtualIps'][0]['id'], '12af')
 
@@ -1468,18 +1457,5 @@ class RackspaceLBWithVIPMockHttp(MockHttpTestCase):
 
         raise NotImplementedError
 
-    def _v1_1_auth(self, method, url, body, headers):
-        headers = {'content-type': 'application/json; charset=UTF-8'}
-        body = self.auth_fixtures.load('_v1_1__auth.json')
-        return (httplib.OK, body, headers, httplib.responses[httplib.OK])
-
-    def _v2_0_tokens(self, method, url, body, headers):
-        body = self.fixtures.load('auth_2_0.json')
-        headers = {
-            'content-type': 'application/json'
-        }
-        return (httplib.OK, body, headers,
-                httplib.responses[httplib.OK])
-
 if __name__ == "__main__":
     sys.exit(unittest.main())

Reply via email to