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.


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).


See the F5 Driver for OpenStack LBaaSv2 user documentation.



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.


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


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


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


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.


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_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
    service_plugins = [already defined plugins],neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2


    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