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 2015/08/31 18:42:01 UTC
[1/5] libcloud git commit: Extended the docs for the DimensionData
driver to support the new loadbalancer component. Ensured both drivers are
90%+ coverage and added some unit tests for issues have seen in prod.
Repository: libcloud
Updated Branches:
refs/heads/trunk 64f566455 -> 0f4b01fde
Extended the docs for the DimensionData driver to support the new loadbalancer component. Ensured both drivers are 90%+ coverage and added some unit tests for issues have seen in prod.
Closes #570
Signed-off-by: Tomaz Muraus <to...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/3bbc62a7
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/3bbc62a7
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/3bbc62a7
Branch: refs/heads/trunk
Commit: 3bbc62a7d660c0481c98ad2c6d2d73d26f886466
Parents: 64f5664
Author: Anthony Shaw <an...@gmail.com>
Authored: Mon Aug 31 12:55:01 2015 +1000
Committer: Tomaz Muraus <to...@apache.org>
Committed: Mon Aug 31 18:16:35 2015 +0200
----------------------------------------------------------------------
docs/loadbalancer/_supported_providers.rst | 30 +++++------
docs/loadbalancer/drivers/dimensiondata.rst | 55 ++++++++++++++++++++
libcloud/compute/drivers/dimensiondata.py | 15 ++++--
...745_4d8a_9cbc_8dabe5a7d0e4_server_server.xml | 17 ++++++
libcloud/test/compute/test_dimensiondata.py | 24 ++++++++-
..._9cbc_8dabe5a7d0e4_networkDomainVip_node.xml | 29 +++++++++++
.../test/loadbalancer/test_dimensiondata.py | 49 +++++++++++++++++
7 files changed, 199 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/3bbc62a7/docs/loadbalancer/_supported_providers.rst
----------------------------------------------------------------------
diff --git a/docs/loadbalancer/_supported_providers.rst b/docs/loadbalancer/_supported_providers.rst
index 3d1d830..98516f8 100644
--- a/docs/loadbalancer/_supported_providers.rst
+++ b/docs/loadbalancer/_supported_providers.rst
@@ -1,20 +1,20 @@
.. NOTE: This file has been generated automatically using generate_provider_feature_matrix_table.py script, don't manually edit it
-====================================== ======================================== ================= ================================================== ==============================
-Provider Documentation Provider constant Module Class Name
-====================================== ======================================== ================= ================================================== ==============================
-`Brightbox`_ BRIGHTBOX :mod:`libcloud.loadbalancer.drivers.brightbox` :class:`BrightboxLBDriver`
-`CloudStack`_ CLOUDSTACK :mod:`libcloud.loadbalancer.drivers.cloudstack` :class:`CloudStackLBDriver`
-`Dimension Data Load Balancer`_ DIMENSIONDATA :mod:`libcloud.loadbalancer.drivers.dimensiondata` :class:`DimensionDataLBDriver`
-`Amazon Elastic Load Balancing`_ :doc:`Click </loadbalancer/drivers/elb>` ELB :mod:`libcloud.loadbalancer.drivers.elb` :class:`ElasticLBDriver`
-`Google Compute Engine Load Balancer`_ :doc:`Click </loadbalancer/drivers/gce>` GCE :mod:`libcloud.loadbalancer.drivers.gce` :class:`GCELBDriver`
-`GoGrid LB`_ GOGRID :mod:`libcloud.loadbalancer.drivers.gogrid` :class:`GoGridLBDriver`
-`Ninefold LB`_ NINEFOLD :mod:`libcloud.loadbalancer.drivers.ninefold` :class:`NinefoldLBDriver`
-`Rackspace LB`_ RACKSPACE :mod:`libcloud.loadbalancer.drivers.rackspace` :class:`RackspaceLBDriver`
-`Rackspace LB`_ RACKSPACE_UK :mod:`libcloud.loadbalancer.drivers.rackspace` :class:`RackspaceUKLBDriver`
-`Rackspace LB`_ RACKSPACE_US :mod:`libcloud.loadbalancer.drivers.rackspace` :class:`RackspaceLBDriver`
-`Softlayer Load Balancing`_ SOFTLAYER :mod:`libcloud.loadbalancer.drivers.softlayer` :class:`SoftlayerLBDriver`
-====================================== ======================================== ================= ================================================== ==============================
+====================================== ================================================== ================= ================================================== ==============================
+Provider Documentation Provider constant Module Class Name
+====================================== ================================================== ================= ================================================== ==============================
+`Brightbox`_ BRIGHTBOX :mod:`libcloud.loadbalancer.drivers.brightbox` :class:`BrightboxLBDriver`
+`CloudStack`_ CLOUDSTACK :mod:`libcloud.loadbalancer.drivers.cloudstack` :class:`CloudStackLBDriver`
+`Dimension Data Load Balancer`_ :doc:`Click </loadbalancer/drivers/dimensiondata>` DIMENSIONDATA :mod:`libcloud.loadbalancer.drivers.dimensiondata` :class:`DimensionDataLBDriver`
+`Amazon Elastic Load Balancing`_ :doc:`Click </loadbalancer/drivers/elb>` ELB :mod:`libcloud.loadbalancer.drivers.elb` :class:`ElasticLBDriver`
+`Google Compute Engine Load Balancer`_ :doc:`Click </loadbalancer/drivers/gce>` GCE :mod:`libcloud.loadbalancer.drivers.gce` :class:`GCELBDriver`
+`GoGrid LB`_ GOGRID :mod:`libcloud.loadbalancer.drivers.gogrid` :class:`GoGridLBDriver`
+`Ninefold LB`_ NINEFOLD :mod:`libcloud.loadbalancer.drivers.ninefold` :class:`NinefoldLBDriver`
+`Rackspace LB`_ RACKSPACE :mod:`libcloud.loadbalancer.drivers.rackspace` :class:`RackspaceLBDriver`
+`Rackspace LB`_ RACKSPACE_UK :mod:`libcloud.loadbalancer.drivers.rackspace` :class:`RackspaceUKLBDriver`
+`Rackspace LB`_ RACKSPACE_US :mod:`libcloud.loadbalancer.drivers.rackspace` :class:`RackspaceLBDriver`
+`Softlayer Load Balancing`_ SOFTLAYER :mod:`libcloud.loadbalancer.drivers.softlayer` :class:`SoftlayerLBDriver`
+====================================== ================================================== ================= ================================================== ==============================
.. _`Brightbox`: http://www.brightbox.co.uk/
.. _`CloudStack`: http://cloudstack.org/
http://git-wip-us.apache.org/repos/asf/libcloud/blob/3bbc62a7/docs/loadbalancer/drivers/dimensiondata.rst
----------------------------------------------------------------------
diff --git a/docs/loadbalancer/drivers/dimensiondata.rst b/docs/loadbalancer/drivers/dimensiondata.rst
new file mode 100644
index 0000000..a57d6f2
--- /dev/null
+++ b/docs/loadbalancer/drivers/dimensiondata.rst
@@ -0,0 +1,55 @@
+Dimension Data Load Balancer Driver Documentation
+=======================================
+
+Dimension Data are a global IT Services company and form part of the NTT Group.
+Dimension Data provide IT-as-a-Service to customers around the globe on their
+cloud platform (Compute as a Service). The CaaS service is available either on
+one of the public cloud instances or as a private instance on premises.
+
+.. figure:: /_static/images/provider_logos/dimensiondata.png
+ :align: center
+ :width: 300
+ :target: http://cloud.dimensiondata.com/
+
+CaaS has its own non-standard `API`_ , `libcloud` provides a Python
+wrapper on top of this `API`_ with common methods with other IaaS solutions and
+Public cloud providers. Therefore, you can use use the Dimension Data libcloud
+driver to communicate with both the public and private clouds.
+
+Instantiating a driver
+----------------------
+
+When you instantiate a driver you need to pass the following arguments to the
+driver constructor:
+
+* ``user_id`` - Your Dimension Data Cloud username
+* ``key`` - Your Dimension Data Cloud password
+
+The base `libcloud` API allows you to:
+
+* create balancers, add members and destroy members
+
+Non-standard functionality and extension methods
+------------------------------------------------
+
+The Dimension Data driver exposes some `libcloud` non-standard
+functionalities through extension methods and arguments.
+
+These functionalities include:
+
+* list nodes
+* list pools
+* set the network domain (zone)
+
+For information on how to use these functionalities please see the method
+docstrings below. You can also use an interactive shell for exploration as
+shown in the examples.
+
+API Docs
+--------
+
+.. autoclass:: libcloud.loadbalancer.drivers.dimensiondata.DimensionDataLBDriver
+ :members:
+ :inherited-members:
+
+.. _`API`: http://cloud.dimensiondata.com/au/en/services/public-cloud/api
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/libcloud/blob/3bbc62a7/libcloud/compute/drivers/dimensiondata.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/dimensiondata.py b/libcloud/compute/drivers/dimensiondata.py
index dcfe4b5..fad4476 100644
--- a/libcloud/compute/drivers/dimensiondata.py
+++ b/libcloud/compute/drivers/dimensiondata.py
@@ -499,12 +499,16 @@ class DimensionDataNodeDriver(NodeDriver):
status = self._to_status(element.find(fixxpath('progress', TYPES_URN)))
+ has_network_info \
+ = element.find(fixxpath('networkInfo', TYPES_URN)) is not None
+
extra = {
'description': findtext(element, 'description', TYPES_URN),
'sourceImageId': findtext(element, 'sourceImageId', TYPES_URN),
'networkId': findtext(element, 'networkId', TYPES_URN),
- 'networkDomainId': element.find(fixxpath('networkInfo', TYPES_URN))
- .get('networkDomainId'),
+ 'networkDomainId': element.find(fixxpath('networkInfo', TYPES_URN))\
+ .get('networkDomainId') \
+ if has_network_info else None,
'datacenterId': element.get('datacenterId'),
'deployedTime': findtext(element, 'createTime', TYPES_URN),
'cpuCount': int(findtext(
@@ -529,8 +533,11 @@ class DimensionDataNodeDriver(NodeDriver):
public_ip = findtext(element, 'publicIpAddress', TYPES_URN)
- private_ip = findtext(element, 'networkInfo/primaryNic/privateIpv4',
- TYPES_URN)
+ private_ip = element.find(
+ fixxpath('networkInfo/primaryNic', TYPES_URN)) \
+ .get('privateIpv4') \
+ if has_network_info else \
+ element.find(fixxpath('nic', TYPES_URN)).get('privateIpv4')
n = Node(id=element.get('id'),
name=findtext(element, 'name', TYPES_URN),
http://git-wip-us.apache.org/repos/asf/libcloud/blob/3bbc62a7/libcloud/test/compute/fixtures/dimensiondata/caas_2_0_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_server_server.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/dimensiondata/caas_2_0_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_server_server.xml b/libcloud/test/compute/fixtures/dimensiondata/caas_2_0_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_server_server.xml
index 64c691a..7c189c9 100644
--- a/libcloud/test/compute/fixtures/dimensiondata/caas_2_0_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_server_server.xml
+++ b/libcloud/test/compute/fixtures/dimensiondata/caas_2_0_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_server_server.xml
@@ -61,4 +61,21 @@ state="NORMAL"/>
<machineStatus name="vmwareToolsRunningStatus" value="RUNNING"/>
<machineStatus name="vmwareToolsApiVersion" value="9354"/>
</Server>
+<Server id="f07445f8-8ba3-4066-86c1-d6d0dd5518a1" datacenterId="NA5">
+ <name>us-dc1.us.aperture.cloud</name>
+ <description>Domain Controller 1 for us.aperture.cloud</description>
+ <operatingSystem id="WIN2012S64" displayName="WIN2012S/64" family="WINDOWS"/>
+ <cpuCount>2</cpuCount>
+ <memoryGb>2</memoryGb>
+ <disk id="628a8134-8ebf-420d-afc2-08af0c402f4e" scsiId="0" sizeGb="50" speed="STANDARD" state="NORMAL"/>
+ <nic id="fe72eebe-7b9d-11e4-8c14-b8ca3a5d9ef8" privateIpv4="10.192.176.11" networkId="4bba37be-506f-11e3-b29c-001517c4643e" networkName="Aperture US1" state="NORMAL"/>
+ <sourceImageId>4787337e-0f31-11e3-b29c-001517c4643e</sourceImageId>
+ <createTime>2013-12-03T07:16:44.000Z</createTime>
+ <deployed>true</deployed>
+ <started>false</started>
+ <state>NORMAL</state>
+ <machineStatus name="vmwareToolsVersionStatus" value="NEED_UPGRADE"/>
+ <machineStatus name="vmwareToolsRunningStatus" value="NOT_RUNNING"/>
+ <machineStatus name="vmwareToolsApiVersion" value="9221"/>
+ </Server>
</servers>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/libcloud/blob/3bbc62a7/libcloud/test/compute/test_dimensiondata.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_dimensiondata.py b/libcloud/test/compute/test_dimensiondata.py
index 942cada..59c31df 100644
--- a/libcloud/test/compute/test_dimensiondata.py
+++ b/libcloud/test/compute/test_dimensiondata.py
@@ -35,6 +35,12 @@ class DimensionDataTests(unittest.TestCase, TestCaseMixin):
DimensionDataMockHttp.type = None
self.driver = DimensionData(*DIMENSIONDATA_PARAMS)
+ def test_invalid_region(self):
+ try:
+ self.driver = DimensionData(*DIMENSIONDATA_PARAMS, region='blah')
+ except ValueError:
+ pass
+
def test_invalid_creds(self):
DimensionDataMockHttp.type = 'UNAUTHORIZED'
try:
@@ -56,7 +62,7 @@ class DimensionDataTests(unittest.TestCase, TestCaseMixin):
def test_list_nodes_response(self):
DimensionDataMockHttp.type = None
ret = self.driver.list_nodes()
- self.assertEqual(len(ret), 2)
+ self.assertEqual(len(ret), 3)
def test_list_sizes_response(self):
DimensionDataMockHttp.type = None
@@ -109,6 +115,17 @@ class DimensionDataTests(unittest.TestCase, TestCaseMixin):
self.assertEqual(node.id, 'e75ead52-692f-4314-8725-c8a4f4d13a87')
self.assertEqual(node.extra['status'].action, 'DEPLOY_SERVER')
+ def test_create_node_no_network(self):
+ rootPw = NodeAuthPassword('pass123')
+ image = self.driver.list_images()[0]
+ network = self.driver.ex_list_networks()[0]
+ try:
+ node = self.driver.create_node(name='test2', image=image, auth=rootPw,
+ ex_description='test2 node', ex_network=None,
+ ex_isStarted=False)
+ except ValueError:
+ pass
+
def test_ex_shutdown_graceful(self):
node = Node(id='11', name=None, state=None,
public_ips=None, private_ips=None, driver=self.driver)
@@ -166,6 +183,11 @@ class DimensionDataTests(unittest.TestCase, TestCaseMixin):
ret = self.driver.ex_reset(node)
self.assertTrue(ret is True)
+ def test_list_networks(self):
+ nets = self.driver.list_networks()
+ self.assertEqual(nets[0].name, 'test-net1')
+ self.assertTrue(isinstance(nets[0].location, NodeLocation))
+
def test_ex_list_networks(self):
nets = self.driver.ex_list_networks()
self.assertEqual(nets[0].name, 'test-net1')
http://git-wip-us.apache.org/repos/asf/libcloud/blob/3bbc62a7/libcloud/test/loadbalancer/fixtures/dimensiondata/caas_2_0_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_networkDomainVip_node.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/dimensiondata/caas_2_0_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_networkDomainVip_node.xml b/libcloud/test/loadbalancer/fixtures/dimensiondata/caas_2_0_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_networkDomainVip_node.xml
new file mode 100644
index 0000000..b58e58f
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/dimensiondata/caas_2_0_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_networkDomainVip_node.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<nodes xmlns="urn:didata.com:api:cloud:types" pageNumber="1" pageCount="1"
+totalCount="2" pageSize="250">
+<node id="34de6ed6-46a4-4dae-a753-2f8d3840c6f9" datacenterId="NA9">
+<networkDomainId>553f26b6-2a73-42c3-a78b-
+6116f11291d0</networkDomainId>
+<name>ProductionNode.1</name>
+<description>Production Server 1</description>
+<ipv4Address>10.10.10.101</ipv4Address>
+<state>NORMAL</state>
+<status>ENABLED</status>
+<healthMonitor id="0168b83a-d487-11e4-811f-005056806999" name="ICMP"/>
+<connectionLimit>10000</connectionLimit>
+<connectionRateLimit>2000</connectionRateLimit>
+<createTime>2015-05-29T13:56:13.000Z</createTime>
+</node>
+<node id="78d2437e-36e1-4dd5-9bfd-582a85d207ad" datacenterId="NA9">
+<networkDomainId>553f26b6-2a73-42c3-a78b-
+6116f11291d0</networkDomainId>
+<name>ProductionNode.2</name>
+<description>Production Server 2</description>
+<ipv4Address>10.5.2.15</ipv4Address>
+<state>NORMAL</state>
+<status>ENABLED</status>
+<connectionLimit>10000</connectionLimit>
+<connectionRateLimit>2000</connectionRateLimit>
+<createTime>2015-05-29T11:46:55.000Z</createTime>
+</node>
+</nodes>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/libcloud/blob/3bbc62a7/libcloud/test/loadbalancer/test_dimensiondata.py
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/test_dimensiondata.py b/libcloud/test/loadbalancer/test_dimensiondata.py
index ff0b7fd..725f153 100644
--- a/libcloud/test/loadbalancer/test_dimensiondata.py
+++ b/libcloud/test/loadbalancer/test_dimensiondata.py
@@ -37,6 +37,12 @@ class DimensionDataTests(unittest.TestCase):
DimensionDataMockHttp.type = None
self.driver = DimensionData(*DIMENSIONDATA_PARAMS)
+ def test_invalid_region(self):
+ try:
+ self.driver = DimensionData(*DIMENSIONDATA_PARAMS, region='blah')
+ except ValueError:
+ pass
+
def test_invalid_creds(self):
DimensionDataMockHttp.type = 'UNAUTHORIZED'
try:
@@ -67,6 +73,22 @@ class DimensionDataTests(unittest.TestCase):
self.assertEqual(balancer.extra['pool_id'], '9e6b496d-5261-4542-91aa-b50c7f569c54')
self.assertEqual(balancer.extra['network_domain_id'], '1234')
+ def test_create_balancer_with_defaults(self):
+ self.driver.ex_set_current_network_domain('1234')
+
+ balancer = self.driver.create_balancer(
+ name='test',
+ port=None,
+ protocol=None,
+ algorithm=None,
+ members=None)
+ self.assertEqual(balancer.name, 'test')
+ self.assertEqual(balancer.id, '8334f461-0df0-42d5-97eb-f4678eb26bea')
+ self.assertEqual(balancer.ip, '165.180.12.22')
+ self.assertEqual(balancer.port, 80)
+ self.assertEqual(balancer.extra['pool_id'], '9e6b496d-5261-4542-91aa-b50c7f569c54')
+ self.assertEqual(balancer.extra['network_domain_id'], '1234')
+
def test_create_balancer_no_members(self):
self.driver.ex_set_current_network_domain('1234')
members = None
@@ -249,6 +271,21 @@ class DimensionDataTests(unittest.TestCase):
self.assertEqual(listener.id, '8334f461-0df0-42d5-97eb-f4678eb26bea')
self.assertEqual(listener.name, 'test')
+ def test_ex_create_virtual_listener_unusual_port(self):
+ listener = self.driver.ex_create_virtual_listener(
+ network_domain_id='12345',
+ name='test',
+ ex_description='test',
+ port=8900,
+ pool=DimensionDataPool(
+ id='1234',
+ name='test',
+ description='test',
+ status=State.RUNNING
+ ))
+ self.assertEqual(listener.id, '8334f461-0df0-42d5-97eb-f4678eb26bea')
+ self.assertEqual(listener.name, 'test')
+
def test_get_balancer(self):
bal = self.driver.get_balancer('6115469d-a8bb-445b-bb23-d23b5283f2b9')
self.assertEqual(bal.name, 'myProduction.Virtual.Listener')
@@ -261,6 +298,13 @@ class DimensionDataTests(unittest.TestCase):
protocols = self.driver.list_protocols()
self.assertNotEqual(0, len(protocols))
+ def test_ex_get_nodes(self):
+ nodes = self.driver.ex_get_nodes()
+ self.assertEqual(2, len(nodes))
+ self.assertEqual(nodes[0].name, 'ProductionNode.1')
+ self.assertEqual(nodes[0].id, '34de6ed6-46a4-4dae-a753-2f8d3840c6f9')
+ self.assertEqual(nodes[0].ip, '10.10.10.101')
+
def test_ex_get_pools(self):
pools = self.driver.ex_get_pools()
self.assertNotEqual(0, len(pools))
@@ -409,6 +453,11 @@ class DimensionDataMockHttp(MockHttp):
'caas_2_0_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_networkDomainVip_deleteNode.xml')
return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+ def _caas_2_0_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_networkDomainVip_node(self, method, url, body, headers):
+ body = self.fixtures.load(
+ 'caas_2_0_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_networkDomainVip_node.xml')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
if __name__ == '__main__':
sys.exit(unittest.main())
[4/5] libcloud git commit: Re-generate supported providers tables.
Posted by to...@apache.org.
Re-generate supported providers tables.
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/292d5adc
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/292d5adc
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/292d5adc
Branch: refs/heads/trunk
Commit: 292d5adc7492b92cae9396fdb92da26f6c570785
Parents: 8194dc2
Author: Tomaz Muraus <to...@apache.org>
Authored: Mon Aug 31 18:17:43 2015 +0200
Committer: Tomaz Muraus <to...@apache.org>
Committed: Mon Aug 31 18:17:43 2015 +0200
----------------------------------------------------------------------
docs/loadbalancer/_supported_providers.rst | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/292d5adc/docs/loadbalancer/_supported_providers.rst
----------------------------------------------------------------------
diff --git a/docs/loadbalancer/_supported_providers.rst b/docs/loadbalancer/_supported_providers.rst
index 98516f8..a104ddb 100644
--- a/docs/loadbalancer/_supported_providers.rst
+++ b/docs/loadbalancer/_supported_providers.rst
@@ -1,19 +1,19 @@
.. NOTE: This file has been generated automatically using generate_provider_feature_matrix_table.py script, don't manually edit it
====================================== ================================================== ================= ================================================== ==============================
-Provider Documentation Provider constant Module Class Name
+Provider Documentation Provider constant Module Class Name
====================================== ================================================== ================= ================================================== ==============================
-`Brightbox`_ BRIGHTBOX :mod:`libcloud.loadbalancer.drivers.brightbox` :class:`BrightboxLBDriver`
-`CloudStack`_ CLOUDSTACK :mod:`libcloud.loadbalancer.drivers.cloudstack` :class:`CloudStackLBDriver`
+`Brightbox`_ BRIGHTBOX :mod:`libcloud.loadbalancer.drivers.brightbox` :class:`BrightboxLBDriver`
+`CloudStack`_ CLOUDSTACK :mod:`libcloud.loadbalancer.drivers.cloudstack` :class:`CloudStackLBDriver`
`Dimension Data Load Balancer`_ :doc:`Click </loadbalancer/drivers/dimensiondata>` DIMENSIONDATA :mod:`libcloud.loadbalancer.drivers.dimensiondata` :class:`DimensionDataLBDriver`
-`Amazon Elastic Load Balancing`_ :doc:`Click </loadbalancer/drivers/elb>` ELB :mod:`libcloud.loadbalancer.drivers.elb` :class:`ElasticLBDriver`
-`Google Compute Engine Load Balancer`_ :doc:`Click </loadbalancer/drivers/gce>` GCE :mod:`libcloud.loadbalancer.drivers.gce` :class:`GCELBDriver`
-`GoGrid LB`_ GOGRID :mod:`libcloud.loadbalancer.drivers.gogrid` :class:`GoGridLBDriver`
-`Ninefold LB`_ NINEFOLD :mod:`libcloud.loadbalancer.drivers.ninefold` :class:`NinefoldLBDriver`
-`Rackspace LB`_ RACKSPACE :mod:`libcloud.loadbalancer.drivers.rackspace` :class:`RackspaceLBDriver`
-`Rackspace LB`_ RACKSPACE_UK :mod:`libcloud.loadbalancer.drivers.rackspace` :class:`RackspaceUKLBDriver`
-`Rackspace LB`_ RACKSPACE_US :mod:`libcloud.loadbalancer.drivers.rackspace` :class:`RackspaceLBDriver`
-`Softlayer Load Balancing`_ SOFTLAYER :mod:`libcloud.loadbalancer.drivers.softlayer` :class:`SoftlayerLBDriver`
+`Amazon Elastic Load Balancing`_ :doc:`Click </loadbalancer/drivers/elb>` ELB :mod:`libcloud.loadbalancer.drivers.elb` :class:`ElasticLBDriver`
+`Google Compute Engine Load Balancer`_ :doc:`Click </loadbalancer/drivers/gce>` GCE :mod:`libcloud.loadbalancer.drivers.gce` :class:`GCELBDriver`
+`GoGrid LB`_ GOGRID :mod:`libcloud.loadbalancer.drivers.gogrid` :class:`GoGridLBDriver`
+`Ninefold LB`_ NINEFOLD :mod:`libcloud.loadbalancer.drivers.ninefold` :class:`NinefoldLBDriver`
+`Rackspace LB`_ RACKSPACE :mod:`libcloud.loadbalancer.drivers.rackspace` :class:`RackspaceLBDriver`
+`Rackspace LB`_ RACKSPACE_UK :mod:`libcloud.loadbalancer.drivers.rackspace` :class:`RackspaceUKLBDriver`
+`Rackspace LB`_ RACKSPACE_US :mod:`libcloud.loadbalancer.drivers.rackspace` :class:`RackspaceLBDriver`
+`Softlayer Load Balancing`_ SOFTLAYER :mod:`libcloud.loadbalancer.drivers.softlayer` :class:`SoftlayerLBDriver`
====================================== ================================================== ================= ================================================== ==============================
.. _`Brightbox`: http://www.brightbox.co.uk/
[5/5] libcloud git commit: Fix styling.
Posted by to...@apache.org.
Fix styling.
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/0f4b01fd
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/0f4b01fd
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/0f4b01fd
Branch: refs/heads/trunk
Commit: 0f4b01fde10e756d4fecf5fc79e342447f5df036
Parents: 292d5ad
Author: Tomaz Muraus <to...@apache.org>
Authored: Mon Aug 31 18:32:34 2015 +0200
Committer: Tomaz Muraus <to...@apache.org>
Committed: Mon Aug 31 18:32:34 2015 +0200
----------------------------------------------------------------------
docs/compute/drivers/dimensiondata.rst | 15 +++++++--------
docs/loadbalancer/drivers/dimensiondata.rst | 16 ++++++++--------
2 files changed, 15 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/0f4b01fd/docs/compute/drivers/dimensiondata.rst
----------------------------------------------------------------------
diff --git a/docs/compute/drivers/dimensiondata.rst b/docs/compute/drivers/dimensiondata.rst
index 818759f..b0b50b5 100644
--- a/docs/compute/drivers/dimensiondata.rst
+++ b/docs/compute/drivers/dimensiondata.rst
@@ -28,14 +28,13 @@ driver constructor:
Possible regions:
-* dd-na : Dimension Data North America (USA)
-* dd-eu : Dimension Data Europe
-* dd-af : Dimension Data Africa
-* dd-au : Dimension Data Australia
-* dd-latam : Dimension Data Latin America
-* dd-ap : Dimension Data Asia Pacific
-* dd-canada : Dimension Data Canada region
-
+* ``dd-na`` : Dimension Data North America (USA)
+* ``dd-eu`` : Dimension Data Europe
+* ``dd-af`` : Dimension Data Africa
+* ``dd-au`` : Dimension Data Australia
+* ``dd-latam`` : Dimension Data Latin America
+* ``dd-ap`` : Dimension Data Asia Pacific
+* ``dd-canada`` : Dimension Data Canada region
The base `libcloud` API allows you to:
http://git-wip-us.apache.org/repos/asf/libcloud/blob/0f4b01fd/docs/loadbalancer/drivers/dimensiondata.rst
----------------------------------------------------------------------
diff --git a/docs/loadbalancer/drivers/dimensiondata.rst b/docs/loadbalancer/drivers/dimensiondata.rst
index 5fcd875..31eb186 100644
--- a/docs/loadbalancer/drivers/dimensiondata.rst
+++ b/docs/loadbalancer/drivers/dimensiondata.rst
@@ -28,13 +28,13 @@ driver constructor:
Possible regions:
-* dd-na : Dimension Data North America (USA)
-* dd-eu : Dimension Data Europe
-* dd-af : Dimension Data Africa
-* dd-au : Dimension Data Australia
-* dd-latam : Dimension Data Latin America
-* dd-ap : Dimension Data Asia Pacific
-* dd-canada : Dimension Data Canada region
+* ``dd-na`` : Dimension Data North America (USA)
+* ``dd-eu`` : Dimension Data Europe
+* ``dd-af`` : Dimension Data Africa
+* ``dd-au`` : Dimension Data Australia
+* ``dd-latam`` : Dimension Data Latin America
+* ``dd-ap`` : Dimension Data Asia Pacific
+* ``dd-canada`` : Dimension Data Canada region
The base `libcloud` API allows you to:
@@ -63,4 +63,4 @@ API Docs
:members:
:inherited-members:
-.. _`API`: http://cloud.dimensiondata.com/au/en/services/public-cloud/api
\ No newline at end of file
+.. _`API`: http://cloud.dimensiondata.com/au/en/services/public-cloud/api
[3/5] libcloud git commit: Fixing up indentations.
Posted by to...@apache.org.
Fixing up indentations.
Signed-off-by: Tomaz Muraus <to...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/4414dde0
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/4414dde0
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/4414dde0
Branch: refs/heads/trunk
Commit: 4414dde004cdcf5327f049e7115aea00a749c51f
Parents: 3bbc62a
Author: Anthony Shaw <an...@gmail.com>
Authored: Mon Aug 31 13:10:40 2015 +1000
Committer: Tomaz Muraus <to...@apache.org>
Committed: Mon Aug 31 18:16:39 2015 +0200
----------------------------------------------------------------------
libcloud/compute/drivers/dimensiondata.py | 7 ++++---
libcloud/test/compute/test_dimensiondata.py | 7 +++----
2 files changed, 7 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/4414dde0/libcloud/compute/drivers/dimensiondata.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/dimensiondata.py b/libcloud/compute/drivers/dimensiondata.py
index fad4476..9339f27 100644
--- a/libcloud/compute/drivers/dimensiondata.py
+++ b/libcloud/compute/drivers/dimensiondata.py
@@ -506,8 +506,9 @@ class DimensionDataNodeDriver(NodeDriver):
'description': findtext(element, 'description', TYPES_URN),
'sourceImageId': findtext(element, 'sourceImageId', TYPES_URN),
'networkId': findtext(element, 'networkId', TYPES_URN),
- 'networkDomainId': element.find(fixxpath('networkInfo', TYPES_URN))\
- .get('networkDomainId') \
+ 'networkDomainId':
+ element.find(fixxpath('networkInfo', TYPES_URN))
+ .get('networkDomainId')
if has_network_info else None,
'datacenterId': element.get('datacenterId'),
'deployedTime': findtext(element, 'createTime', TYPES_URN),
@@ -535,7 +536,7 @@ class DimensionDataNodeDriver(NodeDriver):
private_ip = element.find(
fixxpath('networkInfo/primaryNic', TYPES_URN)) \
- .get('privateIpv4') \
+ .get('privateIpv4') \
if has_network_info else \
element.find(fixxpath('nic', TYPES_URN)).get('privateIpv4')
http://git-wip-us.apache.org/repos/asf/libcloud/blob/4414dde0/libcloud/test/compute/test_dimensiondata.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_dimensiondata.py b/libcloud/test/compute/test_dimensiondata.py
index 59c31df..cd8a258 100644
--- a/libcloud/test/compute/test_dimensiondata.py
+++ b/libcloud/test/compute/test_dimensiondata.py
@@ -118,11 +118,10 @@ class DimensionDataTests(unittest.TestCase, TestCaseMixin):
def test_create_node_no_network(self):
rootPw = NodeAuthPassword('pass123')
image = self.driver.list_images()[0]
- network = self.driver.ex_list_networks()[0]
try:
- node = self.driver.create_node(name='test2', image=image, auth=rootPw,
- ex_description='test2 node', ex_network=None,
- ex_isStarted=False)
+ self.driver.create_node(name='test2', image=image, auth=rootPw,
+ ex_description='test2 node', ex_network=None,
+ ex_isStarted=False)
except ValueError:
pass
[2/5] libcloud git commit: Documented the possible region keys.
Posted by to...@apache.org.
Documented the possible region keys.
Signed-off-by: Tomaz Muraus <to...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/8194dc27
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/8194dc27
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/8194dc27
Branch: refs/heads/trunk
Commit: 8194dc279f0f9b9df828a66e33b4db050f3518e1
Parents: 4414dde
Author: Anthony Shaw <an...@gmail.com>
Authored: Mon Aug 31 18:34:08 2015 +1000
Committer: Tomaz Muraus <to...@apache.org>
Committed: Mon Aug 31 18:16:39 2015 +0200
----------------------------------------------------------------------
docs/compute/drivers/dimensiondata.rst | 12 ++++++++++++
docs/loadbalancer/drivers/dimensiondata.rst | 11 +++++++++++
2 files changed, 23 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/8194dc27/docs/compute/drivers/dimensiondata.rst
----------------------------------------------------------------------
diff --git a/docs/compute/drivers/dimensiondata.rst b/docs/compute/drivers/dimensiondata.rst
index 384b481..818759f 100644
--- a/docs/compute/drivers/dimensiondata.rst
+++ b/docs/compute/drivers/dimensiondata.rst
@@ -24,6 +24,18 @@ driver constructor:
* ``user_id`` - Your Dimension Data Cloud username
* ``key`` - Your Dimension Data Cloud password
+* ``region`` - The region key, one of the possible region keys
+
+Possible regions:
+
+* dd-na : Dimension Data North America (USA)
+* dd-eu : Dimension Data Europe
+* dd-af : Dimension Data Africa
+* dd-au : Dimension Data Australia
+* dd-latam : Dimension Data Latin America
+* dd-ap : Dimension Data Asia Pacific
+* dd-canada : Dimension Data Canada region
+
The base `libcloud` API allows you to:
http://git-wip-us.apache.org/repos/asf/libcloud/blob/8194dc27/docs/loadbalancer/drivers/dimensiondata.rst
----------------------------------------------------------------------
diff --git a/docs/loadbalancer/drivers/dimensiondata.rst b/docs/loadbalancer/drivers/dimensiondata.rst
index a57d6f2..5fcd875 100644
--- a/docs/loadbalancer/drivers/dimensiondata.rst
+++ b/docs/loadbalancer/drivers/dimensiondata.rst
@@ -24,6 +24,17 @@ driver constructor:
* ``user_id`` - Your Dimension Data Cloud username
* ``key`` - Your Dimension Data Cloud password
+* ``region`` - The region key, one of the possible region keys
+
+Possible regions:
+
+* dd-na : Dimension Data North America (USA)
+* dd-eu : Dimension Data Europe
+* dd-af : Dimension Data Africa
+* dd-au : Dimension Data Australia
+* dd-latam : Dimension Data Latin America
+* dd-ap : Dimension Data Asia Pacific
+* dd-canada : Dimension Data Canada region
The base `libcloud` API allows you to: