Home OpenStack-Ansible Installation Guide

Appendix E. Using PLUMgrid Neutron Plugin

Installing Source and Host Networking

  1. Clone the PLUMgrid ansible repository under the /opt/ directory:

    # git clone -b TAG https://github.com/plumgrid/plumgrid-ansible.git /opt/plumgrid-ansible
    

    Replace ``TAG`` with the current stable release tag.

  2. PLUMgrid will take over networking for the entire cluster; therefore the bridges br-vxlan and br-vlan will only need to be present to avoid relevant containers from erroring out on infra hosts. They do not need to be attached to any host interface or a valid network.

  3. PLUMgrid requires two networks, a Management and a Fabric network. Management is typically shared via the standard br-mgmt and Fabric must be specified in the PLUMgrid configuration file described below. Furthermore the Fabric interface must be untagged and unbridged.

Neutron Configurations

To setup the neutron configuration to install PLUMgrid as the core neutron plugin, create a user space variable file /etc/openstack_deploy/user_pg_neutron.yml and insert the following parameters:

  1. Set the neutron_plugin_type parameter to plumgrid in this file:

    # Neutron Plugins
    neutron_plugin_type: plumgrid
    
  2. Also in the same file, disable the installation of unnecessary neutron-agents in the neutron_services dictionary, by setting their service_en parameters to False

    neutron_metering: False
    neutron_l3: False
    neutron_lbaas: False
    neutron_lbaasv2: False
    neutron_vpnaas: False
    

PLUMgrid Cofigurations

On the Deployment Host create a PLUMgrid user variables file, using the sample in /opt/plumgrid-ansible/etc/user_pg_vars.yml.example and copy it to /etc/openstack_deploy/user_pg_vars.yml. The following parameters must be configured:

  1. Replace PG_REPO_HOST with a valid repo URL hosting PLUMgrid packages.

    plumgrid_repo: PG_REPO_HOST
    
  2. Replace INFRA_IPs with comma separated Infrastructure Node IPs and PG_VIP with an unallocated IP on the management network, this will be used to access the PLUMgrid UI.

    plumgrid_ip: INFRA_IPs
    pg_vip: PG_VIP
    
  3. Replace FABRIC_IFC with the name of the interface that will be used for PLUMgrid Fabric. [Note: PLUMgrid Fabric must be an untagged unbridged raw interface such as eth0]

    fabric_interface: FABRIC_IFC
    
  4. To override the default interface names with another name for any particular node fill in the fabric_ifc_override and mgmt_override dicts with node hostname: interface_name as shown in the example file.

  5. Obtain a PLUMgrid License file, rename to pg_license and place it under /var/lib/plumgrid/pg_license on the Deployment Host.

Gateway Hosts

PLUMgrid enabled OpenStack clusters contain one or more Gateway Nodes that are used for providing connectivity with external resources such as external networks (Internet), bare-metal servers or network service appliances. In addition to the Management and Fabric networks required by PLUMgrid nodes, Gateways require dedicated external interfaces referred to as gateway_devs in the confgiuration files.

  1. To add Gateways Hosts, add a gateway_hosts section to /etc/openstack_deploy/openstack_user_config.yml as shown below:

    gateway_hosts:
      gateway1:
        ip: GW01_IP_ADDRESS
      gateway2:
        ip: GW02_IP_ADDRESS
    

    Replace *_IP_ADDRESS with the IP address of the br-mgmt container management bridge on each Gateway host.

  2. Also add a gateway_hosts section to the end of the PLUMgrid user_pg_vars.yml file described in the section above. This must contain hostnames and gateway_dev names for each Gateway in the cluster.

    gateway_hosts:
     - hostname: gateway1
       gateway_devs:
       - eth3
       - eth4
    

Installation

  1. Run the PLUMgrid playbooks with (do this before the openstack-setup.yml playbook is run):
cd /opt/plumgrid-ansible/plumgrid_playbooks
openstack-ansible plumgrid_all.yml

Note: Contact PLUMgrid for an Installation Pack info@plumgrid.com (includes full/trial license, packages, deployment documentation and automation scripts for the entire workflow described above)