Current tempest API tests do not validate IPv6 to the same extent as IPv4.
IPv6 is evolving in Neutron and the community is working hard to add the necessary support. However, the current API tests in tempest do not validate IPv6 to the same extent as IPv4.
Also, Neutron now supports two extended attributes for IPv6 subnets (ipv6-ra-mode and ipv6-address-mode) in the Juno timeframe.
This BP would add the necessary IPv6 tests in tempest.
Neutron BP: IPv6 Subnet attributes are implemented as part of the following BP - https://blueprints.launchpad.net/neutron/+spec/ipv6-two-attributes
The two IPv6 attributes provide flexibility to choose the type of IPv6 network. However, not all combinations of the two attributes are valid. Valid and invalid combinations are captured in the Neutron ipv6-provider-nets-slaac.rst blueprint and also at the following link. - https://www.dropbox.com/s/9bojvv9vywsz8sd/IPv6%20Two%20Modes%20v3.0.pdf
Along with test cases related to subnet attributes, this BP would implement new test cases in tempest to bring in parity between IPv4 and IPv6 tests. To start with, new tests would be required in Neutron for Ports/Security-Groups/Subnets/FWaaS api tests.
The following etherpad link would be used to track all the test cases.
Any new test cases related to the same topic would be tracked using the following external etherpad link. https://etherpad.openstack.org/p/ipv6-api-testing-parity
Neutron IPv6 Subnet attributes (ipv6-ra-mode and ipv6-address-mode) are added in the Juno+ timeframe for selecting the type of IPv6 network. Hence, a config flag needs to be added to tempest to skip the tests while running on icehouse jobs. The required changes in tempest would be addressed as part of BP ipv6-subnet-attributes.rst. https://blueprints.launchpad.net/tempest/+spec/ipv6-subnet-attributes
Similarly, devstack needs to populate the flag during the setup. The required changes in devstack would be addressed as part of the following BP. https://blueprints.launchpad.net/devstack/+spec/tempest-ipv6-attributes-support
Neutron: Support Router Advertisement Daemon (radvd) for IPv6 https://review.openstack.org/#/c/101306/
Neutron: Support for IPv6 dhcpv6-stateless and dhcpv6-statefull modes in Neutron. https://review.openstack.org/#/c/102411/