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 作为其基线。