You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Kenji Yasui 5745536aa8 Cleanup unused method get_plugin_version
This patch removes get_plugin_version because it's left over
from the original plugin api and is not in the current api.

Change-Id: Icc9f4e6074b30edfe46364819f812731ad514b47
8 years ago
db Empty files should not contain copyright or license 9 years ago
nos Migrate to oslo.log 8 years ago
tests Migrate to oslo.log 8 years ago Cleanup unused method get_plugin_version 8 years ago Switch from MySQL-python to PyMySQL 8 years ago Empty files should not contain copyright or license 9 years ago Python 3: Use six.moves.range 8 years ago

Brocade Openstack Neutron Plugin

Openstack Brocade Neutron Plugin implements the Neutron v2.0 API.

This plugin is meant to orchestrate Brocade VCS switches running NOS, examples of these are:

  1. VDX 67xx series of switches
  2. VDX 87xx series of switches

Brocade Neutron plugin implements the Neutron v2.0 API. It uses NETCONF at the backend to configure the Brocade switch.

         +------------+        +------------+          +-------------+
         |            |        |            |          |             |
         |            |        |            |          |   Brocade   |
         | Openstack  |  v2.0  |  Brocade   |  NETCONF |  VCS Switch |
         | Neutron    +--------+  Neutron   +----------+             |
         |            |        |  Plugin    |          |  VDX 67xx   |
         |            |        |            |          |  VDX 87xx   |
         |            |        |            |          |             |
         |            |        |            |          |             |
         +------------+        +------------+          +-------------+

Directory Structure

Normally you will have your Openstack directory structure as follows:


Within this structure, Brocade plugin resides at:



This plugin requires installation of the python netconf client (ncclient) library:

ncclient v0.3.1 - Python library for NETCONF clients available at

% git clone % cd ncclient; sudo python ./ install


  1. Specify to Neutron that you will be using the Brocade Plugin - this is done by setting the parameter core_plugin in Neutron:

     core_plugin = neutron.plugins.brocade.NeutronPlugin.BrocadePluginV2
  2. Physical switch configuration parameters and Brocade specific database configuration is specified in the configuration file specified in the brocade.ini files:

     % cat /etc/neutron/plugins/brocade/brocade.ini
     username = admin
     password = password
     address  = <switch mgmt ip address>
     ostype   = NOS
     connection = mysql+pymysql://root:pass@localhost/brocade_neutron?charset=utf8
     (please see list of more configuration parameters in the brocade.ini file)


Running with appropriate permissions will copy the default configuration file to /etc/neutron/plugins/brocade/brocade.ini. This file MUST be edited to suit your setup/environment.

  % cd /opt/stack/neutron/neutron/plugins/brocade
  % python


Please see special notes for devstack at:

In order to use Brocade Neutron Plugin, add the following lines in localrc, if localrc file doe not exist create one:

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

As part of running devstack/, the configuration files is copied as:

% cp /opt/stack/neutron/etc/neutron/plugins/brocade/brocade.ini /etc/neutron/plugins/brocade/brocade.ini

(hence it is important to make any changes to the configuration in: /opt/stack/neutron/etc/neutron/plugins/brocade/brocade.ini)