Author: tomaz
Date: Wed Jul 25 04:53:13 2012
New Revision: 1365448

URL: http://svn.apache.org/viewvc?rev=1365448&view=rev
Log:
Add new Rackspace Nova driver for Chicago (ORD) location. Contributed by Brian
McDaniel, part of LIBCLOUD-234.

Modified:
    libcloud/trunk/CHANGES
    libcloud/trunk/libcloud/compute/drivers/rackspacenova.py
    libcloud/trunk/libcloud/compute/providers.py
    libcloud/trunk/libcloud/compute/types.py
    libcloud/trunk/libcloud/test/compute/fixtures/openstack/_v2_0__auth.json
    libcloud/trunk/libcloud/test/compute/test_rackspacenova.py

Modified: libcloud/trunk/CHANGES
URL: 
http://svn.apache.org/viewvc/libcloud/trunk/CHANGES?rev=1365448&r1=1365447&r2=1365448&view=diff
==============================================================================
--- libcloud/trunk/CHANGES (original)
+++ libcloud/trunk/CHANGES Wed Jul 25 04:53:13 2012
@@ -1,5 +1,12 @@
                                    -*- coding: utf-8 -*-
 
+Changes with Apache Libcloud in development:
+
+  *) Compute
+
+    - Add new Rackspace Nova driver for Chicago (ORD) location ; LIBCLOUD-234
+      [Brian McDaniel]
+
 Changes with Apache Libcloud 0.11.0:
 
   *) Compute

Modified: libcloud/trunk/libcloud/compute/drivers/rackspacenova.py
URL: 
http://svn.apache.org/viewvc/libcloud/trunk/libcloud/compute/drivers/rackspacenova.py?rev=1365448&r1=1365447&r2=1365448&view=diff
==============================================================================
--- libcloud/trunk/libcloud/compute/drivers/rackspacenova.py (original)
+++ libcloud/trunk/libcloud/compute/drivers/rackspacenova.py Wed Jul 25 
04:53:13 2012
@@ -74,6 +74,21 @@ class RackspaceNovaDfwNodeDriver(OpenSta
     api_name = 'rackspacenovadfw'
 
 
+class RackspaceNovaOrdConnection(RackspaceNovaConnection):
+
+    get_endpoint_args = {'service_type': 'compute',
+                         'name': 'cloudServersOpenStack',
+                         'region': 'ORD'}
+
+
+class RackspaceNovaOrdNodeDriver(OpenStack_1_1_NodeDriver):
+    name = 'RackspaceNovaord'
+    website = 'http://www.rackspace.com/'
+    connectionCls = RackspaceNovaOrdConnection
+    type = Provider.RACKSPACE_NOVA_ORD
+    api_name = 'rackspacenovaord'
+
+
 class RackspaceNovaLonNodeDriver(OpenStack_1_1_NodeDriver):
     name = 'RackspaceNovalon'
     website = 'http://www.rackspace.com/'

Modified: libcloud/trunk/libcloud/compute/providers.py
URL: 
http://svn.apache.org/viewvc/libcloud/trunk/libcloud/compute/providers.py?rev=1365448&r1=1365447&r2=1365448&view=diff
==============================================================================
--- libcloud/trunk/libcloud/compute/providers.py (original)
+++ libcloud/trunk/libcloud/compute/providers.py Wed Jul 25 04:53:13 2012
@@ -111,6 +111,8 @@ DRIVERS = {
         ('libcloud.compute.drivers.rackspacenova', 
'RackspaceNovaBetaNodeDriver'),
     Provider.RACKSPACE_NOVA_DFW:
         ('libcloud.compute.drivers.rackspacenova', 
'RackspaceNovaDfwNodeDriver'),
+    Provider.RACKSPACE_NOVA_ORD:
+        ('libcloud.compute.drivers.rackspacenova', 
'RackspaceNovaOrdNodeDriver'),
     Provider.RACKSPACE_NOVA_LON:
         ('libcloud.compute.drivers.rackspacenova', 
'RackspaceNovaLonNodeDriver'),
     Provider.LIBVIRT:

Modified: libcloud/trunk/libcloud/compute/types.py
URL: 
http://svn.apache.org/viewvc/libcloud/trunk/libcloud/compute/types.py?rev=1365448&r1=1365447&r2=1365448&view=diff
==============================================================================
--- libcloud/trunk/libcloud/compute/types.py (original)
+++ libcloud/trunk/libcloud/compute/types.py Wed Jul 25 04:53:13 2012
@@ -63,6 +63,7 @@ class Provider(object):
     @cvar CLOUDSIGMA_US: CloudSigma US Las Vegas
     @cvar RACKSPACE_NOVA_BETA: Rackspace Nova Private Beta (ORD)
     @cvar RACKSPACE_NOVA_DFW: Rackspace Nova Private DFW (DFW)
+    @cvar RACKSPACE_NOVA_ORD: Rackspace Nova Private ORD (ORD)
     @cvar RACKSPACE_NOVA_LON: Rackspace Nova Private LON (LON)
     @cvar LIBVIRT: Libvirt driver
     @cvar JOYENT: Joyent driver
@@ -122,6 +123,7 @@ class Provider(object):
     KTUCLOUD = 47
     RACKSPACE_NOVA_LON = 48
     GRIDSPOT = 49
+    RACKSPACE_NOVA_ORD = 50
 
 
 class NodeState(object):

Modified: 
libcloud/trunk/libcloud/test/compute/fixtures/openstack/_v2_0__auth.json
URL: 
http://svn.apache.org/viewvc/libcloud/trunk/libcloud/test/compute/fixtures/openstack/_v2_0__auth.json?rev=1365448&r1=1365447&r2=1365448&view=diff
==============================================================================
--- libcloud/trunk/libcloud/test/compute/fixtures/openstack/_v2_0__auth.json 
(original)
+++ libcloud/trunk/libcloud/test/compute/fixtures/openstack/_v2_0__auth.json 
Wed Jul 25 04:53:13 2012
@@ -71,6 +71,14 @@
                         "versionInfo": 
"https://dfw.servers.api.rackspacecloud.com/v2/";,
                         "versionList": 
"https://dfw.servers.api.rackspacecloud.com/";,
                         "versionId": "2"
+                    },
+                    {
+                        "region": "ORD",
+                        "tenantId": "613469",
+                        "publicURL": 
"https://ord.servers.api.rackspacecloud.com/v2/1337";,
+                        "versionInfo": 
"https://ord.servers.api.rackspacecloud.com/v2/";,
+                        "versionList": 
"https://ord.servers.api.rackspacecloud.com/";,
+                        "versionId": "2"
                     }
                 ],
                 "name": "cloudServersOpenStack",

Modified: libcloud/trunk/libcloud/test/compute/test_rackspacenova.py
URL: 
http://svn.apache.org/viewvc/libcloud/trunk/libcloud/test/compute/test_rackspacenova.py?rev=1365448&r1=1365447&r2=1365448&view=diff
==============================================================================
--- libcloud/trunk/libcloud/test/compute/test_rackspacenova.py (original)
+++ libcloud/trunk/libcloud/test/compute/test_rackspacenova.py Wed Jul 25 
04:53:13 2012
@@ -19,6 +19,7 @@ from libcloud.utils.py3 import method_ty
 from libcloud.utils.py3 import httplib
 from libcloud.compute.drivers.rackspacenova import 
RackspaceNovaBetaNodeDriver, \
                                                    RackspaceNovaDfwNodeDriver, 
\
+                                                   RackspaceNovaOrdNodeDriver, 
\
                                                    RackspaceNovaLonNodeDriver
 from libcloud.test.compute.test_openstack import OpenStack_1_1_Tests, 
OpenStack_1_1_MockHttp
 from libcloud.pricing import clear_pricing_data
@@ -48,13 +49,6 @@ class RackspaceNovaLonMockHttp(Rackspace
         return (httplib.OK, body, self.json_content_headers, 
httplib.responses[httplib.OK])
 
 
-class RackspaceNovaLonMockHttp(RackspaceNovaMockHttp):
-
-    def _v2_0_tokens(self, method, url, body, headers):
-        body = self.auth_fixtures.load('_v2_0__auth_lon.json')
-        return (httplib.OK, body, self.json_content_headers, 
httplib.responses[httplib.OK])
-
-
 class RackspaceNovaBetaTests(OpenStack_1_1_Tests):
 
     driver_klass = RackspaceNovaBetaNodeDriver
@@ -103,10 +97,10 @@ class RackspaceNovaDfwTests(OpenStack_1_
         self.assertEqual('https://dfw.servers.api.rackspacecloud.com/v2/1337', 
self.driver.connection.get_endpoint())
 
 
-class RackspaceNovaLonTests(OpenStack_1_1_Tests):
+class RackspaceNovaOrdTests(OpenStack_1_1_Tests):
 
-    driver_klass = RackspaceNovaLonNodeDriver
-    driver_type = RackspaceNovaLonNodeDriver
+    driver_klass = RackspaceNovaOrdNodeDriver
+    driver_type = RackspaceNovaOrdNodeDriver
     driver_args = RACKSPACE_NOVA_PARAMS + ('1.1',)
     driver_kwargs = {'ex_force_auth_version': '2.0'}
 
@@ -115,8 +109,8 @@ class RackspaceNovaLonTests(OpenStack_1_
         return self.driver_type(*self.driver_args, **self.driver_kwargs)
 
     def setUp(self):
-        self.driver_klass.connectionCls.conn_classes = 
(RackspaceNovaLonMockHttp, RackspaceNovaLonMockHttp)
-        self.driver_klass.connectionCls.auth_url = 
"https://lon.auth.api.example.com/v2.0/";
+        self.driver_klass.connectionCls.conn_classes = (RackspaceNovaMockHttp, 
RackspaceNovaMockHttp)
+        self.driver_klass.connectionCls.auth_url = 
"https://auth.api.example.com/v2.0/";
         self.driver = self.create_driver()
         # normally authentication happens lazily, but we force it here
         self.driver.connection._populate_hosts_and_request_paths()
@@ -124,7 +118,7 @@ class RackspaceNovaLonTests(OpenStack_1_
         self.node = self.driver.list_nodes()[1]
 
     def test_service_catalog(self):
-        self.assertEqual('https://lon.servers.api.rackspacecloud.com/v2/1337', 
self.driver.connection.get_endpoint())
+        self.assertEqual('https://ord.servers.api.rackspacecloud.com/v2/1337', 
self.driver.connection.get_endpoint())
 
 
 class RackspaceNovaLonTests(OpenStack_1_1_Tests):


Reply via email to