OpenStack 与 OVN¶
Openstack 可以使用多种 SDN 解决方案部署(例如 ODL)。OVN 为 Open vSwitch (OVS) 提供虚拟网络。OVN 具有许多理想的特性,并且被设计为可以集成到 Openstack 中,等等。
由于 openstack 下已经存在 networking-ovn 项目,因此实施一个提供此服务的 Juju charm 是显而易见的下一步。
问题描述¶
目前,Juju charms 支持部署 openstack,无论是使用其默认 SDN 解决方案(Neutron),还是其他解决方案,例如 ODL。该项目将通过将 OVN 包含在可用的 SDN 解决方案列表中,扩展 Juju 下 openstack 的部署场景。
这也有利于 OPNFV 的 JOID 安装程序,为其部署提供另一个场景。
提议的变更¶
需要实施实现 neutron-api、ovn-controller 和 neutron-ovn 的 charms。这些 charms 将使用 Juju 的新反应式框架编写。
Charm : neutron-ovn¶
此 charm 将与 nova-compute 部署一起部署。这将是 nova-compute 的从属 charm,用于安装和运行 openvswitch 和 ovn-controller。
Charm : ovn-controller¶
此 charm 将部署 OVN 本身。它将启动 OVN 服务(ovsdb-server、ovn-northd)。由于部署中只能存在一个 ovsdb-server 和 ovn-northd 实例,我们也可以实施被动 HA,但这可以包含在此 charm 的后续修订版本中。
Charm : neutron-api-ovn¶
此 charm 将提供 neutron 到 OVN 的仅 API 集成。此 charm 需要成为现有 neutron-api charm 的从属 charm。此 charm 的主要任务是使用正确的 OVN 参数设置“neutron.conf”和“ml2_ini.conf”配置文件。主 charm neutron-api 处理 neutron-server 的安装和重启。
更多信息请参考:https://docs.openstack.org/networking-ovn/latest/install/manual.html
备选方案¶
N/A
实现¶
负责人¶
Aakash KT
Gerrit Topic¶
对于与此规范相关的所有补丁,请使用 Gerrit 主题“charm-os-ovn”。
git-review -t charm-os-ovn
工作项¶
实施 neutron-api-ovn charm
实施 ovn-controller charm
实施 neutron-ovn charm
集成测试
创建一个 bundle 来部署 OpenStack OVN
为上述三个 charms 创建文档
仓库¶
是的,需要创建三个新的仓库:* charm-neutron-api-ovn * charm-ovn-controller * charm-neutron-ovn
文档¶
这将需要为 Juju 中 openstack + ovn 覆盖的场景创建新的文档。需要为 bundle 编写一个 README 文件。在 charm 部署指南中添加文档,详细说明如何使用 OpenStack 部署 OVN。
安全性¶
这些 charms 之间的通信应该安全。例如,ovn-central 和 ovn-edges 之间的通信应该使用自签名证书进行保护。
测试¶
对于 Juju 级别的测试,我们可以使用新的“juju-matrix”工具。对于 OpenStack 级别的功能测试,应该使用 Mojo。这将有助于验证部署。
依赖项¶
此 charm 将支持 OpenStack Queens 作为其基线。