Install EFA OpenStack Neutron Plug-in

This section provides information required to install Extreme Fabric Automation OpenStack Neutron plug-in on Ubuntu.

Before you begin

The prerequisites for installing EFA OpenStack Neutron plug-in are as follows:
  • Working knowledge of Ubuntu Linux
  • Experience in OpenStack deployment
  • Experience in managing EFA 2.x.x
  • Network nodes are prepared as required
  • All OpenStack compute, network, and controller node hostname name resolutions are setup (fully qualified Host names (fqdn) are not supported for beta release)
  • All OpenStack nodes are configured with unique hostnames
  • Working EFA Fabric using efa cli/rest
  • OpenStack nodes are connected to the leaf switches either in direct mode, VPC, or bonded mode
  • Bonding setup is done using 802.3ad
Note

Note

EFA OpenStack Neutron plug-in supports only Extreme specific OpenStack services. If other OpenStack services are required, install the respective plug-ins prior to EFA OpenStack Neutron plug-in installation.

All network and server connection settings and mappings can be saved to csv files for bulk configuration using the startup file option in the ml2_conf_extreme.ini file.

Procedure

  1. Log in to the network node using SSH and go to the EFA folder.
    # cd efa
  2. Install the EFA OpenStack plug-in debian packages.
    # dpkg -i networking_extreme*deb
  3. Note the Neutron configuration file layout.
    • Neutron configuration: /etc/neutron/neutron.conf
    • ML2 plug-in configuration: /etc/neutron/plugins/ml2/ml2_conf.ini
    • Extreme EFA Mechanism driver or topology configuration: /etc/neutron/plugins/ml2/ml2_conf_extreme.ini
  4. Configure the M12 core_plugin in the neutron.conf file.
    Do not enable the reference router plug-in.
    [DEFAULT]
    core_plugin=ml2
    service_plugins = extreme_l3_efa, trunk, segments, efa_topology_plugin
  5. Copy the ml2_conf_extreme.ini file provided with TAR to the /etc/neutron/plugins/ml2/ml2_conf_extreme.ini file.
  6. Enable Neutron in the ml2_conf_extreme.ini file to communicate with EFA.
    [ml2_extreme]
    efa_rest_token = extremenetworks_user_auth_key
    efa_port = 80
    efa_host = <ip-where-efa-is-running>
    region_name = RegionOne (unique name for each VIM)
    
  7. Enable the Neutron EFA extension plug-in in the ml2_conf_extreme.ini file to build initial physical topology between OpenStack Compute nodes and TOR switches.
    [efa_topology]
    efa_pn_mapping_file = /home/ubuntu/pn.csv
    efa_link_mapping_file = /home/ubuntu/link.csv
  8. Enable Extreme EFA mechanism drivers in Ml2_conf.ini.
    Ml2_conf.ini 
    [ml2] 
    tenant_network_types = vlan 
    type_drivers = vlan 
    mechanism_drivers = openvswitch,extreme_efa 
    [ml2_type_vlan] 
    network_vlan_ranges = physnet1:100:500 (Required vlan range) 
    [ovs] 
    bridge_mappings = physnet1:br0 (bridge used for datapath)
  9. Modify the system unit file to start Neutron with ml2_conf_extreme.ini.
    # ExecStart = /usr/local/bin/neutron-server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini  --config-file /etc/neutron/plugins/ml2/ml2_conf_extreme.ini 
    
    # systemctl daemon-reload
    On DevStack installation, modify the /etc/systemd/system/devstack@q-svc.service file.
  10. Restart the Neutron server.
    # systemct1 restart

    On Opensource installation, use the sudo service neutron-* restart command.

    On DevStack installation, use the sudo systemctl restart devstack@q-svc.service command.

  11. Verify if the status of the Neutron server is Active and confirm the following:
    • Neutron service started with the ml2_confi_extreme.ini file.
    • efa-topology extension is loaded using OpenStack extension show efa-topology.
    # sudo systemctl status devstack@q-svc.service
    On Opensource stack installation, use the sudo service neutron-* status command.