Neutron/LBaaS/HavanaPlan
1. 与服务类型框架的集成
- amend LBaaS extension and DB model to work with service type parameter (VIP, pool) - integrate service types with LBaaS plugin to use service types in (2) - client support for service types
相关蓝图
https://blueprints.launchpad.net/quantum/+spec/service-type-framework-cleanup
https://blueprints.launchpad.net/quantum/+spec/lbaas-integration-with-service-types
计划交付:Havana-2。
交付成果
- 用于获取服务提供商的新 API(服务类型框架)
- 客户端在创建池时指定服务提供商的新工作流。
- quantumclient 和 Horizon 中的相应更改
2. LBaaS 插件的驱动框架。
蓝图:https://blueprints.launchpad.net/quantum/+spec/multi-vendor-support-for-lbaas
计划交付:Havana-1。
交付成果
- 插件端驱动程序的接口
- 加载插件端驱动程序并将其调用分派到适当驱动程序的 инфраструктура
理由:基本的 LBaaS 插件提供了合理的功能。但是,与后端服务器的交互对于不同的供应商可能不同。这不仅仅是关于设备访问,而是主要关于请求如何到达设备驱动程序。这里有几种可能的选项
1) 当前实现。插件向代理发送通知,代理从插件拉取配置。
2) “高级参考实现”。我们可能希望改进参考实现以采用代理-调度器方法。
3) 请求代理。在请求通过持久层(db 插件)后,它被传递到外部组件,该组件负责选择设备、应用配置等。
4) 被动代理。插件执行设备选择,然后将包含设备信息的 CRUD 请求发送到代理,代理将其转换为驱动程序并传递设备信息。
因此,我们可以在插件端创建几个驱动程序,这些驱动程序将采用这些方法。例如,对于参考实现,这样的驱动程序将由发送通知或不发送通知的请求组成。驱动程序使用默认 service_type 或请求中提供的类型(参见 (1))进行选择
有关更多详细信息,请参阅 LBaaS/PluginDrivers
3. 改进对象监控
通过添加 PENDING_DELETE 并确保任何对象在其生命周期内都通过所有必要的状态来改进 DB 插件和代理。
4. 设备清单组件。
蓝图:https://blueprints.launchpad.net/quantum/+spec/device-inventory-management
交付成果
- 负责将设备添加到数据库的组件:API 扩展、对象模型、CLI 界面
计划交付:Havana-2。
理由:某些供应商的实现可能需要存储可用的设备及其参数,以选择逻辑配置将部署到哪个实例。这样的组件可以被设计为通用,以支持不同类型的服务设备:负载均衡器、VPN、防火墙等。
5. 路由插入实现
这是一个复杂的通用功能,可以被任何可以充当路由器的服务实例(设备)利用。
这些是使 LBaaS 准备就绪的核心功能。
其他附加功能(除了供应商驱动程序)可能包括
1. 参考实现的代理调度支持。
改进参考实现以允许类似于 DHCP 的调度
蓝图:https://blueprints.launchpad.net/quantum/+spec/lbaas-agent-scheduler
2. VM 上的 HAProxy
这可能需要在 nova 客户端之上需要额外的通用库,该库允许管理虚拟设备生命周期。
3. 具备能力的客户端或 UI
为客户端和 UI 提供 API 以列出给定驱动程序或服务类型支持的选项。
