Appendix A- ML2 Plugin Installation: PackStack Deployment

For details on installing PackStack deployment, refer to PackStack page:

To download, install, and configure the Pluribus OpenStack ML2 plugin:

  1. Install the Pluribus ML2 Plugin package on to a RedHat Openstack Controller:

    1. Obtain Pluribus ML2 plug in from Pluribus TAC
    2. Extract the tarbal of Pluribus ML2 plugin and cd to the directory that is extracted out of the tarbal and then do: cd networking-pluribus
    3. sudo python install

  1. Edit entry_points.txt file in neutron.egg-info


pluribus = networking_pluribus.mech_driver.driver:PluribusMechanismDriver

For example:

pip show neutron

cd /usr/lib/python2.7/site-packages/neutron-12.0.5-py2.7.egg-info

Edit entry_points.txt

  1. Edit the /etc/neutron/plugins/ml2/ml2_conf.ini, add "pluribus" to mechanism drivers, and add the PLURIBUS_PLUGINS section: mechanism_drivers=openvswitch,baremetal,pluribus


# Pluribus switch IP address


# pn_switch =,


# Pluribus switch username and password for REST api access


# username = network-admin


# password = <base 64 encoded password>

The Format of specifying the Pluribus switch is: pn_switch,<primary_ip:web_port>,<secondary_ip:web_port>

Note: Because the  Pluribus ML2 plugin uses RESTful APIs to configure the Unified Cloud Fabric, you must select two seed nodes in the fabric that can act as the primary node and the secondary node for the REST API to parse. Enter the management IP addresses of the selected seed nodes (primary and secondary) as the primary_ip and the  secondary_ip respectively in the above configuration.  Ensure to enter the IP addresses without giving space between primary IP address and secondary IP address as shown in the example above.

Note: You must enable web services on these selected (primary and secondary) nodes.  

The web port for each switch can  be obtained from the show output of the Netvisor ONE CLI command,  admin-service-show on the Pluribus switch. The web port can be any configurable port on the switch. 

Note: The ml2_conf.ini and entry_points.txt are available in the path:  /var/lib/config-data/puppet-generated/neutron/etc/neutron/plugins/ml2/ and are used by the neutron-server installed on the neutron_api docker container.

  1. Restart neutron-server service:

sudo systemctl restart neutron-server

  1. Check the Neutron logs and verify the status of neutron-server service from: /var/log/neutron/server.log

sudo systemctl status neutron-server

Note: Adding the pluribus keyword to the ml2_conf.ini file ensures the Neutron server to fetch Pluribus ML2 driver while configuring the network.