Skip to main content

ThinkAgile CP Ansible integration

Ansible is an open-source automation and orchestration framework. It is a simple and easy to use tool to help you with configuration management, application deployment, and the automation of software provisioning that involves the interconnect switches or the storage and compute blocks.

In a ThinkAgile CP environment, Ansible provides cloud configuration and management operations via the ThinkAgile CP public API.

How Does Ansible Work?

Ansible connects to devices via SSH, remote PowerShell, or other remote APIs.

Tasks can be configured to run in a sequence on multiple different devices. For example, a software update can be scheduled for a group of devices. Ansible can upgrade these devices one after the other to ensure the group is always accessible.

Ansible uses an agentless architecture, which does not require the installation and background execution of daemons – processes that handle requests for services and are inactive until called upon. Instead Ansible uses OpenSSH to communicate with other devices on the network.

Ansible establishes connections with all the devices specified in its inventory file, executes commands on those devices, and then returns their results. Commands are executed using small programs called modules. These modules can be run in a specific order that is configured in files called playbooks.

ThinkAgile CP and Ansible

When using Ansible, the basic ThinkAgile CP workflow includes the following tasks:

  • Launch an application instance and control its power state

  • Deploy multiple VMs from templates and retrieve information about their functionality

  • Create and delete virtual networks (VLANs and VNETs)

  • Configure DHCP and routing, and assign static DHCP bindings or firewall profiles

Ansible provides another benefit for ThinkAgile CP organization administrators. They can modify their existing Ansible-based automation (virtualization or cloud environment management) to work with ThinkAgile CP.

ThinkAgile CP requires you to issue an API token (API key) that is specified in the ThinkAgile CP Ansible modules. This key is unique for each user ID / user role combination. For more details about the API key, see Manage developer options.