分布式虚拟路由器 (DVR) 中对 VLAN 网络的支持¶
包含您的 Launchpad 蓝图的 URL
https://blueprints.launchpad.net/neutron/+spec/neutron-ovs-dvr-vlan
随着 Juno 版本的部署,OpenStack Neutron 用户可以部署分布式虚拟路由器,如 [1] 中所述。
DVR 允许在无需部署集中式节点来托管租户路由器的情况下,在租户虚拟机之间进行路由。租户可以创建分布式路由器,这些路由器会根据需求在具有路由器托管子网的计算服务器上提供。
然而,在 Neutron 的 Juno 版本中,受管理的分布式路由器接口只能属于 VXLAN 或 GRE 网络类型。
作为分布式路由器接口,VLAN 网络类型的功能尚不可用。
问题描述¶
如上文介绍部分所述,OpenStack 的 Juno 版本提供了分布式虚拟路由器。但是,可用的实现仅对 VXLAN 和 GRE 的 network_types 具有功能。
此蓝图将解决以下差距
1. 启用 VLAN 网络作为分布式路由器接口。更具体地说,如果两个网络作为 dvr 的接口连接,并且这两个网络都是 VLAN 类型,那么通过此蓝图,这些网络上的虚拟机可以透明地相互路由流量。
2. 启用分布式路由器在 VLAN 网络、VXLAN 网络和 GRE 网络之间路由数据包。更具体地说,如果两个网络作为 dvr 的接口连接,其中一个是 VLAN 网络,另一个是 VXLAN 网络,那么这些网络上的虚拟机可以通过此蓝图透明地相互路由流量。 同样,此蓝图还支持 dvr 的一个接口位于 VLAN 网络,另一个接口位于 GRE 网络之间的路由通信。 此外,此蓝图还支持 dvr 的一个接口位于 VXLAN 网络,另一个接口位于 GRE 网络之间的路由通信。
我们在此澄清,此蓝图仅启用路由流量通过不同的网络类型(仅 VLAN、VXLAN、GRE)。此蓝图不建议在不同的网络之间切换流量的网关。
提议的变更¶
作为此蓝图实施的一部分,我们将对 OpenStack Neutron 的以下组件进行更改
a. ML2 插件提供的 DVR RPC 将得到增强,以提供物理网络信息,OVS Neutron Agent 将使用这些信息来配置 VLAN 网络类型的端口作为 DVR 接口。
b. OVS DVR Neutron Agent 将得到增强,以支持 VLAN 网络类型,从而允许位于 VLAN 网络上的租户虚拟机通过分布式路由器进行通信。 它还将得到增强,以允许租户虚拟机(一个位于 VLAN 网络上,另一个位于 VXLAN/GRE 网络上)通过分布式路由器进行通信。 通过增强,我们指的是 OVS DVR Neutron Agent 将向 integration-bridge 和 physical-bridges 添加 OVS 规则,以便在不同的 VLAN 网络上的虚拟机之间启用路由,以及在每个虚拟机分别位于 VLAN 网络和 VXLAN/GRE 网络上时启用路由。
因此,此蓝图将使 DVR openvswitch 实现支持 VLAN 网络类型。
数据模型影响¶
无
REST API 影响¶
无
安全影响¶
无
通知影响¶
无
其他最终用户影响¶
无
性能影响¶
无
IPv6 影响¶
此更改不会对 Neutron 中的 IPv6 产生影响。
如 [1] 中所述,分布式虚拟路由器 (dvr) 不支持 IPv6 网络。 因此,必须首先将 DVR 功能增强为支持 IPv6,作为一个单独的蓝图。 在此之前,IPv6 租户网络将无法利用 Neutron 中的 DVR 功能。
其他部署者影响¶
无
开发人员影响¶
无
社区影响¶
Neutron 社区采用 DVR 功能的目的是解决与 nova-network 的对等问题。 此蓝图将进一步缩小差距,以带来更多的对等性。
备选方案¶
无
实现¶
负责人¶
此蓝图的作者将发布代码以供社区进行审查。
- 主要负责人
- 其他贡献者
blak111@gmail.com (kevin benton) swaminathan.vasudevan@hp.com (review) rajeev.grover@hp.com (review) michael.smith6@hp.com (review)
工作项¶
以下是执行此蓝图所涉及的工作项
1. 在 Neutron 中进行主要代码开发,以增强现有的 DVR 逻辑,以支持 VLAN 网络(同时保留托管 VXLAN/GRE 网络的功能)。
开发单元测试用例,以确保此功能的测试覆盖率。
3. 初始提交中将添加功能测试用例来测试此功能。
4. 在较长的时间内(在下一个版本中),现有的 DVR CI 将得到增强,以支持 VLAN 类型网络作为 DVR 接口。
依赖项¶
依赖于 [1] 中的分布式虚拟路由器蓝图。
测试¶
如“工作项”中所述,最初将提供功能测试来测试此功能。 稍后,现有的 DVR CI(在 gate 上可用)将得到增强,以支持使用 DVR 测试 VLAN 网络。
Tempest 测试¶
无
功能测试¶
将提供功能测试用例来测试此功能。
API 测试¶
无
文档影响¶
我们将需要将 DVR 能够支持 VLAN 网络类型包含在 OpenStack Neutron 手册中,因此这将产生文档影响。 作者和现有的 DVR 团队将与 Neutron 文档一起使用,以包含此功能。
用户文档¶
将更新 OpenStack 网络管理指南,以反映此蓝图带给 DVR 的功能。
开发人员文档¶
无
参考资料¶
[1] DVR 蓝图:https://specs.openstack.org/openstack/neutron-specs/specs/juno/neutron-ovs-dvr.html