:warning: :warning: :warning: :warning: :warning:
This repository is deprecated.
For all Aruba created Ansible content visit ArubaNetworks on Galaxy.
_For official AOS-Switch Ansible Collection._
_For official Central Ansible Role._
_For official WLAN Ansible Role._
For official AOS-CX automation with Ansible guides and workflows visit Aruba's Developer Hub.
:warning: :warning: :warning: :warning: :warning:
All Ansible modules, module installer, and example playbooks for AOS-Switch and WLAN products. For AOS-CX modules please see our AOS-CX Ansible Role in Ansible's Galaxy.
The aruba_module_installer.py tool installs all files/directories required by Ansible for AOS-Switch and WLAN integration.
Clone this repository onto your Linux machine:
$ git clone https://github.com/aruba/aruba-ansible-modules.git
Enter the cloned directory and execute the python installer:
$ cd aruba-ansible-modules
$ python aruba_module_installer/aruba_module_installer.py
If you receive a permission error, use 'sudo':
$ sudo python aruba_module_installer/aruba_module_installer.py
In order to run these scripts, please complete the steps below:
Install Python version 2.7 or 3.5+ on the system.
Install Ansible 2.5 or later (refer https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html).
Enter the cloned directory and pull any updates from the repository:
$ cd aruba-ansible-modules
$ git pull
Run the python installer with the --reinstall
option, remember to use sudo
if you receive a permission error:
$ sudo python aruba_module_installer/aruba_module_installer.py --reinstall
optional arguments:
-h, --help show this help message and exit
-r, --remove remove all files & directories installed by this script.
--reinstall remove all files & directories installed by this script. Then
re-install.
--switch only install files/directories required for AOS-Switch.
Follow the above steps to install the AOS-Switch Ansible modules.
switch(config)# web-management ssl
switch(config)# rest-interface
arubaoss_config
and arubaoss_command
, SSH access must
be enabled on your AOS-Switch device. It is enabled by default.
switch(config)# ip ssh
known_hosts
file must contain the target device's public key.
host_key_checking = false
The variables that should be defined in your inventory for your AOS-Switch host are:
ansible_host
: IP address of switch in A.B.C.D
format. For IPv6 hosts use a string and enclose in square brackets E.G. '[2001::1]'
.ansible_user
: Username for switch in plaintext
formatansible_password
: Password for switch in plaintext
formatansible_network_os
: Must always be set to arubaoss
ansible_connection
: Set to local
to use REST API modules, and to network_cli
to use SSH/CLI modules
To use both REST API and SSH/CLI modules on the same host,
you must create separate plays such
that each play uses either only REST API modules or only SSH/CLI modules.
A play cannot mix and match REST API and SSH/CLI module calls.
In each play, ansible_connection
must possess the appropriate value
according to the modules used.
If the play uses REST API modules, the value should be local
.
If the play uses SSH/CLI modules, the value should be network_cli
.
A recommended approach to successfully using both types of modules for a host is as follows:
ansible_connection
to network_cli
. The inventory should look something like this:
all:
hosts:
switch1:
ansible_host: 10.0.0.1
ansible_user: admin
ansible_password: password
ansible_network_os: arubaoss
ansible_connection: local # REST API connection method
and the playbook like this (note how the second play, which uses the SSH/CLI module arubaoss_command
,
sets the ansible_connection
value accordingly):
- hosts: all
tasks:
- name: Create VLAN 200
arubaoss_vlan:
vlan_id: 300
name: "vlan300"
config: "create"
command: config_vlan
- hosts: all
vars:
ansible_connection: network_cli
tasks:
- name: Execute show run on the switch
arubaoss_command:
commands: ['show run']
all:
hosts:
switch1:
ansible_host: 10.0.0.1
ansible_user: admin
ansible_password: password
ansible_network_os: arubaoss
ansible_connection: local # REST API connection method
Follow the above steps to install the Aruba's Ansible modules.
If you're interested in contributing please read and follow our contribution documentation.
Apache 2.0