diff --git a/acos_client/tests/unit/v30/test_slb_virtual_server.py b/acos_client/tests/unit/v30/test_slb_virtual_server.py index 552cc22d..f5b7b04c 100644 --- a/acos_client/tests/unit/v30/test_slb_virtual_server.py +++ b/acos_client/tests/unit/v30/test_slb_virtual_server.py @@ -63,6 +63,28 @@ def test_virtual_server_create_no_params(self): self.assertEqual(responses.calls[1].request.url, CREATE_URL) self.assertEqual(json.loads(responses.calls[1].request.body), params) + @responses.activate + def test_ipv6_virtual_server_create_no_params(self): + responses.add(responses.POST, AUTH_URL, json={'session_id': 'foobar'}) + json_response = {"foo": "bar"} + responses.add(responses.POST, CREATE_URL, json=json_response, status=200) + params = { + 'virtual-server': { + 'ipv6-address': '2001:db8:feed::5001', + 'name': VSERVER_NAME, + 'arp-disable': 0, + 'description': None, + } + } + + resp = self.client.slb.virtual_server.create('test', '2001:db8:feed::5001') + + self.assertEqual(resp, json_response) + self.assertEqual(len(responses.calls), 2) + self.assertEqual(responses.calls[1].request.method, responses.POST) + self.assertEqual(responses.calls[1].request.url, CREATE_URL) + self.assertEqual(json.loads(responses.calls[1].request.body), params) + @responses.activate def test_virtual_server_create_with_params(self): responses.add(responses.POST, AUTH_URL, json={'session_id': 'foobar'}) diff --git a/acos_client/v30/base.py b/acos_client/v30/base.py index 719f839f..ecd5dacc 100644 --- a/acos_client/v30/base.py +++ b/acos_client/v30/base.py @@ -81,5 +81,8 @@ def _delete(self, action, params={}, max_retries=None, timeout=None, axapi_args= axapi_args=axapi_args, **kwargs) def _is_ipv6(self, ip_address): - validated_ip_address = ipaddress.ip_address(six.text_type(ip_address)) - return isinstance(validated_ip_address, ipaddress.IPv6Address) + ip_version = ipaddress.ip_address(ip_address).version + if ip_version == 4: + return False + if ip_version == 6: + return True diff --git a/acos_client/v30/slb/virtual_server.py b/acos_client/v30/slb/virtual_server.py index 534a843a..5dd957b0 100644 --- a/acos_client/v30/slb/virtual_server.py +++ b/acos_client/v30/slb/virtual_server.py @@ -37,7 +37,6 @@ def _set(self, name, ip_address=None, arp_disable=False, description=None, vrid= params = { "virtual-server": self.minimal_dict({ "name": name, - "ip-address": ip_address, "arp-disable": None if arp_disable is None else int(arp_disable), "description": description, "port-list": port_list