Nuage 插件的 Extraroute 扩展支持¶
https://blueprints.launchpad.net/neutron/+spec/extraroute-ext-support-for-nuage-plugin
为现有的 Nuage 网络插件添加 extraroute 扩展支持
问题描述¶
当前的 Nuage 插件不支持 Neutron 的 extra-route 扩展。Nuage 的 VSP 支持此功能,需要在插件代码中添加对扩展的支持。
提议的变更¶
在 Nuage 插件中添加扩展支持代码。
备选方案¶
无
数据模型影响¶
为了支持此功能,需要几个额外的表。一个是 neutron 中已存在的 routerroutes 表。该表不需要任何模式更改。第二个表是 Nuage 插件特定的。这将在新代码中添加。
它可能如下所示
class RouterRoutesMapping(model_base.BASEV2, models_v2.Route):
__tablename__ = 'routerroutes_mapping'
router_id = Column(String(36), ForeignKey('routers.id', ondelete="CASCADE"),
primary_key=True)
nuage_route_id = Column(String(36))
需要生成迁移脚本。
REST API 影响¶
无
安全影响¶
无
通知影响¶
无
其他最终用户影响¶
无
性能影响¶
无
其他部署者影响¶
无
开发人员影响¶
无
实现¶
Nuage 的 VSP 支持将静态路由添加到 L3 域,这与 openstack 的 neutron 支持的 extraroute 扩展非常吻合。
以下是 nuage 插件中 neutron 的工作流程映射
假设 router1 存在。步骤 1:neutron router-update router1 –routes type=dict list=true destination=15.0.0.0/24,nexthop=10.10.0.5 这将在 VSP 的 l3-domain router1 中创建一个静态路由条目
步骤 2:neutron router-update router1 –routes type=dict list=true destination=15.0.0.0/24,nexthop=10.10.0.5 destination=25.0.0.0/24,nexthop=10.10.0.6 这将向同一路由器添加另一个静态路由。
步骤 3:neutron router-update router1 –routes type=dict list=true destination=15.0.0.0/24,nexthop=10.10.0.5 这将删除步骤 2 的静态路由。
基本上,每次指定 routes 选项时,它都会将其视为一组新的值。因此,坚持这种相同的行为。
步骤 4:neutron router-update router1 –routes action=clear 清除所有静态路由。
负责人¶
Ronak Shah
- 主要负责人
ronak-malav-shah
其他贡献者
工作项¶
Nuage 插件中的扩展代码 Nuage 单元测试的添加 Nuage CI 覆盖率的添加
依赖项¶
无
测试¶
Nuage 单元测试中 extra-route 扩展的单元测试覆盖率 Nuage CI 将被修改以开始支持此扩展测试
文档影响¶
无
参考资料¶
无