为代理和非 ml2 插件支持模块化 Neutron 剧本¶
- 日期:
2015-03-30 16:35
- 标签:
neutron, 插件, 代理
本规范旨在增强当前 Neutron 剧本,使其不再采用静态方式插入插件和代理。目前默认使用 ml2 和一些代理。
问题描述¶
目前,不存在直接的方法来添加新的插件以及添加/删除 Neutron 设置中的代理。部署者要么必须在整个设置完成后进行这些更改,要么必须在剧本中进行自己的更改。
提议的变更¶
此功能建议同时应用于 master 和 juno 分支,juno 的工作将首先进行
1. 对于 juno,将修改 openstack/roles/neutron_common.yml 以通过在 inventory/group_vars/neutron_all 中定义的新变量来安装可配置的插件和代理列表。这些新变量的默认值将是当前安装的代理和插件集合。
2. 对于 master,将修改 playbooks/roles/os_neutron/tasks 文件,特别是 neutron_post_install.yml。将在 playbooks/roles/os_neutron/defaults/main.yml 中添加新的参数。
剧本影响¶
在 juno 中,预计将修改以下文件
openstack/roles/neutron_common.yml
openstack/inventory/group_vars/neutron_all.yml
在 master 中,将修改这些文件
playbooks/roles/os_neutron/tasks/neutron_post_install.yml
playbooks/roles/os_neutron/defaults/main.yml
升级影响¶
无
备选方案¶
使用当前架构,非 ml2 的潜在新插件必须采用覆盖默认配置,完成后再插入其自身更改的方式。
安全影响¶
目前尚无已知问题。
性能影响¶
预计此更改不会影响性能。现在安装默认的代理和插件集合将花费相同的工作量。
最终用户影响¶
预计这不会影响最终用户,因为它仅处理部署方面。
部署者影响¶
这将为部署者引入更模块化的架构,可以从中选择 Neutron 插件/代理,从而允许这些剧本更广泛的应用场景。
开发人员影响¶
使用默认值不需要新的开发工作,只有那些对更改 Neutron 配置感兴趣的人才会受到影响。
依赖项¶
N/A
实现¶
负责人¶
工作项¶
此更改将包括修改现有的 neutron_common 角色,以选择要安装的插件以及要使用的代理。各个插件的名称和配置将作为 inventory/group_vars/neutron_all.yml 中的新变量创建。
依赖项¶
N/A
测试¶
当前测试和/或门控框架中不需要额外的更改来测试此功能。
文档影响¶
需要一些额外的文档来描述如何插入新的插件/代理。这将是部署者文档。
参考资料¶
N/A