|
|
(6 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
− | '''''DRAFT - Place Holder'''''
| |
− | A10Networks LBaaS Driver for Thunder Series Appliances
| |
| | | |
− | For technical informtion please contact <code> mthompson | <a|t> | a10networks || com </code>
| + | == <big>A10 Networks LBaaS Driver for Thunder Series</big> == |
| | | |
− | Introductions:
| + | Please refer to https://github.com/a10networks/a10-neutron-lbaas |
− | | |
− | This A10 Network Driver is specifically designed to manage Thunder Series Appliances.
| |
− | | |
− | ** A non-community version of the driver can be provided which extends horizon and other component.
| |
− | Implementation:
| |
− | | |
− | The implementation relays on:
| |
− | | |
− | Added A10 LBaaS Driver to branch.
| |
− | <code>
| |
− | * new file: a10networks/__init__.py
| |
− | * new file: a10networks/a10_api_2_1/__init__.py
| |
− | * new file: a10networks/a10_api_2_1/core/__init__.py
| |
− | * new file: a10networks/a10_api_2_1/core/apiObj.py
| |
− | * new file: a10networks/a10_api_2_1/core/device_select.py
| |
− | * new file: a10networks/a10_api_2_1/core/ssl_monkeypatch.py
| |
− | * new file: a10networks/a10_api_2_1/core/structure.py
| |
− | * new file: a10networks/a10_api_2_1/slb/__init__.py
| |
− | * new file: a10networks/a10_api_2_1/slb/hm.py
| |
− | * new file: a10networks/a10_api_2_1/slb/server.py
| |
− | * new file: a10networks/a10_api_2_1/slb/service_group.py
| |
− | * new file: a10networks/a10_api_2_1/slb/template.py
| |
− | * new file: a10networks/a10_api_2_1/slb/virtual_server.py
| |
− | * new file: a10networks/a10_api_2_1/slb/virtual_service.py
| |
− | * new file: a10networks/example_thunder_device_conf.ini
| |
− | * new file: a10networks/exceptions.py
| |
− | * new file: a10networks/thunder.py
| |
− | </code>
| |
− |
| |
− | There are two ways a device can be register.
| |
− | | |
− | # Create different versions of the driver and associated configuration file.
| |
− | # Utilize, the first method, but also utilize multiple devices in the configuration file. A consistent hash will be utilized to for placement policy.
| |
− | | |
− | In the Neutron.conf add the following line. This will enable the specific service provider. You can register multiple drivers that point to a specific system or group of systems.
| |
− | | |
− | | |
− | <code>
| |
− | service_provider =LOADBALANCER:A10_Thunder:neutron.services.loadbalancer.drivers.a10networks.thunder.thunder_driver:default
| |
− | </code>
| |
− | | |
− | | |
− | The configuration files need to be configured utilizing the example below.
| |
− | | |
− | | |
− | <syntaxhighlight lang="ini">
| |
− | | |
− | [devices]
| |
− | | |
− | #format is device FQDN then host object
| |
− | | |
− | #ax1.foo.com = {"host":"192.168.212.120",
| |
− | # "username" : "admin",
| |
− | # "password" : , "a10",
| |
− | # "status":"1",
| |
− | # "autosnat":True}
| |
− | | |
− | | |
− | ax1.foo.com = {"host":"192.168.212.120",
| |
− | "username":"admin",
| |
− | "password":"a10", "status":"1", "autosnat":"True"}
| |
− | | |
− | [placement]
| |
− | | |
− | #Only method supported is hash
| |
− | #method=hash
| |
− | | |
− | [member]
| |
− | | |
− | #This is for the nat address on router.
| |
− | #If set to false then will utilize default member addr.
| |
− | use_float_if_assigned = 'True'
| |
− | | |
− | [partition]
| |
− | #Choices in this version(ADP)
| |
− | #Choices in the next release(L3V, LSI, VSI)
| |
− | #partition='ADP'
| |
− | </syntaxhighlight>
| |
− | | |
− | | |
− | Reference Architecture:
| |
− | | |
− | | |
− | Please contact a10 networks for more information.
| |
− | | |
− | 1. One arm mode with SNAT.
| |
− | | |
− | 2. Routed Mode on Private network
| |
− | | |
− | 3. Route Injection Mode.
| |