You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by an...@apache.org on 2017/02/21 16:17:57 UTC
[4/7] libcloud git commit: unit test and documentation for deploy
uncustomised server
unit test and documentation for deploy uncustomised server
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/8d52e9f6
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/8d52e9f6
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/8d52e9f6
Branch: refs/heads/trunk
Commit: 8d52e9f66924bbc8317dcf74b4c9c0eec2e0c7f3
Parents: 419c694
Author: Samuel Chong <sa...@gmail.com>
Authored: Wed Jan 4 14:36:27 2017 +1100
Committer: Anthony Shaw <an...@apache.org>
Committed: Tue Feb 21 17:17:27 2017 +0100
----------------------------------------------------------------------
libcloud/compute/drivers/dimensiondata.py | 60 ++++++++++++++++++++
.../2.4/deploy_customised_server.xml | 7 +++
.../test/compute/test_dimensiondata_v2_4.py | 48 ++++++++++++++++
3 files changed, 115 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/8d52e9f6/libcloud/compute/drivers/dimensiondata.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/dimensiondata.py b/libcloud/compute/drivers/dimensiondata.py
index c47eedd..e172958 100644
--- a/libcloud/compute/drivers/dimensiondata.py
+++ b/libcloud/compute/drivers/dimensiondata.py
@@ -3830,6 +3830,66 @@ class DimensionDataNodeDriver(NodeDriver):
Create Node in MCP2 Data Center
+ >>> from pprint import pprint
+ >>> from libcloud.compute.types import Provider
+ >>> from libcloud.compute.providers import get_driver
+ >>> import libcloud.security
+ >>>
+ >>> # Get dimension data driver
+ >>> libcloud.security.VERIFY_SSL_CERT = True
+ >>> cls = get_driver(Provider.DIMENSIONDATA)
+ >>> driver = cls('schong_platcaas', 'T3stst@r!', region='dd-au')
+ >>> # driver = cls('myusername','mypassword', region='dd-au')
+ >>>
+ >>> # Get location
+ >>> location = driver.ex_get_location_by_id(id='AU9')
+ >>>
+ >>> # Get network domain by location
+ >>> networkDomainName = "Test Apache Libcloud"
+ >>> network_domains = driver.ex_list_network_domains(location=location)
+ >>> my_network_domain = [d for d in network_domains if d.name ==
+ >>> networkDomainName][0]
+ >>>
+ >>> vlan = driver.ex_list_vlans(name='Libcloud Test VLAN')[0]
+ >>>
+ >>> # Get Image
+ >>> images = driver.ex_list_customer_images(location=location)
+ >>> image = images[1]
+ >>>
+ >>> tags = driver.ex_list_tags()
+ >>> pprint(tags)
+ >>>
+ >>> ex_tagname_value_pairs = {}
+ >>> ex_tagname_value_pairs['AA_Tag1'] = 'demo 1'
+ >>> ex_tagname_value_pairs['AA_Tag2'] = 'demo 2'
+ >>>
+ >>> ex_tagid_value_pairs = {}
+ >>> ex_tagid_value_pairs['4927c8fd-7f41-4206-a7d5-c5def927c6d2'] =
+ >>> 'demo 1'
+ >>> ex_tagid_value_pairs['2579fc7c-a89c-47cd-ac3b-67999dded93b'] =
+ >>> 'demo 2'
+ >>>
+ >>>
+ >>> # Create node using vlan instead of private IPv4
+ >>> node = driver.ex_create_node_uncustomized(
+ >>> name='test_server_05',
+ >>> image=image,
+ >>> ex_network_domain=my_network_domain,
+ >>> ex_is_started=False,
+ >>> ex_description=None,
+ >>> ex_cluster_id=None,
+ >>> ex_cpu_specification=None,
+ >>> ex_memory_gb=None,
+ >>> ex_primary_nic_private_ipv4=None,
+ >>> ex_primary_nic_vlan=vlan,
+ >>> ex_primary_nic_network_adapter=None,
+ >>> ex_additional_nics=None,
+ >>> ex_disks=None,
+ >>> ex_tagid_value_pairs=ex_tagid_value_pairs,
+ >>> ex_tagname_value_pairs=None
+ >>> )
+ >>>
+ >>> pprint(node)
:keyword name: (required) String with a name for this new node
:type name: ``str``
http://git-wip-us.apache.org/repos/asf/libcloud/blob/8d52e9f6/libcloud/test/compute/fixtures/dimensiondata/2.4/deploy_customised_server.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/dimensiondata/2.4/deploy_customised_server.xml b/libcloud/test/compute/fixtures/dimensiondata/2.4/deploy_customised_server.xml
new file mode 100644
index 0000000..d849494
--- /dev/null
+++ b/libcloud/test/compute/fixtures/dimensiondata/2.4/deploy_customised_server.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<response xmlns="urn:didata.com:api:cloud:types" requestId="na9_20160321T074626030- 0400_7e9fffe7-190b-46f2-9107-9d52fe57d0ad">
+ <operation>DEPLOY_UNCUSTOMIZED_SERVER</operation>
+ <responseCode>IN_PROGRESS</responseCode>
+ <message>Request to deploy uncustomized Server 'Production Server' has been accepted and is being processed.</message>
+ <info name="serverId" value="e75ead52-692f-4314-8725-c8a4f4d13a87"/>
+</response>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/libcloud/blob/8d52e9f6/libcloud/test/compute/test_dimensiondata_v2_4.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_dimensiondata_v2_4.py b/libcloud/test/compute/test_dimensiondata_v2_4.py
index 22ae407..12e4b63 100644
--- a/libcloud/test/compute/test_dimensiondata_v2_4.py
+++ b/libcloud/test/compute/test_dimensiondata_v2_4.py
@@ -2077,6 +2077,47 @@ class DimensionData_v2_4_Tests(unittest.TestCase, TestCaseMixin):
network_adapter_name='E1000')
self.assertTrue(success)
+ def test_ex_create_node_uncustomized_mcp2_using_vlan(self):
+ # Get VLAN
+ vlan = self.driver.ex_get_vlan('0e56433f-d808-4669-821d-812769517ff8')
+
+ # Create node using vlan instead of private IPv4
+ node = self.driver.ex_create_node_uncustomized(
+ name='test_server_05',
+ image='fake_customer_image',
+ ex_network_domain='fakenetworkdomain',
+ ex_is_started=False,
+ ex_description=None,
+ ex_cluster_id=None,
+ ex_cpu_specification=None,
+ ex_memory_gb=None,
+ ex_primary_nic_private_ipv4=None,
+ ex_primary_nic_vlan=vlan,
+ ex_primary_nic_network_adapter=None,
+ ex_additional_nics=None,
+ ex_disks = None,
+ ex_tagid_value_pairs = None,
+ ex_tagname_value_pairs = None)
+ self.assertEqual(node.id, 'e75ead52-692f-4314-8725-c8a4f4d13a87')
+
+ def test_ex_create_node_uncustomized_mcp2_using_ipv4(self):
+ node = self.driver.ex_create_node_uncustomized(
+ name='test_server_05',
+ image='fake_customer_image',
+ ex_network_domain='fakenetworkdomain',
+ ex_is_started=False,
+ ex_description=None,
+ ex_cluster_id=None,
+ ex_cpu_specification=None,
+ ex_memory_gb=None,
+ ex_primary_nic_private_ipv4='10.0.0.1',
+ ex_primary_nic_vlan=None,
+ ex_primary_nic_network_adapter=None,
+ ex_additional_nics=None,
+ ex_disks = None,
+ ex_tagid_value_pairs = None,
+ ex_tagname_value_pairs = None)
+ self.assertEqual(node.id, 'e75ead52-692f-4314-8725-c8a4f4d13a87')
class InvalidRequestError(Exception):
def __init__(self, tag):
@@ -3355,5 +3396,12 @@ class DimensionDataMockHttp(StorageMockHttp, MockHttp):
)
return httplib.OK, body, {}, httplib.responses[httplib.OK]
+ def _caas_2_4_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_server_deployUncustomizedServer(
+ self, method, url, body, headers):
+ body = self.fixtures.load(
+ '2.4/deploy_customised_server.xml'
+ )
+ return httplib.OK, body, {}, httplib.responses[httplib.OK]
+
if __name__ == '__main__':
sys.exit(unittest.main())