PLUMgrid-Neutron

= PLUMgrid OpenStack Networking Suite Neutron Plugin = --

Overview
PLUMgrid OpenStack Networking Suite Neutron Plugin v2 implements the Neutron v2.0 API.

Requirements

 * PLUMgrid IO Visor 2.1.12 (or higher)
 * PLUMgridLibrary

Supported APIs and API Extensions

 * Networks
 * Subnets
 * Ports
 * External Networks
 * Routers
 * Security Groups
 * Quotas
 * Port Binding
 * Provider Networks

Plugin configuration (Neutron server node)

 * MySQL should be installed on the host. Initialize MySQL as follows (where $PASS = mysql password):

$ mysql -u root -p$PASS -e 'DROP DATABASE IF EXISTS plumgrid_neutron;' $ mysql -u root -p$PASS -e 'CREATE DATABASE IF NOT EXISTS plumgrid_neutron;' $ mysql -u root -p$PASS -e 'GRANT ALL ON plumgrid_neutron.* TO '$Neutron_User'@'%' IDENTIFIED BY '$Neutron_Pass';


 * Edit /etc/neutron/neutron.conf and set provider as:

[DEFAULT] core_plugin = neutron.plugins.plumgrid.plumgrid_plugin.plumgrid_plugin.NeutronPluginPLUMgridV2

[DATABASE] sql_connection = mysql:// : @:3306/plumgrid_neutron


 * Edit /etc/nova/nova.conf and set provider as:

libvirt_vif_driver = nova.virt.libvirt.vif.LibvirtGenericVIFDriver libvirt_vif_type=ethernet


 * Edit /etc/neutron/plugins/plumgrid/plumgrid.ini (replace as required):

[PLUMgridDirector] director_server= director_server_port= username= password=

[l2gateway] vendor =  sw_username =  sw_password = 


 * Edit /etc/neutron/plugins/plumgrid/plumlib.ini (replace as required):

[PLUMgridMetadata] enable_pg_metadata = True metadata_mode = local nova_metadata_subnet =  nova_metadata_ip =  nova_metadata_port = 8775 metadata_proxy_shared_secret = 

[keystone_authtoken] admin_user =  admin_password =  auth_uri = ://:35357/v2.0/ admin_tenant_name =  identity_version = <Keystone_Identity_Version> user_domain_name = <Keystone_User_Domain_Name>

[ConnectorType] connector_type = distributed

Configuration Example

 * /etc/neutron/plugins/plumgrid/plumgrid.ini:

[DATABASE] sql_connection = mysql://root:nova@127.0.0.1:3306/plumgrid_neutron

[PLUMgridDirector] director_server=10.1.1.100 director_server_port=8080 username=plumgrid password=password


 * /etc/neutron/plugins/plumgrid/plumlib.ini:

[PLUMgridMetadata] enable_pg_metadata = True metadata_mode = local nova_metadata_subnet = 169.254.169.254/30 nova_metadata_ip = 127.0.0.1 nova_metadata_port = 8775 metadata_proxy_shared_secret = changeme

[keystone_authtoken] admin_user = plumgrid admin_password = password auth_uri = http://127.0.0.1:35357/v2.0/ admin_tenant_name = admin_tenant identity_version = v3.0 user_domain_name = Default

cd <neutron_path> && python <neutron_path>/bin/neutron-server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/plumgrid/plumgrid.ini
 * Start the neutron service by providing the relevant configuration files

Plugin configuration (Compute nodes)
nova ALL=(root) NOPASSWD: /opt/pg/bin/ifc_ctl_pp *
 * Sudoedit /etc/sudoers.d/ifc_ctl_sudoers and add the following line

$ chmod 0440 /etc/sudoers.d/ifc_ctl_sudoers
 * Change mode of /etc/sudoers.d/ifc_ctl_sudoers

net.ipv4.ip_forward = 1
 * Enable IP forwarding. Edit /etc/sysctl.conf and add the following line

$ sysctl -p /etc/sysctl.conf
 * Run the following command to enable the changes made in /etc/sysctl.conf

PLUMgrid OpenStack Networking Suite Neutron Plugin Unit Tests
cd <neutron_path> ./run_tests.sh neutron.tests.unit.plumgrid.test_plumgrid_plugin

Devstack
Include in "localrc" file the following variables:

PLUMGRID_DIRECTOR_IP = 10.1.1.100

PLUMGRID_DIRECTOR_PORT = 8080