Name: a10-neutron-lbaas
Owner: MercadoLibre
Description: A10 Networks, Openstack Neutron LBaaS Driver
Created: 2016-03-21 18:16:27.0
Updated: 2016-03-21 18:16:28.0
Pushed: 2016-10-19 14:56:57.0
Size: 658
Language: Python
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
===========================================
A10 Networks LBaaS Driver for Thunder, vThunder and AX Series Appliances
Supported releases:
Working but not available for support:
Unsupported, but may work with minor tweaking:
Make sure you have neutron installed, and neutron-lbaas if applicable. This driver will need to be installed on all of your neutron controller nodes (anywhere that neutron-server is running.)
The latest supported version of a10-neutron-lbaas is available via standard pypi repositories and the current development version is available on github.
pip install a10-neutron-lbaas
Download the driver from: https://github.com/a10networks/a10-neutron-lbaas
pip install git+https://github.com/a10networks/a10-neutron-lbaas.git
h
clone https://github.com/a10networks/a10-neutron-lbaas.git
10-neutron-lbaas
pip install -e .
Post-installation configuration requires modification of your neutron.conf or neutron_lbaas.conf (neutron_lbaas.conf is only present in LBaaSv2) typically located in /etc/neutron
.
Open /etc/neutron/neutron.conf
in your preferred text editor.
Under the service_plugins
setting, ensure lbaas
is listed.
In the list of service_provider
settings, add a service provider for A10
Networks:
service_provider = LOADBALANCER:A10Networks:neutron_lbaas.services.loadbalancer.drivers.a10networks.driver_v1.ThunderDriver:default
Save and close neutron.conf
Open /etc/neutron/neutron.conf
in your preferred text editor.
Under the service_plugins
setting, ensure lbaasv2
is listed.
Save and close neutron.conf.
Open /etc/neutron/neutron_lbaas.conf
in your preferred text editor.
In the list of service_provider
settings, add a service provider for A10
Networks:
service_provider = LOADBALANCERV2:A10Networks:neutron_lbaas.drivers.a10networks.driver_v2.ThunderDriver:default
After installation, you will need to provide configuration for the driver so the driver is aware of the appliances you have configured. The configuration is a python file stored in /etc/a10/config.py
. Below is a sample to show options and formatting, though any legal python can be used to calculate values or define classes:
ces = {
"ax1": {
"name": "ax1",
"host": "10.10.100.20",
"port": 443,
"username": "admin",
"password": "a10",
"autosnat": True,
"api_version": "3.0",
For complete documentation of the a10 config.py file, please refer to the sample config file.
host
(required)The ip address or host name of the A10 appliance. For a virtual chassis configuration, this should be the floating host or ip address of the master.
port
(default 443
)Port that the AXAPI is exposed on
username
and password
(required)Authentication credentials to control the A10 appliance via the AXAPI.
api_version
(default "2.1"
)Version of the A10 appliance's AXAPI. "2.1"
for 2.X series ACOS versions,
"3.0"
for 4.X versions.
If 'use_database' is enabled, after installing the package and after any upgrades, run:
manage upgrade
Restart neutron after configuration updates (exact command may vary depending on OpenStack packaging.)
ice neutron-server restart
You must configure the network elements of the Thunder appliance for OpenStack.
Login to the OpenStack dashboard.
Under the ?Network? menu, go to the ?Load Balancers? tab and select ?Add Pool?:
Once you have added a pool, a success message should appear.
Login to the GUI on your Thunder or AX device, and validate which configuration was applied if the ADPs are set. The ADP name is the first 13 characters of the tenant ID.
Repeat this for all configuration steps, then delete all resources if ADPs are configured. They should be deleted when the tenant has no more resources configured.
Feel free to fork, submit pull requests, or join us on freenode IRC, channel #a10-openstack. Serious support escalations and formal feature requests must still go through standard A10 processes.
git checkout -b my-new-feature
)git commit -am 'Add some feature'
)git push origin my-new-feature
)