F5 Agent for OpenStack Neutron¶
version 9.8.50¶
Release Notes for F5 Openstack Agent
The F5 Agent for OpenStack Neutron (f5-openstack-agent
) is an OpenStack Neutron plugin agent.
It works in conjunction with the F5 Driver for OpenStack LBaaS to manage F5 BIG-IP Local Traffic Manager (LTM) services via the OpenStack Neutron API.
See also
For more information about how the F5 agent interacts with the Neutron API and BIG-IP devices, see Architecture.
Downloads¶
Guides¶
See the F5 Integration for OpenStack user documentation.
Installation¶
Follow the instructions for your distribution to install the F5 Agent for OpenStack Neutron on your Neutron controller.
Tip
You can use the f5-openstack-ansible project to deploy the F5 agent, F5 Driver for OpenStack LBaaS, and all project dependencies. See Deploy OpenStack Agent and Driver with Ansible for more information.
Debian¶
Download
f5-openstack-agent
and its dependencies (f5-icontrol-rest-python
andf5-common-python
).Install all three (3) packages.
curl -L -O https://github.com/F5Networks/f5-openstack-agent/releases/download/v9.8.50/python-f5-openstack-agent_9.8.50-1_1404_all.deb curl -L -O https://github.com/F5Networks/f5-common-python/releases/download/v3.0.11/python-f5-sdk_3.0.11-1_1404_all.deb curl -L -O https://github.com/F5Networks/f5-icontrol-rest-python/releases/download/v1.3.0/python-f5-icontrol-rest_1.3.0-1_1404_all.deb dpkg –i python-f5-icontrol-rest_1.3.0-1_1404_all.deb dpkg –i python-f5-sdk_3.0.11-1_1404_all.deb dpkg –i python-f5-openstack-agent_9.8.50-1_1404_all.deb
Pip¶
Install the f5-openstack-agent
release package from GitHub.
pip install git+https://github.com/F5Networks/f5-openstack-agent@v9.8.50
RPM¶
Download
f5-openstack-agent
and its dependencies (f5-icontrol-rest-python
andf5-common-python
).Install all three (3) packages.
curl -L -O https://github.com/F5Networks/f5-common-python/releases/download/v3.0.11/f5-sdk-3.0.11-1.el7.noarch.rpm curl -L -O https://github.com/F5Networks/f5-icontrol-rest-python/releases/download/v1.3.0/f5-icontrol-rest-1.3.0-1.el7.noarch.rpm curl -L -O https://github.com/F5Networks/f5-openstack-agent/releases/download/v9.8.50/f5-openstack-agent-9.8.50-1.el7.noarch.rpm rpm -ivh f5-icontrol-rest-1.3.0-1.el7.noarch.rpm f5-sdk-3.0.11-1.el7.noarch.rpm f5-openstack-agent-9.8.50-1.el7.noarch.rpm
Next Steps¶
Architecture¶
The F5 Driver for OpenStack LBaaS assigns LBaaS tasks from the Neutron RPC Messaging queue to the F5 Agent for OpenStack Neutron. The F5 agent translates the Neutron LBaaS API calls to iControl REST API calls and configures the requested objects on the BIG-IP device(s) identified in the F5 Agent Configuration File.
When the F5 agent and F5 driver run on your OpenStack Neutron Controller, you can use the native OpenStack CLI commands to manage BIG-IP LTM objects. [1]
The table below shows the corresponding iControl endpoint and BIG-IP object for each neutron lbaas-* create
command.
Command | URI | Configurations Applied |
---|---|---|
neutron lbaas-loadbalancer-create |
https://<icontrol_endpoint>:443/mgmt/tm/sys/folder/~Project_<os_tenant_id> |
Creates new BIG-IP partition; name uses the OpenStack uuid and tenant ID |
neutron lbaas-listener-create |
https://<icontrol_endpoint>:443/mgmt/tm/ltm/virtual/ |
Creates new BIG-IP virtual server in the tenant’s partition |
neutron lbaas-pool-create |
https://<icontrol_endpoint>:443/mgmt/tm/ltm/pool/ |
Creates new pool on the virtual server |
neutron lbaas-member-create |
https://<icontrol_endpoint>:443/mgmt/tm/ltm/pool/~Project_<os_tenant_id>~pool1/members/ |
Creates new pool member on the virtual server |
neutron lbaas-healthmonitor-create |
https://<icontrol_endpoint>:443/mgmt/tm/ltm/monitor/http/ |
Creates new health monitor for the pool |
Modes of Operation¶
See also
See F5 Agent modes for detailed information regarding each of the Agent’s modes of operation and example use cases.
Configure the F5 Agent¶
See also
View the F5 Agent Configuration parameters for detailed explanations of the available options. The settings you apply in the configuration file should reflect your existing network architecture and BIG-IP system configurations.
Use your text editor of choice to edit the F5 Agent Configuration File as appropriate for your environment.
vim /etc/neutron/services/f5/f5-openstack-agent.ini
Configuration File Examples¶
The example configuration files provided here can help guide you in setting up the F5 agent.
Global routed mode
L2-adjacent mode
Unsupported Features¶
The items shown in the table below are not supported in the current release.
Feature | Project |
---|---|
Distributed Virtual Router (DVR) | Neutron |
Role Based Access Control (RBAC) | Neutron |
Agent High Availability (HA) [2] | F5 OpenStack |
Upgrade¶
Before you can upgrade to/install a different version of f5-openstack-agent
, you need to uninstall your current version.
Perform the steps below on every server running F5 agent.
Danger
If you use pip install --upgrade
to upgrade the F5 LBaaSv2 agent, packages that other OpenStack components use might be negatively impacted.
F5 does not recommend using pip install --upgrade
to upgrade the f5-openstack-agent
package.
Copy the F5 agent configuration file to a different directory (for example,
~/f5-upgrade-temp
).Warning
Your configuration file (
/etc/neutron/services/f5/f5-openstack-agent.ini
gets overwritten when you install a new package. If you don’t save a copy elsewhere, you will lose your config settings.$ cp /etc/neutron/services/f5/f5-openstack-agent.ini ~/f5-upgrade-temp
Move or rename the F5 agent log file.
Your new F5 agent will not start if it finds an existing
f5-openstack-agent
.log file. You can either move the log file to a new location, or rename it.$ mv /var/log/neutron/f5-openstack-agent.log ~/f5-upgrade-temp
Stop and remove the current version of the F5 agent.
Debian/Ubuntu¶$ sudo service f5-oslbaasv2-agent stop $ pip uninstall f5-openstack-agent
Red Hat/CentOS¶$ sudo systemctl stop f5-openstack-agent $ sudo systemctl disable f5-openstack-agent $ sudo pip uninstall f5-openstack-agent
Follow the installation instructions to install a different version of the F5 agent.
Copy your configuration file back into
/etc/neutron/services/f5
.Tip
It’s good practice to compare your saved copy of the configuration file with the new one created during installation. Verify that the only differences between the two are those required for your deployment. If new options appear in the config file, see supported features and configuration parameters for explanations and config instructions.
$ cp ~/f5-upgrade-temp/f5-openstack-agent.ini /etc/neutron/services/f5/f5-openstack-agent.ini
Footnotes
[1] | See the OpenStack CLI documentation |
[2] | Similar to BIG-IP high availability, but applies to the F5 agent processes. |