提高 tempest 中 IPv6 API 测试的对等性¶
https://blueprints.launchpad.net/tempest/+spec/ipv6-api-testing-parity
当前的 tempest API 测试并没有像 IPv4 一样全面地验证 IPv6。
问题描述¶
IPv6 正在 Neutron 中不断发展,社区也在努力添加必要的支持。然而,tempest 中当前的 API 测试并没有像 IPv4 一样全面地验证 IPv6。
此外,Neutron 现在支持两个 IPv6 子网扩展属性(ipv6-ra-mode 和 ipv6-address-mode),时间范围为 Juno。
此 BP 将在 tempest 中添加必要的 IPv6 测试。
提议的变更¶
Neutron BP:IPv6 子网属性作为以下 BP 的一部分实现 - https://blueprints.launchpad.net/neutron/+spec/ipv6-two-attributes
- 子网属性的可能值如下。
ipv6-ra-mode {dhcpv6-stateful, dhcpv6-stateless, slaac}
ipv6-address-mode {dhcpv6-stateful, dhcpv6-stateless, slaac}
这两个 IPv6 属性提供了选择 IPv6 网络类型的灵活性。然而,这两个属性并非所有组合都是有效的。有效的和无效的组合在 Neutron ipv6-provider-nets-slaac.rst 蓝图以及以下链接中都有记录 - https://www.dropbox.com/s/9bojvv9vywsz8sd/IPv6%20Two%20Modes%20v3.0.pdf
除了与子网属性相关的测试用例外,此 BP 还会实现 tempest 中的新测试用例,以实现 IPv4 和 IPv6 测试之间的对等性。首先,Neutron 中需要对端口/安全组/子网/FWaaS api 测试进行新的测试。
以下 etherpad 链接将用于跟踪所有测试用例。
https://etherpad.openstack.org/p/ipv6-api-testing-parity
替代方案¶
无
实现¶
负责人¶
主要负责人
Sridhar Gaddam <sridhargaddam@enovance.com>
Sean M. Collins <sean_collins2@cable.comcast.com>
里程碑¶
- 完成目标里程碑
Juno 发布
工作项¶
- 工作项目包括 IPv6 API 测试用例,例如
子网测试用例。
端口操作,包括批量操作。
FWaaS 测试用例。
验证 Neutron 是否正确计算和分配 IPv6 地址(例如,在适用时基于 EUI-64)。
与同一主题相关的任何新测试用例都将使用以下外部 etherpad 链接进行跟踪。 https://etherpad.openstack.org/p/ipv6-api-testing-parity
依赖项¶
Neutron IPv6 子网属性(ipv6-ra-mode 和 ipv6-address-mode)在 Juno+ 时间范围内添加,用于选择 IPv6 网络类型。因此,需要在 tempest 中添加一个配置标志,以在运行 icehouse 作业时跳过测试。tempest 中的所需更改将在 BP ipv6-subnet-attributes.rst 的一部分中解决。 https://blueprints.launchpad.net/tempest/+spec/ipv6-subnet-attributes
同样,devstack 需要在设置期间填充该标志。devstack 中的所需更改将在以下 BP 的一部分中解决。 https://blueprints.launchpad.net/devstack/+spec/tempest-ipv6-attributes-support
Neutron:支持 IPv6 的路由器通告守护进程 (radvd) https://review.openstack.org/#/c/101306/
Neutron:支持 Neutron 中 IPv6 dhcpv6-stateless 和 dhcpv6-statefull 模式。 https://review.openstack.org/#/c/102411/