Neutron/ModularL2Agent
< Neutron
我们正在收集关于构建模块化 L2 agent 的可能方向的信息。
简介
随着 L2 agent 的数量增加,并考虑到这些 agent 之间的相似性,我们正在努力识别构建统一 L2 agent 的可能策略,以减少 L2 agent 当前使用的冗余代码量。 此外,随着越来越多的插件和机制驱动程序被添加,那些需要 L2 agent 的插件可以从模块化 L2 agent 中受益,并可能使用适合它们的 agent 部分。
这项工作旨在设计和开发一个框架,以降低维护 agent 代码的成本,并减少构建新 agent 所需的精力。 此外,我们将研究在提高 agent 的性能和稳定性方面可能的机遇。 虽然这项工作的重点是 L2 agent,但我们可能会研究为所有 Neutron agent 建立一个框架。
这里是 Juno 设计会议的 ether pad: juno/neutron/modular-l2-agent
可能方向
Agent 驱动程序
可能的方向之一是根据 ML2 插件的组织方式来建模 L2 agent,并提供对“驱动程序”的支持。
扩展驱动程序
另一个方向是将对核心 API 的支持与插件支持的扩展区分开来。 目前,安全组和 l2pop 使用 L2 agent,并且随着 ML2 插件和机制驱动程序支持任意数量的扩展的提案,其他扩展可能需要 L2 agent 的支持。 一种可能的解决方案是为每个扩展提供可插拔的驱动程序。 需要解决的突出问题是这些驱动程序之间的协调机制。
相关设计会议和蓝图
- 对机制驱动程序特定扩展的支持: 设计会议 和 蓝图
- DVR 进度更新会议: 设计会议
- 支持为每个功能/扩展使用多个 OVS 交换机: 这里
- 基于 OVS 的安全组: 这里
- 配置 agent: 这里
- 设备 agent: 这里
比较图
| openvswitch | linuxbridge | hyperv | ofagent | mlnx | |
| 监控 | ovsdb | OS | Msvm | 目前 ovsdb。 计划:OpenFlow |
OS |
| 流 | ovs-ofctl | - | 嵌入式 OF 控制器 | ||
| 本地隔离 | vlan 标签 | 桥接/vlan | 目前 VLAN 标签。 计划:OF 元数据 |
vlan 标签 | |
| 安全组 | Y | Y | Y | Y | N |
| L2pop | Y | Y | N | N | N |
相关文档
- openvswitch 和 ofagent (当前和计划) agent 之间的差异摘要列于 这里