F5 Driver for OpenStack LBaaSv2

Build Status

version 13.0.2

Release Notes

The F5 Driver for OpenStack LBaaSv2 is a Neutron LBaaSv2 service provider driver (f5lbaasdriver) that runs within the OpenStack Neutron controller. The F5 driver is an alternative to the default Neutron LBaaS service provider driver. It enables use of F5 BIG-IP Local Traffic Manager services in an OpenStack cloud.

Architecture

The F5 Driver for OpenStack LBaaSv2 runs within the OpenStack Neutron controller processes. It watches the Neutron RPC messaging queue for calls to the Neutron LBaaS API and schedules tasks to the F5 Agent for OpenStack Neutron. The F5 Agent for OpenStack Neutron uses iControl REST API calls to apply the desired configurations to BIG-IP device(s).

Guides

See the F5 Driver for OpenStack LBaaSv2 user documentation.

Installation

Important

F5 Service Provider Package

The F5 service provider package preps your Neutron installation for use with the F5 Driver for OpenStack LBaaSv2. This is a required package. The F5 OpenStack LBaaS Solution will not work if this package isn’t installed.

You’ll need to download the F5 LBaaSv2 service provider package and add it to the python path for neutron_lbaas, then download and install the F5 driver.

Debian

curl -O -L https://github.com/F5Networks/neutron-lbaas/releases/download/v10.0.0/f5.tgz
sudo tar xvf f5.tgz -C /usr/lib/python2.7/dist-packages/neutron_lbaas/drivers/
curl –L –O https://github.com/F5Networks/f5-openstack-lbaasv2-driver/releases/download/v13.0.2/python-f5-openstack-lbaasv2-driver_13.0.2-1_1404_all.deb
dpkg –i python-f5-openstack-lbaasv2-driver_13.0.2-1_1404_all.deb

Pip

Download and install the F5 service provider package, then pip install the package from GitHub.

pip install git+https://github.com/F5Networks/f5-openstack-lbaasv2-driver@v13.0.2

Tip

Use @<branch-name> to install from HEAD on a specific branch. For example:

pip install git+https://github.com/F5Networks/f5-openstack-lbaasv2-driver@queens

RPM

curl -O -L https://github.com/F5Networks/neutron-lbaas/releases/download/v10.0.0/f5.tgz
sudo tar xvf f5.tgz -C /usr/lib/python2.7/site-packages/neutron_lbaas/drivers/
curl –L –O https://github.com/F5Networks/f5-openstack-lbaasv2-driver/releases/download/v13.0.2/f5-openstack-lbaasv2-driver-13.0.2-1.el7.noarch.rpm
rpm –ivh f5-openstack-lbaasv2-driver-13.0.2-1.el7.noarch.rpm

Neutron Setup

Take the steps below to tell Neutron to use the F5 service provider driver and the LBaaSv2 service plugin.

Note

The config file names/locations may vary depending on your OpenStack platform. See Partners for a list of F5’s certified OpenStack distribution partners and links to their documentation.

  1. Add ‘F5Networks’ to the service_providers section of the Neutron LBaaS config file: /etc/neutron/neutron_lbaas.conf as shown below.

    $ vim /etc/neutron/neutron_lbaas.conf
    ...
    [service_providers]
    service_provider = LOADBALANCERV2:F5Networks:neutron_lbaas.drivers.f5.driver_v2.F5LBaaSV2Driver:default
    ...
    
  2. Add the LBaaSv2 service plugin to the [DEFAULT] section of the Neutron config file: /etc/neutron/neutron.conf.

    $ vi /etc/neutron/neutron.conf
    ...
    [DEFAULT]
    service_plugins = [already defined plugins],neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2
    ...
    

    Note

    If you have previously used the LBaaSv1 service plugin (lbaas), remove it. The two cannot run simultaneously.

  3. Restart Neutron

    $ sudo service neutron-server restart    \\ Ubuntu
    $ sudo systemctl restart neutron-server  \\ CentOS