ACOS Client
A10 github repos:
- a10-openstack-lbaas - OpenStack LBaaS driver, identical to the files that are currently merged into Juno. Also supports Icehouse. Pypi package 'a10-openstack-lbaas'.
- a10-openstack-lbaas, havana branch - OpenStack LBaaS driver, for the Havana release. Pypi package 'a10-openstack-lbaas-havana'.
- a10-neutron-lbaas - Middleware sitting between the openstack driver and our API client, mapping openstack constructs to A10's AxAPI.
- acos-client - AxAPI client used by A10's OpenStack driver.
- neutron-thirdparty-ci - Scripts used by our Jenkins/Zuul/Devstack-Gate setup, used to test every openstack code review submission against A10 appliances and our drivers.
- a10_lbaas_driver - An older revision of A10's LBaaS driver; no longer supported.
Installation
Install using pip
$ pip install acos-client
Install from source
$ git clone https://github.com/a10networks/acos-client.git
$ cd acos-client
$ python setup.py install
Usage
c = acos_client.Client('somehost.example.com', acos_client.AXAPI_21,
'admin', 'password')
Example setting up an SLB:
import acos_client as acos
c = acos.Client('1.2.3.4', acos.AXAPI_21, 'admin', 'password')
c.slb.server.create('s1', '1.1.1.1')
c.slb.server.create('s2', '1.1.1.2')
c.slb.service_group.create('pool1',
c.slb.service_group.TCP,
c.slb.service_group.ROUND_ROBIN)
c.slb.virtual_server.create('vip1', '1.1.1.3')
c.slb.hm.create('hm1', c.slb.hm.HTTP, 5, 5, 5, 'GET', '/', '200', 80)
c.slb.service_group.update('pool1', health_monitor='hm1')
c.slb.service_group.member.create('pool1', 's1', 80)
c.slb.service_group.member.create('pool1', 's2', 80)
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
Testing
This project uses tox for testing. To run the test suite simply:
$ sudo pip install tox # use pip2 if using Arch Linux
$ cd /path/to/acos_client
$ tox
pypy needs to be installed as well as Python 2.6 side by side 2.7 7. We recommend deadsnakes if you're on Ubuntu, and the python26 AUR package if you use Arch Linux.
Supported Versions
- axapi 2.1, ACOS 2.7.2+ (2.7.1 works if you avoid partitions)
- axapi 3.0, ACOS 4.0.0+