思科 APIC 的三层服务插件

https://blueprints.launchpad.net/neutron/+spec/cisco-apic-l3

此蓝图旨在通过使用思科 APIC 的三层路由器服务插件,在网络结构中实现三层功能。

流程

../../_images/cisco-apic-l3-flow.png

问题描述

APIC(应用策略基础设施控制器)与思科 Nexus 9000 交换机一起提供可编程、基于策略的网络控制。

拟议的服务插件将与 APIC 交互,以动态配置网络结构中三层租户间和租户内的通信。

提议的变更

本提案旨在引入一个新的三层服务插件,该插件与 APIC 通信。

该驱动程序实现以下 neutron 事件:* 添加新的路由器接口 * 删除路由器接口

该插件将使用一种称为“合约”的结构来实现三层通信,该结构在各种端点组(Neutron 网络)之间提供网络结构中的通信。

触发端点组和子网创建的事件(即 create_network 和 create_subnet)将由 APIC ML2 机制驱动程序处理,并且 ID 将存储在由通用客户端和管理器类访问的数据库中。

由于本文档撰写时的硬件限制,此服务插件仅处理 add/remove router_interface(内部网关)事件。未来,该服务插件可能会扩展到处理所有 neutron L3 事件。

备选方案

另一种方法是使用开源代理程序的三层路由器插件。基于代理程序的方法未实现任何以 APIC 的 ACI(应用为中心的基础设施)为中心的设计策略。

数据模型影响

n.a.

REST API 影响

n.a

安全影响

n.a

通知影响

n.a.

其他最终用户影响

n.a.

性能影响

服务插件被触发而不是轮询,没有对任何现有代码模式的更改。此插件的潜在瓶颈是 neutron 和 APIC 之间的链接。

其他部署者影响

没有特定于三层插件的配置选项,它依赖于 ML2 apic 机制驱动程序的配置选项。

开发人员影响

n.a.

实现

负责人

Arvind Somya <asomya>

工作项

三层 APIC 服务插件的单个工作项。

依赖项

依赖于 APIC ML2 蓝图: https://blueprints.launchpad.net/neutron/+spec/ml2-cisco-apic-mechanism-driver

测试

包含代码的完整单元测试覆盖率。

对于 tempest 测试覆盖,提供第三方测试。Cisco CI 报告所有影响此驱动程序的变化。测试在一个 OpenStack 部署(devstack)连接到实时 APIC 和 Cisco Nexus 9000 物理交换机的设置中运行。

文档影响

有关如何配置和部署此服务插件的部署文档将在 Openstack wiki 中记录。

参考资料

http://www.cisco.com/go/apic