Important

End of Software Development for F5 OpenStack LBaaS version 1

F5 announces the End of Software Development (EoSD) for the F5 OpenStack LBaaS version 1 integration, effective October 1, 2016. This announcement is in compliance with the OpenStack community deprecation of the OpenStack Neutron LBaaS version 1 plugin. Customers are encouraged to move to OpenStack LBaaS version 2.

F5 will continue to repair defects and perform maintenance on the F5 OpenStack LBaaS version 1 integration until the Openstack Ocata release in April 2017.

For additional information, please refer to the F5 OpenStack Releases and Support Matrix.

Deploying the F5® OpenStack LBaaSv1 Plugin

Introduction

The most basic deployment consists of one F5® OpenStack LBaaSv1 driver and one LBaaSv1 agent installed on the same Neutron controller. This is the recommended configuration for testing / POCs. Scale out and redundant installations can be added at any time.

Before you begin

You will need the following to use the F5 OpenStack LBaaSv1 plugin.

  • Licensed BIG-IP (hardware or virtual edition)
  • OpenStack Mitaka Neutron network deployment

Note

In order to use the Neutron command set, you need source a user file that has admin permissions.

$ source keystonerc_admin

Downloads

You can download a release package directly from GitHub using curl or wget. Then, un-tar the package into the location of your choice.

Tip

Replace “<version_number>” with the version appropriate for your environment.

Example:

# curl -L -O https://github.com/F5Networks/f5-openstack-lbaasv1/releases/download/9.0.1final/f5-lbaasv1_9.0.1final.tgz
# tar -xf f5-lbaasv1_9.0.1final.tgz

Installation

Debian/Ubuntu

  1. Install the F5 BIG-IP common libraries.

    $ dpkg -i build/deb_dist/f5-bigip-common_9.0.1-final_all.deb
    
  2. Install the plugin driver.

    $ dpkg -i build/deb_dist/f5-lbaas-driver_9.0.1-final_all.deb
    
  3. Install the plugin agent.

    $ dpkg -i build/deb_dist/f5-bigip-lbaas-agent_9.0.1-final_all.deb
    

RedHat/CentOS

  1. Install the F5 BIG-IP common libraries.

    $ rpm -i build/el7/f5-bigip-common_9.0.1-final.noarch.el7.rpm
    
  2. Install the plugin driver.

    $ rpm -i build/el7/f5-lbaas-driver-9.0.1-final.noarch.el7.rpm
    
  3. Install the agent.

    $ rpm -i build/el7/f5-bigip-lbaas-agent-9.0.1-final.noarch.el7.rpm
    

Upgrading

If you are upgrading from an earlier version, F5 recommends that you uninstall the current version before installing the new version.

Note

Perform the following steps on every server running the F5® agent.

  1. Make a copy of the F5 agent configuration file. An existing configuration file in /etc/neutron will be overwritten during installation.

    $ cp /etc/neutron/f5-oslbaasv1-agent.ini ~/
    
  2. Stop and remove the old version of the libraries, plugin driver and agent.

    Debian/Ubuntu

    $ sudo service f5-oslbaasv1-agent stop
    $ dpkg -r f5-bigip-common f5-lbaas-driver f5-bigip-lbaas-agent
    

    Red Hat/CentOS

    $ sudo service f5-oslbaasv1-agent stop
    $ yum remove f5-bigip-common.noarch f5-oslbaasv1-agent.noarch f5-oslbaasv1-driver.noarch
    
  3. Follow the installation instructions in the previous section.

  4. Restore the F5 agent configuration file.

    Compare the backup file with the new one created during installation to make sure only the necessary settings for your deployment are modified. Then, copy your configuration file back into /etc/neutron/.

    $ cp ~/f5-oslbaasv1-agent.ini /etc/neutron/f5-oslbaasv1-agent.ini
    

Configuration

Configure the F5® LBaaSv1 Agent

The agent settings are found in /etc/neutron/f5-oslbaasv1-agent.ini. See the Sample Agent Config file for detailed explanations of all available settings.

Important

At minimum, you will need to edit the Device Settings, Device Driver - iControl Driver Setting, and L3 Segmentation Mode Settings sections of the config file.

Be sure to provide the iControl® hostname, username, and password; without this information, the agent will not be able to connect to the BIG-IP® and will not run.

The installation process automatically starts an agent process; after you configure the /etc/neutron/f5-oslbaasv1-agent.init file, restart the agent process <start-the-agent>.

Configure the Neutron Service

The Neutron service settings are found in /etc/neutron/neutron_lbaas.conf. Edit the Default and Service Providers sections as shown below to tell Neutron to use the F5® LBaaSv1 service provider driver.

Note

In the service providers section, the f5.os.lbaasv1driver entry will be present, but commented out. Uncomment this line to identify the F5® plugin as the LBaaSv1 service provider. Add :default to the end of the line as shown below to set it as the default LBaaSv1 service provider.

# vi /etc/neutron/neutron_lbaas.conf
[DEFAULT]
loadbalancer_plugin = neutron.services.loadbalancer.plugin.LoadBalancerPlugin
...
[service providers]
service_provider = LOADBALANCER:F5:f5.oslbaasv1driver.drivers.plugin_driver.F5PluginDriver:default

Set the agent scheduler (optional)

In the default section of your neutron.conf file, the f5_loadbalancer_pool_scheduler_driver variable can be set to an alternative agent scheduler. The default value for this setting, f5.oslbaasv1driver.drivers.agent_scheduler.TenantScheduler, causes LBaaSv1 pools to be distributed within an environment with tenant affinity.

Warning

You should only provide an alternate scheduler if you have an alternate service placement requirement and your own scheduler.

Restart the Neutron service

# service neutron-server restart            \\ Debian/Ubuntu
# systemctl neutron-service.service restart \\ RedHat/CentOS

Restart the http service

# service apache2 restart \\ Debian/Ubuntu
# service httpd restart   \\ Red Hat/CentOS

Start the F5® agent

The F5® agent may start running automatically upon installation. Taking this step will start or restart the service, depending on the agent’s current status.

# service f5-oslbaasv1-agent start

Note

If you want to start with clean logs, you should remove the log file first:

# rm /var/log/neutron/f5-oslbaasv1-agent.log

See also

Once the agent has been installed and configured, you can use the Neutron agent commands to manage it.