HomeGuidesAPI Reference
GuidesAPI ReferenceGitHubAirheads Developer CommunityLog In

Getting Started with Ansible

Installation and setup

Introduction

Ansible is an open-source automation framework that was created by Ansible and now maintained by Red Hat. Ansible is an orchestration tool that automates provisioning, configuration management, and application deployment.

In 2019, HPE Aruba Networking became an official Ansible partner, and currently supports Ansible for Central, among other HPE Aruba Networking products.

If you aren't already familiar with Ansible, please read through the pages linked here:

Getting Started with Ansible

Installing Ansible

Ansible Inventories

Ansible Automation Platform

Installing the Role

Our HPE Aruba Networking Central Ansible modules are packaged in the HPE Aruba Networking Central collection.

Requirements

  • Python 2.7 or 3.5+
  • Ansible 2.9.0 or later
  • Minimum supported Aruba Central firmware version 2.5.2

The HPE Aruba Networking Central collection was created solely for the sake of bundling up the Central Ansible modules for easy distribution and consumption. To install the collection, issue the "ansible-galaxy" command: ansible-galaxy collection install arubanetworks.aruba_central

If you plan on using the Aruba HPE Aruba Networking Central collection with Ansible Automation Platform you'll need a directory labeled collections/ with a requirements.yml file. This file is what your automation controller will use to install any Ansible collection dependencies at run time. To execute playbooks using the HPE Aruba Networking Central Ansible Collection your collections/requirements.yml file should include the following:

collections:
- arubanetworks.aruba_central

To install the latest updated collection, simply re-run any of the previous commands. Ansible Galaxy will check to see if the existing collection is out of date and install the latest version.

Additionally, you'll need to install the requests library. You can do so with the following command:
pip install -r requirements.txt

Setting up the Ansible Inventory for HPE Aruba Networking Central

  • The HPE Aruba Networking Central Ansible modules use Central's REST API. For information on REST API and instructions for obtaining access to the REST API, see the Developer Hub pages in the HPE Aruba Networking Central REST API section, beginning with Getting Started with REST API
  • An API token must be created for a user on Central and a valid, non-expired access_token must be present
  • Ensure that the access token was created with "Network Operations" selected in the Application drop-down list.

🚧

An access token is valid for a period of 7200 seconds or two hours. After two hours, it will expire and a new token needs to be created. The token expiry time is currently not configurable.

Your Ansible inventory will likely be rather modest as it will only contain the Central instance(s) as opposed to all the target devices, which will in turn be managed by Central.

Inventory Variables

The variables that should be defined in your inventory for your Aruba Central account are:

  • ansible_host: Base URL path for API-gateway on HPE Aruba Networking Central in FQDN format
  • ansible_connection: Must always be set to httpapi
  • ansible_network_os: Must always be set to aruba_central
  • ansible_httpapi_use_ssl: Must always be set to True
  • ansible_httpapi_session_key: HPE Aruba Networking Central's API access token

Sample Inventories

INI

arubacentral ansible_host=internal-apigw.central.arubanetworks.com  ansible_connection=httpapi ansible_network_os=aruba_central  ansible_httpapi_use_ssl=True  ansible_httpapi_central_access_token=CnjDaXXxvnjrvJRwxxxxXXxxXXXXxxxx

YAML

all:
  hosts:
    central:
      ansible_host: internal-apigw.central.arubanetworks.com
      ansible_connection: httpapi
      ansible_network_os: aruba_central
      ansible_httpapi_use_ssl: True
      ansible_httpapi_central_access_token: CnjDaXXxvnjrvJRwxxxxXXxxXXXXxxxx