Apic ML2 驱动增强

https://blueprints.launchpad.net/neutron/+spec/apic-driver-enhancements

此蓝图跟踪 APIC ML2 驱动程序所需的一些改进。具体而言,目标增强功能将是

重构 apic-manager:使其更健壮,其操作幂等,并且能够“修复”APIC 和 Neutron 世界之间可能发生的任何不一致;

名称映射:定义 APIC 的可配置命名策略。这允许最终用户在 APIC GUI 中查看名称而不是 UUID;

外部网关:为 APIC 插件启用路由器外部网关功能;

动态拓扑发现:使 APIC 插件能够自动发现物理拓扑(例如,连接到计算主机的接口)。这可以减少用户的手动配置。

支持 VPC/LACP(绑定):启用连接在具有 VPC/LACP(端口绑定)的冗余拓扑中的 OpenStack 服务器的使用。

问题描述

此蓝图针对一系列小的增强功能,以解决不同的问题。

高可用性:当前的 APIC ML2 驱动程序不支持 APIC 的高可用性和同步策略,这使得从 Neutron 服务器故障中恢复变得困难。此外,驱动程序没有利用 APIC 管理地址冗余/故障转移机制,这意味着每次配置中的单个 APIC 控制器地址不可访问时,插件都会发生故障。

名称映射:在当前状态下,在 neutron 模型中创建对象始终以对象的 UUID 命名翻译成 APIC 模型。应向用户提供替代名称映射策略。

L3 外部网关支持:今天,APIC L3 驱动程序不支持路由器的外部网关扩展。

动态拓扑发现:APIC 驱动程序通过利用一些静态 Neutron 配置来发现拓扑。理想情况下,我们希望能够通过使用新的代理自动发现拓扑。

支持 VPC/LACP(绑定):当前的 APIC 驱动程序不支持 VPC/LACP 或端口绑定。这是我们想要支持的高可用性部署的理想配置。

提议的变更

高可用性:此点的更改可以概括为两个主要项目

首先,修改当前的 APIC 驱动程序配置,以便用户可以指定任意数量的 APIC 控制器。APIC 客户端然后在每次连接失败时在这些地址之间轮换。

为了提高管理器操作的幂等性和可靠性,引入了一种事务模型,该模型利用了 APIC 能够对模型的完整子树进行事务性操作的能力。

名称映射:将添加一个新的数据库表来跟踪特定 neutron 对象 ID 使用的“APIC 名称”。每次调用驱动程序时,映射器都将用于检索后端中的实际名称。

L3 外部网关支持:每次创建具有 device_owner “router:gateway” 的端口时,机制驱动程序将运行所有必要的操作,以保证对适当网络的外部连接。可能需要一些配置来描述外部路由器。

动态拓扑发现:建议使用 APIC 特定代理。它将作为第三方代理安装到所有需要连接到 APIC fabric 的 OpenStack 节点上。该代理将侦听 LLDP 广告,并在发现拓扑更改时,将使用适当的接口映射更新 APIC。

支持 VPC/LACP(绑定):VPC 对在插件配置中定义。当检测到来自处于 VPC 对中的交换机的接口时,将在 APIC 上创建适当的 fabric 配置,以启用该接口作为 VPC/LACP 绑定的工作。

备选方案

数据模型影响

以下新模型由此驱动程序创建。请注意,这些特定于此驱动程序

  • ApicName:跟踪名称映射。

  • ApicKey:跟踪 APIC 上的持久配置,这些配置需要与驱动程序同步

  • HostLink:跟踪主机链路的连接性。

现有模型也有所更改。同样,所有内容都特定于 APIC

  • NetworkEPG:已删除;

  • PortProfile:已删除;

  • TenantContract:变为 RouterContract,因为合同现在将由路由器而不是租户考虑。

包含一个数据库迁移来创建这些模型的表。

REST API 影响

安全影响

通知影响

其他最终用户影响

如果使用该功能,则可能存在新的配置(用于 VPC 对)。此外,如果使用动态拓扑发现,则应将代理添加到所有计算节点,而该服务可能安装在云控制器上。

性能影响

APIC 管理器的事务模型在“本地”执行大量工作,并且在每个事务结束时仅进行 1 次 REST 调用。这将提高插件的响应速度。

其他部署者影响

主机连接的配置不再需要在配置文件中。

开发人员影响

实现

负责人

Ivar Lazzaro (mmaleckk)

Mandeep Dhami (mandeep-dhami)

工作项

  • APIC 机制驱动程序包;

  • APIC L3 驱动程序包;

  • 单元测试代码(APIC 特定)。

依赖项

测试

单元测试

文档影响

将更新配置参考指南。

参考资料