Thunder® ADCs (Application Delivery Controllers) are high-performance solutions to accelerate and optimize critical applications to ensure delivery and reliability.
A10 Ansible modules is a custom plugin to do configurations on Thunder. It includes example playbooks to apply on hardware and virtual appliances.
We only support Ansible version >=2.9
This code is now being generated using the SDK generator at https://github.com/a10networks/sdkgenerator
For older versions, please visit https://galaxy.ansible.com/ui/repo/published/a10/acos_axapi/
- Install Ansible on your local OS, Please refer below sections for more details.
- Search required Ansible configuration from examples. In case not found create a new one, Please refer below sections for more details.
- Execute Ansible playbooks to apply thunder configuration, Please refer below sections for more details.
- Verify thunder configuration after ansible playbook is applied, Please refer below sections for more details.
To install Ansible on Ubuntu, Run the following command to download and install the latest version of Ansible:
apt install ansible
To install Ansible on MacOS, Run the following command to download and install the latest version of Ansible:
brew install ansible
a10-acos-axapi is collection of custom ansible modules crated by a10Networks. It can be installed using following ways, it is assumed that ansible is already installed and configured.
ansible-galaxy collection install a10.acos_axapi
Be sure to note the collection path found within the output of the above command. For example:
$ ansible-galaxy collection install a10.acos_axapi
Process install dependency map
Starting collection install process
Installing 'a10.acos_axapi:1.0.0' to '/opt/.ansible/collections/ansible_collections/a10/acos_axapi'
In this example the collection directory path is: /opt/.ansible/collections/ansible_collections/
git clone https://github.com/a10networks/a10-acos-axapi
cd a10-acos-axapi
ansible-galaxy collection build
ansible-galaxy collection install a10-acos_axapi*.tar.gz -p ./collections
Add below line in the /etc/ansible/ansible.cfg
file
action_plugins = <collection-dir-path>/a10/acos_axapi/plugins/action
-
Copy action plugin into one of the following
- ~/.ansible/plugins
- /usr/share/ansible/plugins folder
-
Export following environment variables for new session
export ANSIBLE_ACTION_PLUGINS=<collection-dir-path>/a10/acos_axapi/plugins/action
- Save this variable in .bashrc File
export ANSIBLE_ACTION_PLUGINS=<collection-dir-path>/a10/acos_axapi/plugins/action
Ansible collections are a powerful way to organize and distribute Ansible content, such as roles, modules, and plugins.
Action and module names are formatted based upon their API endpoint. For example, the virtual server endpoint is as follows: /axapi/v3/slb/virtual-server. As such, the action name is a10_slb_virtual_server and the module is a10_slb_virtual_server.py.
**Note that when getting information, changes made to the playbook will not result in a create, update or delete as the state has been put into no-op.
Any of the following method can be used to create and run playbooks.
collections:
- a10.acos_axapi
tasks:
- module_name:
- argument
- module_name:
- argument