为代理和非 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 中添加新的参数。

剧本影响

  1. 在 juno 中,预计将修改以下文件

  • openstack/roles/neutron_common.yml

  • openstack/inventory/group_vars/neutron_all.yml

  1. 在 master 中,将修改这些文件

  • playbooks/roles/os_neutron/tasks/neutron_post_install.yml

  • playbooks/roles/os_neutron/defaults/main.yml

升级影响

备选方案

使用当前架构,非 ml2 的潜在新插件必须采用覆盖默认配置,完成后再插入其自身更改的方式。

安全影响

目前尚无已知问题。

性能影响

预计此更改不会影响性能。现在安装默认的代理和插件集合将花费相同的工作量。

最终用户影响

预计这不会影响最终用户,因为它仅处理部署方面。

部署者影响

这将为部署者引入更模块化的架构,可以从中选择 Neutron 插件/代理,从而允许这些剧本更广泛的应用场景。

开发人员影响

使用默认值不需要新的开发工作,只有那些对更改 Neutron 配置感兴趣的人才会受到影响。

依赖项

N/A

实现

负责人

主要负责人

https://launchpad.net/~javeria-ak

工作项

此更改将包括修改现有的 neutron_common 角色,以选择要安装的插件以及要使用的代理。各个插件的名称和配置将作为 inventory/group_vars/neutron_all.yml 中的新变量创建。

依赖项

N/A

测试

当前测试和/或门控框架中不需要额外的更改来测试此功能。

文档影响

需要一些额外的文档来描述如何插入新的插件/代理。这将是部署者文档。

参考资料

N/A