You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by to...@apache.org on 2013/06/22 21:06:15 UTC
git commit: Add a driver for Rackspace's new datacenter in Sydney,
Australia.
Updated Branches:
refs/heads/0.12.x 428082821 -> 2c815ace3
Add a driver for Rackspace's new datacenter in Sydney, Australia.
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/2c815ace
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/2c815ace
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/2c815ace
Branch: refs/heads/0.12.x
Commit: 2c815ace3212610430db4144cfa0eaacff8398a6
Parents: 4280828
Author: Tomaz Muraus <to...@apache.org>
Authored: Sat Jun 22 20:37:31 2013 +0200
Committer: Tomaz Muraus <to...@apache.org>
Committed: Sat Jun 22 21:04:18 2013 +0200
----------------------------------------------------------------------
CHANGES | 3 +++
libcloud/compute/drivers/rackspace.py | 37 ++++++++++++++++++++++++++++--
libcloud/compute/providers.py | 2 ++
libcloud/compute/types.py | 1 +
4 files changed, 41 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/2c815ace/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index d0729ad..bcbfd4c 100644
--- a/CHANGES
+++ b/CHANGES
@@ -103,6 +103,9 @@ Changes with Apache Libcloud in deveploment:
which return a valid SSL certificate. (LIBCLOUD-346)
[Bob Thompson]
+ - Add a driver for Rackspace's new datacenter in Sydney, Australia.
+ [Alex Gaynor, Tomaz Muraus]
+
*) Storage
- Fix an issue with double encoding the container name in the CloudFiles
http://git-wip-us.apache.org/repos/asf/libcloud/blob/2c815ace/libcloud/compute/drivers/rackspace.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/rackspace.py b/libcloud/compute/drivers/rackspace.py
index 2f8a329..203a73b 100644
--- a/libcloud/compute/drivers/rackspace.py
+++ b/libcloud/compute/drivers/rackspace.py
@@ -34,8 +34,8 @@ class RackspaceConnection(OpenStack_1_0_Connection):
XML_NAMESPACE = 'http://docs.rackspacecloud.com/servers/api/v1.0'
def get_endpoint(self):
-
ep = {}
+
if '2.0' in self._auth_version:
ep = self.service_catalog.get_endpoint(service_type='compute',
name='cloudServers')
@@ -74,7 +74,8 @@ class RackspaceUKConnection(RackspaceConnection):
class RackspaceUKNodeDriver(RackspaceNodeDriver):
- """Driver for Rackspace in the UK (London)
+ """
+ Driver for Rackspace in the UK (London)
"""
name = 'Rackspace (UK)'
@@ -82,3 +83,35 @@ class RackspaceUKNodeDriver(RackspaceNodeDriver):
def list_locations(self):
return [NodeLocation(0, 'Rackspace UK London', 'UK', self)]
+
+
+class RackspaceAUConnection(RackspaceConnection):
+ """
+ Connection class for the Rackspace Sydney datacenter
+ """
+
+ auth_url = AUTH_URL_US
+ _auth_version = '2.0'
+
+ def get_endpoint(self):
+ ep = {}
+
+ ep = self.service_catalog.get_endpoint(service_type='compute',
+ name='cloudServersOpenStack',
+ region='SYD')
+
+ if 'publicURL' in ep:
+ return ep['publicURL']
+
+ raise LibcloudError('Could not find specified endpoint')
+
+
+class RackspaceAUNodeDriver(RackspaceNodeDriver):
+ """Driver for Rackspace in the UK (London)
+ """
+
+ name = 'Rackspace (Sydney, Australia)'
+ connectionCls = RackspaceAUConnection
+
+ def list_locations(self):
+ return [NodeLocation(0, 'Rackspace Sydney, Australia', 'AU', self)]
http://git-wip-us.apache.org/repos/asf/libcloud/blob/2c815ace/libcloud/compute/providers.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/providers.py b/libcloud/compute/providers.py
index 8e23f4f..54f0aa9 100644
--- a/libcloud/compute/providers.py
+++ b/libcloud/compute/providers.py
@@ -70,6 +70,8 @@ DRIVERS = {
('libcloud.compute.drivers.rackspace', 'RackspaceNodeDriver'),
Provider.RACKSPACE_UK:
('libcloud.compute.drivers.rackspace', 'RackspaceUKNodeDriver'),
+ Provider.RACKSPACE_AU:
+ ('libcloud.compute.drivers.rackspace', 'RackspaceAUNodeDriver'),
Provider.SLICEHOST:
('libcloud.compute.drivers.slicehost', 'SlicehostNodeDriver'),
Provider.VPSNET:
http://git-wip-us.apache.org/repos/asf/libcloud/blob/2c815ace/libcloud/compute/types.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/types.py b/libcloud/compute/types.py
index dabe50e..2f076cd 100644
--- a/libcloud/compute/types.py
+++ b/libcloud/compute/types.py
@@ -124,6 +124,7 @@ class Provider(object):
RACKSPACE = 'rackspace'
RACKSPACE_UK = 'rackspace_uk'
+ RACKSPACE_AU = 'rackspace_au'
RACKSPACE_NOVA_BETA = 'rackspace_nova_beta'
RACKSPACE_NOVA_DFW = 'rackspace_nova_dfw'
RACKSPACE_NOVA_LON = 'rackspace_nova_lon'