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