跳转到: 导航, 搜索

Brocade-neutron-plugin


Brocade Neutron Plugin


概述

Openstack 是一个开源的即服务 (IaaS) 基础设施计划,用于在云计算环境中创建和管理大型虚拟专用服务器组。 Brocade VDX/VCS Neutron 插件提供了一种接口,用于连接 Openstack 的网络 (以前称为 Quantum Networking),以协调 Brocade 的物理交换机。

在虚拟机由物理服务器托管的云环境中,虚拟机看到由宿主机提供的新虚拟访问层。 这种新的访问层可以通过多种机制创建,例如 Linux 网桥或虚拟交换机。 当设置虚拟访问层 (虚拟网络) 的策略时,现在必须将其与硬件交换机中设置的策略协调。 Brocade 的 Neutron 插件有助于自动协调此行为,无需管理员干预。



虚拟和物理网络编排



Brocade Neutron Plugin 实现了 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 Plugin 的情况)

通常,您的 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 Plugin,如果 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


示例拓扑

BQP Application.png