Kemp Support, how can we help?

The latest application delivery knowledge and expertise at your fingertips.

Kemp LBaaS Driver for OpenStack

1 Introduction

OpenStack is a cloud computing software platform. It is primarily deployed as an Infrastructure as a Service (IaaS) solution. The technology consists of a series of interrelated projects that control pools of processing, storage and networking resources throughout a data center. This can be managed through a web-based dashboard, command-line tools or a RESTful API.

OpenStack lets users deploy Virtual Machines and other instances that handle different tasks for managing a cloud environment on the fly. With OpenStack, horizontal scaling is easy - more instances can be spun up in order to serve more users, as needed.

The Kemp Load Balancer as a Service (LBaaS) OpenStack driver allows the Kemp LoadMaster to be deployed in OpenStack.

1.1 Document Purpose

This document explains how to install the Kemp LBaaS driver in OpenStack and how to deploy a LoadMaster instance in OpenStack.

1.2 Intended Audience

This document is for anyone who is interested in finding out how to install and use the Kemp LBaaS OpenStack driver.


2 Kemp LBaaS OpenStack Driver

For instructions on how to install and use the Kemp LBaaS OpenStack driver, refer to the sections below.

2.1 Prerequisites

The following prerequisites must be in place before following these steps:

OpenStack 8.0 (Liberty release) must be deployed.

A LoadMaster must be deployed within OpenStack.

Some of the commands in this document may require sudo or root access.

The Application Program Interface (API) must be enabled on the LoadMaster. For instructions on how to do this, refer to the steps below:

a) In the LoadMaster Web User Interface (WUI), go to Certificates & Security > Remote Access.

Administrator Access_3.png

b) Select the Enable API Interface check box.

2.2 Install the Kemp LBaaS OpenStack Driver Package

The package can either be installed automatically (if a network connection is in place) or manually. Refer to the relevant section below for further information.

2.2.1 Enable LBaaS in OpenStack

To enable LBaaS, open the Command Line Interface (CLI) and follow the steps below:

1. Edit the file:

vim /etc/openstack-dashboard/

2. Find the following block of code:


'enable_lb': False }

3. Change False to True:


'enable_lb': True }

True is case sensitive and the case should be exactly as it is in this document.

4. Save the file.

5. Restart the web server:

service apache2 restart

2.2.2 Automatically Install the Driver Package

To automatically install the driver package, open the Command Line Interface (CLI) and enter the following command:

pip install <NameOfKempOpenStackDriver>

For example:

pip install kemptech-openstack-lbaas

2.2.3 Manually Install the Driver Package

To manually install the driver package, follow the steps below:

1. Go to the following link:

2. Download the .tar.gz file provided.

3. Extract the .tar.gz file.

4. In the CLI, find the relevant Python path by running the following commands:


import sys


The default path is usually /usr/lib/python2.7/dist-packages.

5. Copy the downloaded kemptech_openstack_lbaas folder into the dist-packages folder.

If updating the Kemp driver package, overwrite the existing files.

2.2.4 Enable LBaaS Neutron with the Kemp LoadMaster Driver

Configure the neutron.conf and neutron_lbaas.conf files to use the Kemp LBaaS plugin. To do this, follow the steps below:

1. Edit the neutron.conf configuration file:

vim /etc/neutron/neutron.conf

2. Find the service_plugins line and add .LoadBalancerPluginv2, for example:

service_plugins = router,

A comma (,) is used to separate different service plugins.

3. At the bottom of the file, add the following:


lm_address = <LoadMasterIPAddress>

lm_username = <LoadMasterUsername>

lm_password = <LoadMasterPassword>

For example:


lm_address =

lm_username = bal

lm_password = test1234

4. Save the changes made to the edited file.

5. Edit the neutron_lbaas.conf configuration file:

vim /etc/neutron/neutron_lbaas.conf

6. Save the changes made to the edited file.

7. Go down to the [service_providers] section and add (or append, as needed) the following line:

service_provider = LOADBALANCERV2:kemptechnologies:neutron_lbaas.drivers.kemptechnologies.driver_v2.KempLoadMasterDriver:default

This is case sensitive.

If there are other LBaaS entries in the list, ensure the Kemp one is set as the default.

8. Restart Neutron by running the following command:

service neutron-server restart

2.3 Topology Setup

Refer to the commands below to find out how to create a load balancer, listener, pool, members and health monitor:

Get the Universally Unique Identifier (UUID) of the private subnet:

neutron subnet-list

Create a load balancer:

neutron lbaas-loadbalancer-create --name lb1 private-subnet

Create a listener (health check):

neutron lbaas-listener-create --loadbalancer lb1 --protocol HTTP --protocol-port 80 --name listener1

Create a pool and associate it with the previously created listener:

neutron lbaas-pool-create --lb-algorithm ROUND_ROBIN --listener listener1 --protocol HTTP --name pool1

Create members (Real Servers):

neutron lbaas-member-create --subnet private-subnet --address <ServerIPAddress> --protocol-port 80 pool1

Create a health monitor and associate it with the pool:

neutron lbaas-healthmonitor-create --delay 3 --type HTTP --max-retries 3 --timeout 3 --pool pool1

2.4 Updating the Driver Package

To update the driver package, refer to the relevant point below:

Automatic: Run the following command in the CLI:

pip install -U <NameOfKempOpenStackDriver>

For example:

pip install --upgrade kemptech-openstack-lbaas

Manual: To manually update the driver package, follow the steps in the Manually Install the Driver Package section but overwrite the existing files.

Last Updated Date

This document was last updated on 26 May 2022.

Was this article helpful?
0 out of 0 found this helpful