Brocade-neutron-plugin
Brocade Neutron 插件
概述
Openstack 是一个开源的即服务 (IaaS) 基础设施,用于在云计算环境中创建和管理大型虚拟专用服务器组。 Brocade VDX/VCS 的 Neutron 插件提供了一种接口,用于连接 Openstack 的网络 (以前称为 Quantum Networking),以编排 Brocade 的物理交换机。
在虚拟机由物理服务器托管的云环境中,虚拟机看到由宿主机提供的新的虚拟访问层。 这个新的访问层可以通过多种机制创建,例如 Linux 网桥或虚拟交换机。 当设置虚拟访问层 (虚拟网络) 的策略时,现在必须将其与硬件交换机中设置的策略协调。 Brocade 的 Neutron 插件有助于自动协调此行为,无需管理员干预。
Brocade Neutron 插件实现了 Neutron v2.0 API。 运行 NOS (例如 VDX 67xx, VDX 87xx) 的交换机受支持。 它在后端使用 NETCONF 来配置 Brocade 交换机。
该插件在“Neutron 网络”和虚拟机的生命周期中的适当时间编排虚拟网络和物理网络。
+------------+ +------------+ +-------------+
| | | | | |
| | | | | Brocade |
| Openstack | v2.0 | Brocade | NETCONF | VCS Switch |
| Neutron +--------+ Neutron +----------+ |
| | | Plugin | | VDX 67xx |
| | | | | VDX 87xx |
| | | | | |
| | | | | |
+------------+ +------------+ +-------------+
目录结构
(此段落仅在您从位于 http://www.github.com/brocade/brocade 的仓库下载 Brocade Neutron 插件时相关)
通常,您的 Openstack 目录结构如下
/opt/stack/nova/ /opt/stack/horizon/ /opt/stack/neutron/neutron/plugins/
此仓库代表将被放入 brocade 目录的代码
/opt/stack/neutron/neutron/plugins/brocade
先决条件
ncclient v0.3.1 - NETCONF 客户端的 Python 库。 http://github.com/brocade/ncclient
% git clone https://www.github.com/brocade/ncclient % cd ncclient; sudo python ./setup.py install
配置
1. 向 Neutron 指定您将使用 Brocade 插件 - 这通过在 Neutron 中设置 core_plugin 参数来完成
core_plugin = neutron.plugins.brocade.NeutronPlugin.BrocadePluginV2
2. 物理交换机配置参数和 Brocade 特定的数据库配置在 brocade.ini 文件中指定的配置文件中指定
% cat /etc/neutron/plugins/brocade/brocade.ini [SWITCH] username = admin password = password address = <switch mgmt ip address> ostype = NOS [DATABASE] sql_connection = mysql://root:pass@localhost/brcd_Neutron?charset=utf8
请参阅 brocade.ini 文件中更多可配置参数的列表。
运行 Setup.py
使用适当的权限运行 setup.py 会将默认配置文件复制到 /etc/Neutron/plugins/brocade/brocade.ini。 必须编辑此文件以适应您的设置/环境。
% cd /opt/stack/neutron/neutron/plugins/brocade % python setup.py
Devstack
请参阅 devstack 的特殊说明:https://wiki.openstack.org/brocade-Neutron-plugin
Brocade Neutron 插件经过测试可在 Redhat 和 Ubuntu 版本上工作。 Devstack 通常由非 root 用户 'stack' 运行。 建议在您的 Linux 机器上创建一个 userid 'stack'。
% cd /home/stack % git clone https://www.github.com/brocade/devstack % cd devstack
为了使用 Brocade Neutron 插件,请在 localrc 中添加以下行,如果 localrc 文件不存在,您可能需要创建一个
ENABLED_SERVICES=g-api,g-reg,key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,cinder,c-sch,c-api,c-vol,n-sch,n-novnc,n-xvnc,n-cauth,horizon,rabbit,neutron,q-svc,q-agt Q_PLUGIN=brocade
作为使用 devstack 的一部分,上述文件从 Neutron 复制到其最终目的地。 因此,建议适当地编辑这些文件。
/opt/stack/neutron/etc/neutron.conf -> /etc/neutron/neutron.conf /opt/stack/neutron/etc/neutron/plugins/brocade/brocade.ini -> /etc/neutron/plugins/brocade/brocade.ini
因此,对配置进行任何更改非常重要
/opt/stack/neutron/etc/neutron/plugins/brocade/brocade.ini
以如下方式运行 devstack
% cd /home/stack/devstack; ./stack.sh
