Introduction
Over last couple of years, Ansible has become one of the most sought out configuration management tool. Ansible uses a simple syntax written in YAML called playbooks. YAML is a human-readable data serialization language. It is also extraordinarily simple. As such, no special coding skills are required and even people in your IT organization otherwise unfamiliar with Ansible can likely read a playbook and have a basic understand what is happening. Ansible always executes tasks in order and is simple to install, too.
Deploying Infoblox Grid on OpenStack though Ansible
Deploying Infoblox Grid on OpenStack using horizon dashboard or OpenStack CLI could be a time-consuming task. After initial deployment of NIOS user must go through multiple options such as license and network initialization to set the grid. Thereafter, a user must start services like DNS, DHCP etc in NIOS to leverage them.
Deploying Infoblox Grid though Ansible automates these steps. It addresses, for example the following use cases:
- Deploying Grid Master
- Deployment
- License and network initialization using cloud-init
- Deploying a Member
- Deployment
- License and network initialization using cloud-init
- Adding the Member to the Grid.
- Starting DNS and DHCP services
So basically, using ansible users can deploy Infoblox Grid with zero-day configuration. The entire work flow can be divided into 4 major steps as illustrated in the following diagram.
Ansible-Playbooks used to deploy Infoblox Grid leverages various OpenStack modules. For example, in the following snippet we can see that os_server module is used to deploy NIOS on OpenStack. Further we use os_floating_ip to attach a floating ip to the NIOS.
For pre-provisioning NIOS in the Grid-Master and for adding pre-provisioned NIOS to the Grid-Master we use uri module
Starting Services
To start services in Infoblox Grid (DNS and DHCP), we use Infoblox Web Application Programming Interface or most commonly known as WAPIs. Infoblox WAPIs are called using curl command in shell script.
Ansible Playbooks
All these playbooks are available on git and can be downloaded from here: https://github.com/infobloxopen/nios-ztp-anisble.git
Demo Video
You can watch this video for a quick demo of the zero touch provisioning of the Infoblox Grid using Ansible
For deploying it in your environment, you can refer to this document.
Conclusion
Ansible is amongst the most popular tools for application service automation and deployment. Using Ansible to deploy Infoblox Grid, users can automate mundane task of setting up the Grid.