From c0f1fc7d39c550f6825b4e323358d44e876c1fa5 Mon Sep 17 00:00:00 2001 From: spisarski Date: Tue, 7 Nov 2017 15:23:15 -0700 Subject: Adding tests for IPv6. Included in patch: 1. Refactor Network domain object to include Subnet objects 2. Removed subnet members from OpenStackNetwork 3. Added exhausive IPv6 tests to neutron_utils_tests.py 4. Added two IPv6 integration tests to create_network_tests.py 5. Added two tests where VM instances have ports with IPv6 addresses 6. Updated docs JIRA: SNAPS-178 Change-Id: Id3e5448cb431d2acf47029244fe6773f3f29d368 Signed-off-by: spisarski --- docs/how-to-use/APITests.rst | 60 +++++++++++++++++++++++++++++------- docs/how-to-use/IntegrationTests.rst | 30 ++++++++++++++++-- 2 files changed, 77 insertions(+), 13 deletions(-) (limited to 'docs') diff --git a/docs/how-to-use/APITests.rst b/docs/how-to-use/APITests.rst index c11a6b5..f71426c 100644 --- a/docs/how-to-use/APITests.rst +++ b/docs/how-to-use/APITests.rst @@ -163,22 +163,63 @@ neutron_utils_tests.py - NeutronUtilsSubnetTests +---------------------------------------+---------------+-----------------------------------------------------------+ | Test Name | Neutron API | Description | +=======================================+===============+===========================================================+ -| test_create_subnet | 2 | Ensures neutron_utils.create_subnet() can properly create | +| test_create_subnet | 2 | Ensures neutron_utils.create_network() can properly create| | | | an OpenStack subnet object | +---------------------------------------+---------------+-----------------------------------------------------------+ -| test_create_subnet_null_name | 2 | Ensures neutron_utils.create_subnet() raises an exception | +| test_create_subnet_null_name | 2 | Ensures neutron_utils.create_network() raises an exception| | | | when the subnet name is None | +---------------------------------------+---------------+-----------------------------------------------------------+ -| test_create_subnet_empty_name | 2 | Ensures neutron_utils.create_subnet() raises an exception | +| test_create_subnet_empty_name | 2 | Ensures neutron_utils.create_network() raises an exception| | | | when the subnet name is an empty string | +---------------------------------------+---------------+-----------------------------------------------------------+ -| test_create_subnet_null_cidr | 2 | Ensures neutron_utils.create_subnet() raises an exception | +| test_create_subnet_null_cidr | 2 | Ensures neutron_utils.create_network() raises an exception| | | | when the subnet CIDR is None | +---------------------------------------+---------------+-----------------------------------------------------------+ -| test_create_subnet_empty_cidr | 2 | Ensures neutron_utils.create_subnet() raises an exception | +| test_create_subnet_empty_cidr | 2 | Ensures neutron_utils.create_network() raises an exception| | | | when the subnet CIDR is an empty string | +---------------------------------------+---------------+-----------------------------------------------------------+ +neutron_utils_tests.py - NeutronUtilsIPv6Tests +---------------------------------------------- + ++---------------------------------------+---------------+-----------------------------------------------------------+ +| Test Name | Neutron API | Description | ++=======================================+===============+===========================================================+ +| test_create_network_slaac | 2 | Ensures neutron_utils.create_network() can properly create| +| | | an OpenStack network with an IPv6 subnet when DHCP is True| +| | | and modes are 'slaac' | ++---------------------------------------+---------------+-----------------------------------------------------------+ +| test_create_network_stateful | 2 | Ensures neutron_utils.create_network() can properly create| +| | | an OpenStack network with an IPv6 subnet when DHCP is True| +| | | and modes are 'stateful' | ++---------------------------------------+---------------+-----------------------------------------------------------+ +| test_create_network_stateless | 2 | Ensures neutron_utils.create_network() can properly create| +| | | an OpenStack network with an IPv6 subnet when DHCP is True| +| | | and modes are 'stateless' | ++---------------------------------------+---------------+-----------------------------------------------------------+ +| test_create_network_no_dhcp_slaac | 2 | Ensures neutron_utils.create_network() raises a BadRequest| +| | | exception when deploying the network with an IPv6 subnet | +| | | when DHCP is False and modes are 'slaac' | ++---------------------------------------+---------------+-----------------------------------------------------------+ +| test_create_network_invalid_start_ip | 2 | Ensures neutron_utils.create_network() sets the start IP | +| | | address to the minimum value when the start configuration | +| | | parameter is some garbage value | ++---------------------------------------+---------------+-----------------------------------------------------------+ +| test_create_network_invalid_end_ip | 2 | Ensures neutron_utils.create_network() sets the end IP | +| | | address to the maximum value when the end configuration | +| | | parameter is some garbage value | ++---------------------------------------+---------------+-----------------------------------------------------------+ +| test_create_network_with_bad_cidr | 2 | Ensures neutron_utils.create_network() raises a BadRequest| +| | | exception when the IPv6 CIDR is incorrect | ++---------------------------------------+---------------+-----------------------------------------------------------+ +| test_create_network_invalid_gateway_ip| 2 | Ensures neutron_utils.create_network() raises a BadRequest| +| | | exception when the IPv6 gateway IP does not match the CIDR| ++---------------------------------------+---------------+-----------------------------------------------------------+ +| test_create_network_with_bad_dns | 2 | Ensures neutron_utils.create_network() raises a BadRequest| +| | | exception when the IPv6 DNS IP address is not a valid IPv6| +| | | address | ++---------------------------------------+---------------+-----------------------------------------------------------+ + neutron_utils_tests.py - NeutronUtilsRouterTests ------------------------------------------------ @@ -192,12 +233,6 @@ neutron_utils_tests.py - NeutronUtilsRouterTests | face | | an OpenStack router object with an interface to the | | | | external network | +---------------------------------------+---------------+-----------------------------------------------------------+ -| test_create_router_empty_name | 2 | Ensures neutron_utils.create_router() raises an exception | -| | | when the name is an empty string | -+---------------------------------------+---------------+-----------------------------------------------------------+ -| test_create_router_null_name | 2 | Ensures neutron_utils.create_router() raises an exception | -| | | when the name is None | -+---------------------------------------+---------------+-----------------------------------------------------------+ | test_add_interface_router | 2 | Ensures neutron_utils.add_interface_router() properly adds| | | | an interface to another subnet | +---------------------------------------+---------------+-----------------------------------------------------------+ @@ -207,6 +242,9 @@ neutron_utils_tests.py - NeutronUtilsRouterTests | test_add_interface_router_null_subnet | 2 | Ensures neutron_utils.add_interface_router() raises an | | | | exception when the subnet object is None | +---------------------------------------+---------------+-----------------------------------------------------------+ +| test_add_interface_router_missing_sub | 2 | Ensures neutron_utils.add_interface_router() raises an | +| net | | exception when the subnet object had been deleted | ++---------------------------------------+---------------+-----------------------------------------------------------+ | test_create_port | 2 | Ensures neutron_utils.create_port() can properly create an| | | | OpenStack port object | +---------------------------------------+---------------+-----------------------------------------------------------+ diff --git a/docs/how-to-use/IntegrationTests.rst b/docs/how-to-use/IntegrationTests.rst index a901fac..1368eaf 100644 --- a/docs/how-to-use/IntegrationTests.rst +++ b/docs/how-to-use/IntegrationTests.rst @@ -185,6 +185,18 @@ create_network_tests.py - CreateNetworkSuccessTests | | | 'admin' project ID | +---------------------------------------+---------------+-----------------------------------------------------------+ +create_network_tests.py - CreateNetworkIPv6Tests +------------------------------------------------ + ++---------------------------------------+---------------+-----------------------------------------------------------+ +| Test Name | Neutron API | Description | ++=======================================+===============+===========================================================+ +| test_create_network_one_ipv6_subnet | 2 | Ensures that a network can be created with an IPv6 subnet | ++---------------------------------------+---------------+-----------------------------------------------------------+ +| test_create_network_ipv4_ipv6_subnet | 2 | Ensures that a network can be created with an IPv4 and | +| | | IPv6 subnet | ++---------------------------------------+---------------+-----------------------------------------------------------+ + create_router_tests.py - CreateRouterSuccessTests ------------------------------------------------- @@ -585,8 +597,8 @@ create_instance_tests.py - CreateInstanceFromThreePartImage | | Neutron 2 | delete it when using a 3-part image | +-----------------------------------------------------+---------------+-----------------------------------------------------------+ -create_instance_tests.py - CreateInstancePubPrivNetTests --------------------------------------------------------- +create_instance_tests.py - CreateInstancePubPrivNetTests (Staging) +------------------------------------------------------------------ +---------------------------------------+---------------+-----------------------------------------------------------+ | Test Name | API Versions | Description | @@ -595,6 +607,20 @@ create_instance_tests.py - CreateInstancePubPrivNetTests | | Neutron 2 | NIC configured via SSH/Ansible after startup | +---------------------------------------+---------------+-----------------------------------------------------------+ +create_instance_tests.py - CreateInstanceIPv6NetworkTests (Staging) +------------------------------------------------------------------- + ++---------------------------------------+---------------+-----------------------------------------------------------+ +| Test Name | API Versions | Description | ++=======================================+===============+===========================================================+ +| test_v4fip_v6overlay | Nova 2 | Expects a BadRequest exception to be raised when | +| | Neutron 2 | attempting to add an IPv4 floating IP to a VM with an IPv6| +| | | port | ++---------------------------------------+---------------+-----------------------------------------------------------+ +| test_fip_v4and6_overlay | Nova 2 | Connects to a VM via a floating IP joined to a port that | +| | Neutron 2 | has been confiured with both IPv4 and IPv6 addresses | ++---------------------------------------+---------------+-----------------------------------------------------------+ + create_instance_tests.py - InstanceSecurityGroupTests ----------------------------------------------------- -- cgit 1.2.3-korg