finished load balancer tests and added an nttcis subdirectory under docs/loadbalancer/examples
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/d22a5260 Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/d22a5260 Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/d22a5260 Branch: refs/heads/trunk Commit: d22a52604c6e8a383a6deacdfe5c8318863a793a Parents: c05f59a Author: mitch <[email protected]> Authored: Tue Oct 23 13:15:51 2018 -0400 Committer: mitch <[email protected]> Committed: Tue Oct 23 13:15:51 2018 -0400 ---------------------------------------------------------------------- .../nttcis/LoadBalancer_create_members.py | 33 + .../nttcis/Load_balancer_add_pool_mon.py | 41 + docs/examples/loadbalancer/nttcis/__init__.py | 0 docs/loadbalancer/drivers/nttcis.rst | 63 ++ libcloud/common/nttcis.py | 4 +- libcloud/compute/drivers/nttcis.py | 115 ++- libcloud/loadbalancer/base.py | 1 + libcloud/loadbalancer/drivers/nttcis.py | 20 +- .../nttcis/networkDomainVip_addPoolMember.xml | 9 + .../nttcis/networkDomainVip_createNode.xml | 8 + .../nttcis/networkDomainVip_createPool.xml | 9 + .../networkDomainVip_createVirtualListener.xml | 11 + .../networkDomainVip_defaultHealthMonitor.xml | 35 + .../nttcis/networkDomainVip_defaultIrule.xml | 47 + ...tworkDomainVip_defaultPersistenceProfile.xml | 47 + .../nttcis/networkDomainVip_deleteNode.xml | 9 + .../nttcis/networkDomainVip_deletePool.xml | 9 + .../networkDomainVip_deleteVirtualListener.xml | 9 + .../nttcis/networkDomainVip_editNode.xml | 8 + .../nttcis/networkDomainVip_editPool.xml | 9 + .../nttcis/networkDomainVip_editPoolMember.xml | 8 + .../fixtures/nttcis/networkDomainVip_node.xml | 29 + ...ode_34de6ed6_46a4_4dae_a753_2f8d3840c6f9.xml | 13 + .../fixtures/nttcis/networkDomainVip_pool.xml | 37 + .../nttcis/networkDomainVip_poolMember.xml | 29 + ...ber_3dd806a2_c2c8_4c0c_9a4f_5219ea9266c0.xml | 13 + ...ool_4d360b1f_bc2c_4ab7_9884_1f03ba2768f7.xml | 17 + .../networkDomainVip_removePoolMember.xml | 7 + .../nttcis/networkDomainVip_virtualListener.xml | 51 ++ ...ner_6115469d_a8bb_445b_bb23_d23b5283f2b9.xml | 44 + .../fixtures/nttcis/oec_0_9_myaccount.xml | 26 + libcloud/test/loadbalancer/test_nttcis.py | 891 ++++++++++--------- tests/conftest.py | 2 +- tests/lib_create_test.py | 5 +- 34 files changed, 1198 insertions(+), 461 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/docs/examples/loadbalancer/nttcis/LoadBalancer_create_members.py ---------------------------------------------------------------------- diff --git a/docs/examples/loadbalancer/nttcis/LoadBalancer_create_members.py b/docs/examples/loadbalancer/nttcis/LoadBalancer_create_members.py new file mode 100644 index 0000000..5ca8a38 --- /dev/null +++ b/docs/examples/loadbalancer/nttcis/LoadBalancer_create_members.py @@ -0,0 +1,33 @@ +# This example assumes servers to load balance +# already exist and will be pool members +import libcloud +from libcloud.loadbalancer.base import Algorithm + + +def create_load_balancer(): + # Compute driver to retrieve servers to be pool members (the nodes) + cls = libcloud.get_driver(libcloud.DriverType.COMPUTE, + libcloud.DriverType.COMPUTE.NTTCIS) + compute_driver = cls('my_username', 'my_pass', region='eu') + net_domain_name = 'sdk_test_1' + net_domains = compute_driver.ex_list_network_domains(location='EU6') + net_domain_id = [d for d in net_domains if d.name == net_domain_name][0].id + # Load balancer driver to create and/or edit load balanceers + cls = libcloud.get_driver(libcloud.DriverType.LOADBALANCER, + libcloud.DriverType.LOADBALANCER.NTTCIS) + lbdriver = cls('my_username', net_domain_id, 'my_pass', region='eu') + + member1 = compute_driver.list_nodes(ex_name='web1')[0] + member2 = compute_driver.list_nodes(ex_name='web2')[0] + members = [member1, member2] + name = 'sdk_test_balancer' + port = '80' + listener_port = '8000' + protocol = 'TCP' + algorithm = Algorithm.LEAST_CONNECTIONS_MEMBER + members = [m for m in members] + ex_listener_ip_address = "168.128.13.127" + lb = lbdriver.create_balancer(name, listener_port=listener_port, port=port, protocol=protocol, + algorithm=algorithm, members=members, optimization_profile='TCP', + ex_listener_ip_address=ex_listener_ip_address) + print(lb) \ No newline at end of file http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/docs/examples/loadbalancer/nttcis/Load_balancer_add_pool_mon.py ---------------------------------------------------------------------- diff --git a/docs/examples/loadbalancer/nttcis/Load_balancer_add_pool_mon.py b/docs/examples/loadbalancer/nttcis/Load_balancer_add_pool_mon.py new file mode 100644 index 0000000..49179be --- /dev/null +++ b/docs/examples/loadbalancer/nttcis/Load_balancer_add_pool_mon.py @@ -0,0 +1,41 @@ +# This example adds monitoring to a pool + +import libcloud + + +def update_health_monitors(driver, network_domain, monitor_id): + pool_name = 'sdk_test_balancer' + pools = driver.ex_get_pools(ex_network_domain_id=network_domain.id) + pool = [p for p in pools if p.name == pool_name][0] + pool.health_monitor_id = monitor_id + result = lbdriver.ex_update_pool(pool) + return result + + +def health_monitors(driver, network_domain): + monitors = driver.ex_get_default_health_monitors(network_domain) + return monitors + + +# Compute driver to create/edit virtual servers +cls = libcloud.get_driver(libcloud.DriverType.COMPUTE, + libcloud.DriverType.COMPUTE.NTTCIS) +compute_driver = cls('my_username', 'my_pass', region='eu') + +# Load balancer driver to create and/or edit load balanceers +cls = libcloud.get_driver(libcloud.DriverType.LOADBALANCER, + libcloud.DriverType.LOADBALANCER.NTTCIS) + +net_domain_name = 'sdk_test_1' +net_domains = compute_driver.ex_list_network_domains(location='EU6') +net_domain_id = [d for d in net_domains if d.name == net_domain_name][0].id +lbdriver = cls('my_username', net_domain_id, 'my_pass', region='eu') + +# Get available health monitors +results = health_monitors(lbdriver, net_domains[0]) +for result in results: + print(result) + +# Add desired health monitor +result = update_health_monitors(lbdriver, net_domains[0], "9f79487a-1b6d-11e5-8d4f-180373fb68df") +assert result is True http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/docs/examples/loadbalancer/nttcis/__init__.py ---------------------------------------------------------------------- diff --git a/docs/examples/loadbalancer/nttcis/__init__.py b/docs/examples/loadbalancer/nttcis/__init__.py new file mode 100644 index 0000000..e69de29 http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/docs/loadbalancer/drivers/nttcis.rst ---------------------------------------------------------------------- diff --git a/docs/loadbalancer/drivers/nttcis.rst b/docs/loadbalancer/drivers/nttcis.rst new file mode 100644 index 0000000..a0215e8 --- /dev/null +++ b/docs/loadbalancer/drivers/nttcis.rst @@ -0,0 +1,63 @@ +NTTC-CIS 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/ntt.png + :align: center + :width: 300 + :target: http://www.ntt.com/en/services/cloud/enterprise-cloud.html/ + +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 NTTC-CIS 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 +* ``region`` - The region key, one of the possible region keys + +Possible regions: + +* ``na`` : Dimension Data North America (USA) +* ``eu`` : Dimension Data Europe +* ``af`` : Dimension Data Africa +* ``au`` : Dimension Data Australia +* ``ap`` : Dimension Data Asia Pacific +* ``canada`` : Dimension Data Canada region + +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.nttcis.NttCisLBDriver + :members: + :inherited-members: http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/common/nttcis.py ---------------------------------------------------------------------- diff --git a/libcloud/common/nttcis.py b/libcloud/common/nttcis.py index 35dd0a9..97c208c 100644 --- a/libcloud/common/nttcis.py +++ b/libcloud/common/nttcis.py @@ -1233,7 +1233,7 @@ class NttCisPoolMember(object): class NttCisVIPNode(object): def __init__(self, id, name, status, ip, connection_limit='10000', - connection_rate_limit='10000'): + connection_rate_limit='10000', health_monitor=None): """ Initialize an instance of :class:`NttCisVIPNode` @@ -1261,6 +1261,8 @@ class NttCisVIPNode(object): self.ip = ip self.connection_limit = connection_limit self.connection_rate_limit = connection_rate_limit + if health_monitor is not None: + self.health_monitor_id = health_monitor def __repr__(self): return (('<NttCisVIPNode: id=%s, name=%s, ' http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/compute/drivers/nttcis.py ---------------------------------------------------------------------- diff --git a/libcloud/compute/drivers/nttcis.py b/libcloud/compute/drivers/nttcis.py index 7945c0e..03fc08f 100644 --- a/libcloud/compute/drivers/nttcis.py +++ b/libcloud/compute/drivers/nttcis.py @@ -834,7 +834,7 @@ class NttCisNodeDriver(NodeDriver): driver=self.connection.driver), ] - def list_datacenter_properties(self, location: str=None) -> list: + def list_datacenter_properties(self, location): """ return a list of available sizes Currently, the size of the node is dictated by the chosen OS base @@ -895,7 +895,7 @@ class NttCisNodeDriver(NodeDriver): request_with_orgId_api_2('infrastructure/datacenter', params=params) - def list_snapshot_windows(self, location: str, plan: str) -> list: + def list_snapshot_windows(self, location, plan): """ List snapshot windows in a given location :param location: a location object or location id such as "NA9" @@ -1120,9 +1120,10 @@ class NttCisNodeDriver(NodeDriver): nodes_obj = self._list_nodes_single_page(params) yield self._to_nodes(nodes_obj) - def ex_edit_metadata(self, node: Node, name: str = None, - description: str = None, - drs_eligible: str = None) -> bool: + def ex_edit_metadata(self, node, + name=None, + description=None, + drs_eligible=None): request_elem = ET.Element('editServerMetadata', {'xmlns': TYPES_URN, 'id': node.id}) if name is not None: @@ -1138,7 +1139,7 @@ class NttCisNodeDriver(NodeDriver): response_code = findtext(body, 'responseCode', TYPES_URN) return response_code in ['IN_PROGRESS', 'OK'] - def ex_start_node(self, node: Node) -> bool: + def ex_start_node(self, node): """ Powers on an existing deployed server @@ -1156,7 +1157,7 @@ class NttCisNodeDriver(NodeDriver): response_code = findtext(body, 'responseCode', TYPES_URN) return response_code in ['IN_PROGRESS', 'OK'] - def ex_shutdown_graceful(self, node: Node) -> bool: + def ex_shutdown_graceful(self, node): """ This function will attempt to "gracefully" stop a server by initiating a shutdown sequence within the guest operating system. @@ -1282,8 +1283,26 @@ class NttCisNodeDriver(NodeDriver): response_code = findtext(body, 'result', GENERAL_NS) return response_code in ['IN_PROGRESS', 'SUCCESS'] - def ex_enable_snapshots(self, node: str, window: str, plan: str='ADVANCED', - initiate: str = 'true') -> bool: + def ex_enable_snapshots(self, node, window, plan='ADVANCED', initiate='true'): + """ + Enable snapshot service on a server + + :param node: Node ID of the node on which to enable snapshots. + :type node: ``str`` + + :param window: The window id of the window in which the snapshot + is enabled. + :type name: ``str`` + + :param plan: Pland type 'ESSENTIALS' or 'ADVANCED + :type plan: ``str`` + + :param initiate: Run a snapshot upon configuration of the snapshot. + :type ``str`` + + :rtype: ``bool`` + """ + update_node = ET.Element('enableSnapshotService', {'xmlns': TYPES_URN}) window_id = window @@ -1300,18 +1319,42 @@ class NttCisNodeDriver(NodeDriver): response_code = findtext(result, 'responseCode', TYPES_URN) return response_code in ['IN_PROGRESS', 'OK'] - def list_snapshots(self, node: Node) -> list: + def list_snapshots(self, node): + """ + List snapshots of a server + + :param node: Node nameof the node on which to enable snapshots. + :type node: ``str`` + + :rtype: ``list`` + """ params = {} params['serverId'] = self.list_nodes(ex_name=node)[0].id return self._to_snapshots(self.connection.request_with_orgId_api_2( 'snapshot/snapshot', params=params).object) - def get_snapshot(self, snapshot_id: str) -> list: + def get_snapshot(self, snapshot_id): + """ + Get snapshot of a server by snapshot id. + + :param snapshot_id: ID of snapshot to retrieve. + :type snapshot_id: ``str`` + + :rtype: ``dict`` + """ return self._to_snapshot(self.connection.request_with_orgId_api_2( 'snapshot/snapshot/%s' % snapshot_id).object) - def ex_disable_snapshots(self, node: str) -> bool: + def ex_disable_snapshots(self, node): + """ + Disable snapshots on a server. This also deletes current snapshots. + + :param node: Node ID of the node on which to enable snapshots. + :type node: ``str`` + + :rtype: ``list`` + """ update_node = ET.Element('disableSnapshotService', {'xmlns': TYPES_URN}) @@ -1324,12 +1367,15 @@ class NttCisNodeDriver(NodeDriver): response_code = findtext(result, 'responseCode', TYPES_URN) return response_code in ['IN_PROGRESS', 'OK'] - def ex_initiate_manual_snapshot(self, name: str, - server_id: str = None) -> bool: + def ex_initiate_manual_snapshot(self, name=None, server_id=None): """ - Initiate a manual snapshot on the fly + Initiate a manual snapshot of server on the fly :param name: optional name of server + :type ``str`` + :param server_id: optinal parameter to use instead of name + :type ``str`` + :return: True of False :rtype: ``bool`` """ @@ -1361,6 +1407,45 @@ class NttCisNodeDriver(NodeDriver): preserve_mac_addresses=None, tag_key_name=None, tag_key_id=None, tag_value=None): + """ + Create a snapshot preview of a server to clone to a new server + + :param snapshot_id: ID of the specific snahpshot to use in + creating preview server. + :type snapshot_id: ``str`` + + :param server_name: Name of the server created from the snapshot + :type ``str`` + + :param nics_connected: 'true' or 'false'. Should the nics be + automatically connected + :type ``str`` + + :param server_description: (Optional) A brief description of the + server. + :type ``str`` + + :param target_cluster_id: (Optional) The ID of a specific cluster as + opposed to the default. + :type ``str`` + + :param preserve_mac_address: (Optional) If set to 'true' will preserve + mac address from the original server. + :type ``str`` + + :param tag_key_name: (Optional) If tagging is desired and by name is + desired, set this to the tag name. + :type ``str`` + + :param tag_key_id: (Optional) If tagging is desired and by id is + desired, set this to the tag id. + :type ``str`` + + :param tag_value: (Optional) If using a tag_key_id or tag_key_name, + set the value fo tag_value. + + :rtype: ``str`` + """ create_preview = ET.Element('createSnapshotPreviewServer', {'xmlns': TYPES_URN, 'snapshotId': snapshot_id}) http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/loadbalancer/base.py ---------------------------------------------------------------------- diff --git a/libcloud/loadbalancer/base.py b/libcloud/loadbalancer/base.py index 9223f89..600dbc3 100644 --- a/libcloud/loadbalancer/base.py +++ b/libcloud/loadbalancer/base.py @@ -130,6 +130,7 @@ class Algorithm(object): PREDICTIVE_MEMBER = 5 PREDICTIVE_NODE = 6 + DEFAULT_ALGORITHM = Algorithm.ROUND_ROBIN http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/loadbalancer/drivers/nttcis.py ---------------------------------------------------------------------- diff --git a/libcloud/loadbalancer/drivers/nttcis.py b/libcloud/loadbalancer/drivers/nttcis.py index 0013574..396df0c 100644 --- a/libcloud/loadbalancer/drivers/nttcis.py +++ b/libcloud/loadbalancer/drivers/nttcis.py @@ -30,7 +30,7 @@ from libcloud.common.nttcis import TYPES_URN from libcloud.utils.misc import reverse_dict from libcloud.utils.xml import fixxpath, findtext, findall from libcloud.loadbalancer.types import State -from libcloud.loadbalancer.base import Algorithm, Driver, LoadBalancer +from libcloud.loadbalancer.base import Algorithm, Driver, LoadBalancer, DEFAULT_ALGORITHM from libcloud.loadbalancer.base import Member from libcloud.loadbalancer.types import Provider @@ -100,7 +100,7 @@ class NttCisLBDriver(Driver): def create_balancer(self, name, listener_port=None, port=None, protocol=None, algorithm=None, members=None, - optimization_profile=None, + optimization_profile="TCP", ex_listener_ip_address=None): """ @@ -131,7 +131,7 @@ class NttCisLBDriver(Driver): :param optimization_profile: For STANDARD type and protocol TCP an optimization type of TCP, LAN_OPT, WAN_OPT, MOBILE_OPT, or TCP_LEGACY is - required + required. Default is TCP :type protcol: ``str`` :param ex_listener_ip_address: Must be a valid IPv4 in dot-decimal @@ -144,9 +144,7 @@ class NttCisLBDriver(Driver): if protocol is None: protocol = 'http' if algorithm is None: - algor = Algorithm.ROUND_ROBIN - else: - algor = Algorithm.__dict__[algorithm] + algorithm = DEFAULT_ALGORITHM # Create a pool first @@ -154,7 +152,7 @@ class NttCisLBDriver(Driver): network_domain_id=network_domain_id, name=name, ex_description=None, - balancer_method=self._ALGORITHM_TO_VALUE_MAP[algor]) + balancer_method=self._ALGORITHM_TO_VALUE_MAP[algorithm]) # Attach the members to the pool as nodes if members is not None: @@ -633,7 +631,7 @@ class NttCisLBDriver(Driver): fallback_persistence_profile=None, irule=None, protocol='TCP', - optimization_profile=None, + optimization_profile="TCP", connection_limit=25000, connection_rate_limit=2000, source_port_preservation='PRESERVE'): @@ -676,7 +674,7 @@ class NttCisLBDriver(Driver): :param optimization_profile: For STANDARD type and protocol TCP an optimization type of TCP, LAN_OPT, WAN_OPT, MOBILE_OPT, - or TCP_LEGACY is required + or TCP_LEGACY is required. Default is 'TCP'. :type protcol: ``str`` :param connection_limit: Maximum number @@ -1019,7 +1017,8 @@ class NttCisLBDriver(Driver): """ result = self.connection.request_with_orgId_api_2( action='networkDomainVip/defaultHealthMonitor', - params={'networkDomainId': network_domain.id}, + #params={'networkDomainId': network_domain.id}, + params={'networkDomainId': network_domain}, method='GET').object return self._to_health_monitors(result) @@ -1140,6 +1139,7 @@ class NttCisLBDriver(Driver): status=self._VALUE_TO_STATE_MAP.get( findtext(element, 'state', TYPES_URN), State.UNKNOWN), + health_monitor=element.find(fixxpath('healthMonitor', TYPES_URN)).get('id'), connection_rate_limit=findtext(element, 'connectionRateLimit', TYPES_URN), connection_limit=findtext(element, 'connectionLimit', TYPES_URN), http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_addPoolMember.xml ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_addPoolMember.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_addPoolMember.xml new file mode 100644 index 0000000..e4cba7a --- /dev/null +++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_addPoolMember.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<response +xmlns="urn:didata.com:api:cloud:types" requestId="na9/2015-06-09T07:02:49.563-04:00/40653bb1-cf55-4ba8-ba00-121c19c50a54"> +<operation>ADD_POOL_MEMBER</operation> +<responseCode>OK</responseCode> +<message>Pool Member '10.0.3.13:9888' has been added.</message> +<info name="poolMemberId" value="3dd806a2-c2c8-4c0c-9a4f-5219ea9266c0"/> +<info name="nodeName" value="10.0.3.13"/> +</response> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createNode.xml ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createNode.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createNode.xml new file mode 100644 index 0000000..696525c --- /dev/null +++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createNode.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<response requestId="na/2015-04-14T13:37:20/62f06368-c3fb-11e3-b29c-001517c4643e" xmlns="urn:didata.com:api:cloud:types"> +<operation>CREATE_NODE</operation> +<responseCode>OK</responseCode> +<message>Node 'myProductionNode.1' has been created.</message> +<info name="nodeId" value="9e6b496d-5261-4542-91aa-b50c7f569c54"/> +<info name="name" value="myProductionNode.1"/> +</response> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createPool.xml ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createPool.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createPool.xml new file mode 100644 index 0000000..28302d5 --- /dev/null +++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createPool.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<response requestId="na/2015-04-14T13:37:20/62f06368-c3fb-11e3-b29c- +001517c4643e" xmlns="urn:didata.com:api:cloud:types"> +<operation>CREATE_POOL</operation> +<responseCode>OK</responseCode> +<message>Pool 'myProductionPool.1' has been created.</message> +<info name="poolId" value="9e6b496d-5261-4542-91aa-b50c7f569c54"/> +<info name="name" value="myProductionPool.1"/> +</response> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createVirtualListener.xml ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createVirtualListener.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createVirtualListener.xml new file mode 100644 index 0000000..5cf1f5a --- /dev/null +++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createVirtualListener.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<response +xmlns="urn:didata.com:api:cloud:types" requestId="na9/2015-06-11T05:45:22.833-04:00/0dc58e64-6e05-4de2-98d6-70bee28cba97"> +<operation>CREATE_VIRTUAL_LISTENER</operation> +<responseCode>OK</responseCode> +<message>Virtual Listener 'Production.Load.Balancer' has been created on +IP 165.180.12.22.</message> +<info name="virtualListenerId" value="8334f461-0df0-42d5-97eb-f4678eb26bea"/> +<info name="name" value="Production.Load.Balancer"/> +<info name="listenerIpAddress" value="165.180.12.22"/> +</response> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultHealthMonitor.xml ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultHealthMonitor.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultHealthMonitor.xml new file mode 100644 index 0000000..b24f006 --- /dev/null +++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultHealthMonitor.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<defaultHealthMonitors + xmlns="urn:didata.com:api:cloud:types" pageNumber="1" pageCount="6" +totalCount="6" pageSize="250"> + <defaultHealthMonitor id="01683574-d487-11e4-811f-005056806999"> + <name>CCDEFAULT.Http</name> + <nodeCompatible>false</nodeCompatible> + <poolCompatible>true</poolCompatible> + </defaultHealthMonitor> + <defaultHealthMonitor id="0168546c-d487-11e4-811f-005056806999"> + <name>CCDEFAULT.Https</name> + <nodeCompatible>false</nodeCompatible> + <poolCompatible>true</poolCompatible> + </defaultHealthMonitor> + <defaultHealthMonitor id="0168b83a-d487-11e4-811f-005056806999"> + <name>CCDEFAULT.Icmp</name> + <nodeCompatible>true</nodeCompatible> + <poolCompatible>false</poolCompatible> + </defaultHealthMonitor> + <defaultHealthMonitor id="01686f4b-d487-11e4-811f-005056806999"> + <name>CCDEFAULT.Tcp</name> + <nodeCompatible>false</nodeCompatible> + <poolCompatible>true</poolCompatible> + </defaultHealthMonitor> + <defaultHealthMonitor id="0168a2f9-d487-11e4-811f-005056806999"> + <name>CCDEFAULT.TcpHalfOpen</name> + <nodeCompatible>false</nodeCompatible> + <poolCompatible>true</poolCompatible> + </defaultHealthMonitor> + <defaultHealthMonitor id="01688878-d487-11e4-811f-005056806999"> + <name>CCDEFAULT.Udp</name> + <nodeCompatible>false</nodeCompatible> + <poolCompatible>true</poolCompatible> + </defaultHealthMonitor> +</defaultHealthMonitors> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultIrule.xml ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultIrule.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultIrule.xml new file mode 100644 index 0000000..d2005a3 --- /dev/null +++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultIrule.xml @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="UTF-8"?> +<defaultIrules + xmlns="urn:didata.com:api:cloud:types" pageNumber="1" pageCount="5" +totalCount="5" pageSize="250"> + <defaultIrule> + <irule id="2b20cb2c-ffdc-11e4-b010-005056806999" +name="CCDEFAULT.HttpsRedirect"/> + <virtualListenerCompatibility type="PERFORMANCE_LAYER_4" +protocol="HTTP"/> + </defaultIrule> + <defaultIrule> + <irule id="2b20abd9-ffdc-11e4-b010-005056806999" +name="CCDEFAULT.IpProtocolTimers"/> + <virtualListenerCompatibility type="PERFORMANCE_LAYER_4" +protocol="HTTP"/> + <virtualListenerCompatibility type="PERFORMANCE_LAYER_4" +protocol="TCP"/> + <virtualListenerCompatibility type="STANDARD" protocol="UDP"/> + <virtualListenerCompatibility type="PERFORMANCE_LAYER_4" +protocol="UDP"/> + <virtualListenerCompatibility type="PERFORMANCE_LAYER_4" +protocol="ANY"/> + <virtualListenerCompatibility type="STANDARD" protocol="TCP"/> + <virtualListenerCompatibility type="STANDARD" protocol="ANY"/> + </defaultIrule> + <defaultIrule> + <irule id="2b20e790-ffdc-11e4-b010-005056806999" +name="CCDEFAULT.Ips"/> + <virtualListenerCompatibility type="PERFORMANCE_LAYER_4" +protocol="HTTP"/> + <virtualListenerCompatibility type="PERFORMANCE_LAYER_4" +protocol="TCP"/> + <virtualListenerCompatibility type="STANDARD" protocol="UDP"/> + <virtualListenerCompatibility type="PERFORMANCE_LAYER_4" +protocol="UDP"/> + <virtualListenerCompatibility type="PERFORMANCE_LAYER_4" +protocol="ANY"/> + <virtualListenerCompatibility type="STANDARD" protocol="TCP"/> + <virtualListenerCompatibility type="STANDARD" protocol="ANY"/> + </defaultIrule> + <defaultIrule> + <irule id="2b210846-ffdc-11e4-b010-005056806999" +name="CCDEFAULT.IpsHttp"/> + <virtualListenerCompatibility type="PERFORMANCE_LAYER_4" +protocol="HTTP"/> + </defaultIrule> + </defaultIrules> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultPersistenceProfile.xml ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultPersistenceProfile.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultPersistenceProfile.xml new file mode 100644 index 0000000..cd6b5a5 --- /dev/null +++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultPersistenceProfile.xml @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="UTF-8"?> +<defaultPersistenceProfiles + xmlns="urn:didata.com:api:cloud:types" pageNumber="1" pageCount="4" +totalCount="4" pageSize="250"> + <defaultPersistenceProfile id="a34ca024-f3db-11e4-b010-005056806999" +fallbackCompatible="false"> + <name>CCDEFAULT.Cookie</name> + <virtualListenerCompatibility type="PERFORMANCE_LAYER_4" +protocol="HTTP"/> + </defaultPersistenceProfile> + <defaultPersistenceProfile id="a34ca25c-f3db-11e4-b010-005056806999" +fallbackCompatible="true"> + <name>CCDEFAULT.DestinationAddress</name> + <virtualListenerCompatibility type="PERFORMANCE_LAYER_4" +protocol="HTTP"/> + <virtualListenerCompatibility type="PERFORMANCE_LAYER_4" +protocol="TCP"/> + <virtualListenerCompatibility type="STANDARD" protocol="UDP"/> + <virtualListenerCompatibility type="PERFORMANCE_LAYER_4" +protocol="UDP"/> + <virtualListenerCompatibility type="PERFORMANCE_LAYER_4" +protocol="ANY"/> + <virtualListenerCompatibility type="STANDARD" protocol="TCP"/> + <virtualListenerCompatibility type="STANDARD" protocol="ANY"/> + </defaultPersistenceProfile> + <defaultPersistenceProfile id="a34ca4b7-f3db-11e4-b010-005056806999" +fallbackCompatible="false"> + <name>CCDEFAULT.Sip</name> + <virtualListenerCompatibility type="STANDARD" protocol="UDP"/> + <virtualListenerCompatibility type="STANDARD" protocol="TCP"/> + </defaultPersistenceProfile> + <defaultPersistenceProfile id="a34ca3f6-f3db-11e4-b010-005056806999" +fallbackCompatible="true"> + <name>CCDEFAULT.SourceAddress</name> + <virtualListenerCompatibility type="PERFORMANCE_LAYER_4" +protocol="HTTP"/> + <virtualListenerCompatibility type="PERFORMANCE_LAYER_4" +protocol="TCP"/> + <virtualListenerCompatibility type="STANDARD" protocol="UDP"/> + <virtualListenerCompatibility type="PERFORMANCE_LAYER_4" +protocol="UDP"/> + <virtualListenerCompatibility type="PERFORMANCE_LAYER_4" +protocol="ANY"/> + <virtualListenerCompatibility type="STANDARD" protocol="TCP"/> + <virtualListenerCompatibility type="STANDARD" protocol="ANY"/> + </defaultPersistenceProfile> +</defaultPersistenceProfiles> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deleteNode.xml ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deleteNode.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deleteNode.xml new file mode 100644 index 0000000..cd5177f --- /dev/null +++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deleteNode.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<response requestId="na9/2015-05-14T13:37:20/62f06368-c3fb-11e3-b29c- +001517c4643e" +xmlns="urn:didata.com:api:cloud:types"> +<operation>DELETE_NODE</operation> +<responseCode>OK</responseCode> +<message>Node (id:34de6ed6-46a4-4dae-a753-2f8d3840c6f9) has been +deleted.</message> +</response> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deletePool.xml ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deletePool.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deletePool.xml new file mode 100644 index 0000000..3883b55 --- /dev/null +++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deletePool.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<response requestId="na9/2015-05-14T13:37:20/62f06368-c3fb-11e3-b29c- +001517c4643e" +xmlns="urn:didata.com:api:cloud:types"> +<operation>DELETE_POOL</operation> +<responseCode>OK</responseCode> +<message>Pool (id:4d360b1f-bc2c-4ab7-9884-1f03ba2768f7) has been +deleted.</message> +</response> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deleteVirtualListener.xml ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deleteVirtualListener.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deleteVirtualListener.xml new file mode 100644 index 0000000..3504ce9 --- /dev/null +++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deleteVirtualListener.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<response requestId="na9/2015-05-14T13:37:20/62f06368-c3fb-11e3-b29c- +001517c4643e" +xmlns="urn:didata.com:api:cloud:types"> +<operation>DELETE_VIRTUAL_LISTENER</operation> +<responseCode>OK</responseCode> +<message>Virtual Listener (id:6115469d-a8bb-445b-bb23-d23b5283f2b9) has been +deleted.</message> +</response> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editNode.xml ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editNode.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editNode.xml new file mode 100644 index 0000000..ae3e2af --- /dev/null +++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editNode.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<response +xmlns="urn:didata.com:api:cloud:types" requestId="NA9/2015-05-29T11:57:29.793-04:00/9f7191df-de3a-4cf3-a0a1-6321e88b5af5"> +<operation>EDIT_NODE</operation> +<responseCode>OK</responseCode> +<message>Node 'ProductionNode.2' has been edited successfully.</message> +<info name="nodeId" value="34de6ed6-46a4-4dae-a753-2f8d3840c6f9"/> +</response> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editPool.xml ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editPool.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editPool.xml new file mode 100644 index 0000000..78eb686 --- /dev/null +++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editPool.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<response +xmlns="urn:didata.com:api:cloud:types" requestId="NA9/2015-05-29T11:57:29.793-04:00/9f7191df-de3a-4cf3-a0a1-6321e88b5af5"> +<operation>EDIT_POOL</operation> +<responseCode>OK</responseCode> +<message>Pool 'ProductionPool.2' has been updated.</message> +<info name="name" value="ProductionPool.2"/> +<info name="poolId" value="4d360b1f-bc2c-4ab7-9884-1f03ba2768f7"/> +</response> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editPoolMember.xml ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editPoolMember.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editPoolMember.xml new file mode 100644 index 0000000..89ce41d --- /dev/null +++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editPoolMember.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<response +xmlns="urn:didata.com:api:cloud:types" requestId="NA9/2015-06-09T09:29:46.249-04:00/c128c717-b3b4-480a-ba93-e3fb2e32a9be"> +<operation>EDIT_POOL_MEMBER</operation> +<responseCode>OK</responseCode> +<message>Pool Member (10.0.3.13:9889) has been edited.</message> +<info name="poolMemberId" value="3dd806a2-c2c8-4c0c-9a4f-5219ea9266c0"/> +</response> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_node.xml ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_node.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_node.xml new file mode 100644 index 0000000..b58e58f --- /dev/null +++ b/libcloud/test/loadbalancer/fixtures/nttcis/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/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_node_34de6ed6_46a4_4dae_a753_2f8d3840c6f9.xml ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_node_34de6ed6_46a4_4dae_a753_2f8d3840c6f9.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_node_34de6ed6_46a4_4dae_a753_2f8d3840c6f9.xml new file mode 100644 index 0000000..ace9123 --- /dev/null +++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_node_34de6ed6_46a4_4dae_a753_2f8d3840c6f9.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<node xmlns="urn:didata.com:api:cloud:types" id="34de6ed6-46a4-4dae-a753-2f8d3840c6f9" datacenterId="NA9"> +<networkDomainId>553f26b6-2a73-42c3-a78b-6116f11291d0</networkDomainId> +<name>ProductionNode.2</name> +<description>Production Server 2</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-27T13:56:13.000Z</createTime> +</node> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_pool.xml ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_pool.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_pool.xml new file mode 100644 index 0000000..239fe52 --- /dev/null +++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_pool.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<pools +xmlns="urn:didata.com:api:cloud:types" pageNumber="1" pageCount="2" +totalCount="2" pageSize="250"> +<pool id="4d360b1f-bc2c-4ab7-9884-1f03ba2768f7" datacenterId="NA9"> +<networkDomainId>553f26b6-2a73-42c3-a78b- +6116f11291d0</networkDomainId> +<name>myDevelopmentPool.1</name> +<description>Pool for load balancing development application +servers.</description> +<loadBalanceMethod>ROUND_ROBIN</loadBalanceMethod> +<healthMonitor id="01683574-d487-11e4-811f-005056806999" +name="CCDEFAULT.Http"/> +<healthMonitor id="0168546c-d487-11e4-811f-005056806999" +name="CCDEFAULT.Https"/> +<serviceDownAction>RESELECT</serviceDownAction> +<slowRampTime>10</slowRampTime> +<state>NORMAL</state> +<createTime>2015-06-04T09:15:07.000Z</createTime> +</pool> +<pool id="afb1fb1a-eab9-43f4-95c2-36a4cdda6cb8" datacenterId="NA9"> +<networkDomainId>553f26b6-2a73-42c3-a78b- +6116f11291d0</networkDomainId> +<name>myProductionPool.1</name> +<description>Pool for load balancing production application +servers.</description> +<loadBalanceMethod>ROUND_ROBIN</loadBalanceMethod> +<healthMonitor id="01683574-d487-11e4-811f-005056806999" +name="CCDEFAULT.Http"/> +<healthMonitor id="0168546c-d487-11e4-811f-005056806999" +name="CCDEFAULT.Https"/> +<serviceDownAction>NONE</serviceDownAction> +<slowRampTime>10</slowRampTime> +<state>NORMAL</state> +<createTime>2015-06-03T14:11:17.000Z</createTime> +</pool> +</pools> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_poolMember.xml ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_poolMember.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_poolMember.xml new file mode 100644 index 0000000..b36f75e --- /dev/null +++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_poolMember.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<poolMembers +xmlns="urn:didata.com:api:cloud:types" pageNumber="1" pageCount="2" +totalCount="2" pageSize="250"> +<poolMember id="3dd806a2-c2c8-4c0c-9a4f-5219ea9266c0" datacenterId="NA9"> +<networkDomainId>553f26b6-2a73-42c3-a78b- +6116f11291d0</networkDomainId> +<pool id="4d360b1f-bc2c-4ab7-9884-1f03ba2768f7" +name="myDevelopmentPool.1"/> +<node id="3c207269-e75e-11e4-811f-005056806999" name="10.0.3.13" +ipAddress="10.0.3.13" status="ENABLED"/> +<port>9889</port> +<status>ENABLED</status> +<state>NORMAL</state> +<createTime>2015-06-09T11:02:50.000Z</createTime> +</poolMember> +<poolMember id="b977578b-a827-4172-b285-030c3ba15daa" datacenterId="NA9"> +<networkDomainId>553f26b6-2a73-42c3-a78b- +6116f11291d0</networkDomainId> +<pool id="4d360b1f-bc2c-4ab7-9884-1f03ba2768f7" +name="myDevelopmentPool.1"/> +<node id="3c207269-e75e-11e4-811f-005056806999" name="10.0.3.13" +ipAddress="10.0.3.13" status="ENABLED"/> +<port>9888</port> +<status>ENABLED</status> +<state>NORMAL</state> +<createTime>2015-06-09T10:43:29.000Z</createTime> +</poolMember> +</poolMembers> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_poolMember_3dd806a2_c2c8_4c0c_9a4f_5219ea9266c0.xml ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_poolMember_3dd806a2_c2c8_4c0c_9a4f_5219ea9266c0.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_poolMember_3dd806a2_c2c8_4c0c_9a4f_5219ea9266c0.xml new file mode 100644 index 0000000..7c86d4a --- /dev/null +++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_poolMember_3dd806a2_c2c8_4c0c_9a4f_5219ea9266c0.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<poolMember +xmlns="urn:didata.com:api:cloud:types" id="3dd806a2-c2c8-4c0c-9a4f-5219ea9266c0" datacenterId="NA9"> +<networkDomainId>553f26b6-2a73-42c3-a78b-6116f11291d0</networkDomainId> +<pool id="6f2f5d7b-cdd9-4d84-8ad7-999b64a87978" +name="myDevelopmentPool.1"/> +<node id="3c207269-e75e-11e4-811f-005056806999" name="10.0.3.13" +ipAddress="10.0.3.13" status="ENABLED"/> +<port>9889</port> +<status>ENABLED</status> +<state>NORMAL</state> +<createTime>2015-06-09T11:02:50.000Z</createTime> +</poolMember> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_pool_4d360b1f_bc2c_4ab7_9884_1f03ba2768f7.xml ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_pool_4d360b1f_bc2c_4ab7_9884_1f03ba2768f7.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_pool_4d360b1f_bc2c_4ab7_9884_1f03ba2768f7.xml new file mode 100644 index 0000000..89d3400 --- /dev/null +++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_pool_4d360b1f_bc2c_4ab7_9884_1f03ba2768f7.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<pool +xmlns="urn:didata.com:api:cloud:types" id="4d360b1f-bc2c-4ab7-9884-1f03ba2768f7" datacenterId="NA9"> +<networkDomainId>553f26b6-2a73-42c3-a78b-6116f11291d0</networkDomainId> +<name>myDevelopmentPool.1</name> +<description>Pool for load balancing development application +servers.</description> +<loadBalanceMethod>ROUND_ROBIN</loadBalanceMethod> +<healthMonitor id="01683574-d487-11e4-811f-005056806999" +name="CCDEFAULT.Http"/> +<healthMonitor id="0168546c-d487-11e4-811f-005056806999" +name="CCDEFAULT.Https"/> +<serviceDownAction>RESELECT</serviceDownAction> +<slowRampTime>10</slowRampTime> +<state>NORMAL</state> +<createTime>2015-06-04T09:15:07.000Z</createTime> +</pool> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_removePoolMember.xml ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_removePoolMember.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_removePoolMember.xml new file mode 100644 index 0000000..bfe47bc --- /dev/null +++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_removePoolMember.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<response requestId="na9/2015-05-14T13:37:20/62f06368-c3fb-11e3-b29c-001517c4643e" xmlns="urn:didata.com:api:cloud:types"> +<operation>REMOVE_POOL_MEMBER</operation> +<responseCode>OK</responseCode> +<message>Pool Member (id:34de6ed6-46a4-4dae-a753-2f8d3840c6f9) has been +removed.</message> +</response> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_virtualListener.xml ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_virtualListener.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_virtualListener.xml new file mode 100644 index 0000000..88a94fa --- /dev/null +++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_virtualListener.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="UTF-8"?> +<virtualListeners +xmlns="urn:didata.com:api:cloud:types" pageNumber="1" pageCount="5" +totalCount="5" pageSize="250"> +<virtualListener id="6115469d-a8bb-445b-bb23-d23b5283f2b9" +datacenterId="NA9"> +<networkDomainId>553f26b6-2a73-42c3-a78b- +6116f11291d0</networkDomainId> +<name>myProduction.Virtual.Listener</name> +<state>NORMAL</state> +<description>Virtual Listener for load balancing our test +systems.</description> +<createTime>2015-05-28T15:59:49.000Z</createTime> +<type>PERFORMANCE_LAYER_4</type> +<protocol>HTTP</protocol> +<listenerIpAddress>165.180.12.22</listenerIpAddress> +<port>8899</port> +<enabled>true</enabled> +<connectionLimit>10000</connectionLimit> +<connectionRateLimit>400</connectionRateLimit> +<sourcePortPreservation>PRESERVE</sourcePortPreservation> +<pool id="afb1fb1a-eab9-43f4-95c2-36a4cdda6cb8" +name="myProductionPool.1"> +<loadBalanceMethod>ROUND_ROBIN</loadBalanceMethod> +<serviceDownAction>NONE</serviceDownAction> +<slowRampTime>10</slowRampTime> +<healthMonitor id="01683574-d487-11e4-811f-005056806999" +name="CCDEFAULT.Http"/> +<healthMonitor id="0168546c-d487-11e4-811f-005056806999" +name="CCDEFAULT.Https"/> +</pool> +<clientClonePool id="6f2f5d7b-cdd9-4d84-8ad7-999b64a87978" +name="myDevelopmentPool.1"> +<loadBalanceMethod>ROUND_ROBIN</loadBalanceMethod> +<serviceDownAction>RESELECT</serviceDownAction> +<slowRampTime>10</slowRampTime> +<healthMonitor id="01683574-d487-11e4-811f-005056806999" +name="CCDEFAULT.Http"/> +<healthMonitor id="0168546c-d487-11e4-811f-005056806999" +name="CCDEFAULT.Https"/> +</clientClonePool> +<persistenceProfile id="a34ca25c-f3db-11e4-b010-005056806999" +name="CCDEFAULT.DestinationAddress"/> +<fallbackPersistenceProfile id="a34ca3f6-f3db-11e4-b010-005056806999" +name="CCDEFAULT.SourceAddress"/> +<irule id="2b20abd9-ffdc-11e4-b010-005056806999" +name="CCDEFAULT.IpProtocolTimers"/> +<irule id="2b20e790-ffdc-11e4-b010-005056806999" +name="CCDEFAULT.Ips"/> +</virtualListener> +</virtualListeners> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_virtualListener_6115469d_a8bb_445b_bb23_d23b5283f2b9.xml ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_virtualListener_6115469d_a8bb_445b_bb23_d23b5283f2b9.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_virtualListener_6115469d_a8bb_445b_bb23_d23b5283f2b9.xml new file mode 100644 index 0000000..aea2f6f --- /dev/null +++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_virtualListener_6115469d_a8bb_445b_bb23_d23b5283f2b9.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<virtualListener +xmlns="urn:didata.com:api:cloud:types" id="6115469d-a8bb-445b-bb23-d23b5283f2b9" datacenterId="NA9"> +<networkDomainId>553f26b6-2a73-42c3-a78b-6116f11291d0</networkDomainId> +<name>myProduction.Virtual.Listener</name> +<state>NORMAL</state> +<description>Virtual Listener for load balancing our test +systems.</description> +<createTime>2015-05-28T15:59:49.000Z</createTime> +<type>PERFORMANCE_LAYER_4</type> +<protocol>HTTP</protocol> +<listenerIpAddress>165.180.12.22</listenerIpAddress> +<port>8899</port> +<enabled>true</enabled> +<connectionLimit>10000</connectionLimit> +<connectionRateLimit>400</connectionRateLimit> +<sourcePortPreservation>PRESERVE</sourcePortPreservation> +<pool id="afb1fb1a-eab9-43f4-95c2-36a4cdda6cb8" name="myProductionPool.1"> +<loadBalanceMethod>ROUND_ROBIN</loadBalanceMethod> +<serviceDownAction>NONE</serviceDownAction> +<slowRampTime>10</slowRampTime> +<healthMonitor id="01683574-d487-11e4-811f-005056806999" +name="CCDEFAULT.Http"/> +<healthMonitor id="0168546c-d487-11e4-811f-005056806999" +name="CCDEFAULT.Https"/> +</pool> +<clientClonePool id="6f2f5d7b-cdd9-4d84-8ad7-999b64a87978" +name="myDevelopmentPool.1"> +<loadBalanceMethod>ROUND_ROBIN</loadBalanceMethod> +<serviceDownAction>RESELECT</serviceDownAction> +<slowRampTime>10</slowRampTime> +<healthMonitor id="01683574-d487-11e4-811f-005056806999" +name="CCDEFAULT.Http"/> +<healthMonitor id="0168546c-d487-11e4-811f-005056806999" +name="CCDEFAULT.Https"/> +</clientClonePool> +<persistenceProfile id="a34ca25c-f3db-11e4-b010-005056806999" +name="CCDEFAULT.DestinationAddress"/> +<fallbackPersistenceProfile id="a34ca3f6-f3db-11e4-b010-005056806999" +name="CCDEFAULT.SourceAddress"/> +<irule id="2b20abd9-ffdc-11e4-b010-005056806999" +name="CCDEFAULT.IpProtocolTimers"/> +<irule id="2b20e790-ffdc-11e4-b010-005056806999" name="CCDEFAULT.Ips"/> +</virtualListener> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/oec_0_9_myaccount.xml ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/oec_0_9_myaccount.xml b/libcloud/test/loadbalancer/fixtures/nttcis/oec_0_9_myaccount.xml new file mode 100644 index 0000000..4f3b132 --- /dev/null +++ b/libcloud/test/loadbalancer/fixtures/nttcis/oec_0_9_myaccount.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<ns3:Account xmlns="http://oec.api.opsource.net/schemas/server" xmlns:ns9="http://oec.api.opsource.net/schemas/reset" xmlns:ns5="http://oec.api.opsource.net/schemas/vip" xmlns:ns12="http://oec.api.opsource.net/schemas/general" xmlns:ns6="http://oec.api.opsource.net/schemas/imageimportexport" xmlns:ns13="http://oec.api.opsource.net/schemas/support" xmlns:ns7="http://oec.api.opsource.net/schemas/whitelabel" xmlns:ns10="http://oec.api.opsource.net/schemas/ipplan" xmlns:ns8="http://oec.api.opsource.net/schemas/datacenter" xmlns:ns11="http://oec.api.opsource.net/schemas/storage" xmlns:ns2="http://oec.api.opsource.net/schemas/organization" xmlns:ns4="http://oec.api.opsource.net/schemas/network" xmlns:ns3="http://oec.api.opsource.net/schemas/directory"> + <ns3:userName>testuser</ns3:userName> + <ns3:fullName>Test User</ns3:fullName> + <ns3:firstName>Test</ns3:firstName> + <ns3:lastName>User</ns3:lastName> + <ns3:emailAddress>[email protected]</ns3:emailAddress> + <ns3:orgId>8a8f6abc-2745-4d8a-9cbc-8dabe5a7d0e4</ns3:orgId> + <ns3:roles> + <ns3:role> + <ns3:name>create image</ns3:name> + </ns3:role> + <ns3:role> + <ns3:name>reports</ns3:name> + </ns3:role> + <ns3:role> + <ns3:name>server</ns3:name> + </ns3:role> + <ns3:role> + <ns3:name>primary administrator</ns3:name> + </ns3:role> + <ns3:role> + <ns3:name>network</ns3:name> + </ns3:role> + </ns3:roles> +</ns3:Account>
