Appendix A- ML2 Plugin Installation: PackStack Deployment
For details on installing PackStack deployment, refer to PackStack page: https://www.rdoproject.org/install/packstack/
To download, install, and configure the Pluribus OpenStack ML2 plugin:
- Install the Pluribus ML2 Plugin package on to a RedHat Openstack Controller:
- Clone the github repository: https://github.com/PluribusTME/PNopenstack.
- Change the directory to:
cd to PNopenstack/networking-pluribus
- sudo python setup.py install
- Edit entry_points.txt file in neutron.egg-info
[neutron.ml2.mechanism_drivers]
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
- 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_PLUGINS]
# Pluribus switch IP address
#
# pn_switch = 10.20.20.20:80,10.20.20.21:80
#
# 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 Adaptive 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.
- Restart neutron-server service:
sudo systemctl restart neutron-server
- 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.