OpenStack-Ansible Inventory Happenings
The OpenStack-Ansible inventory system is the glue connecting the Ansible playbooks that do the installation to the hosts they manage. It is vital to deploying and maintaining an Ansible-based cluster.
This system has undergone several changes since the initial Icehouse release. Learn what's happened since and what's in store for the future.
The OpenStack-Ansible project (also known as OSA) was first introduced with
the Icehouse release of OpenStack. It included an Ansible dynamic
script takes information from the OSA configuration files and produces host
information for generating LXC containers, which in turn host the
We also included some scripts to manage the generated inventory file, so that maintenance tasks like removing a host could be done more easily.
The function of the dynamic inventory has largely remained the same, but a few key changes have happened over the life of the OSA project:
- With the Kilo release, the script helped migrate configuration to a new, more flexible structure.
- In Liberty, we began putting a more formal unit and integration test suite around the existing code.
- With Newton, new logical groupings were generated to assist with targetting more specific hosts for work.
- Beginning in Newton and continued in Ocata, the code has been refactored to be easier to understand.
In Pike, we hope to make the biggest change to the inventory system yet: providing a plugin system for reading and writing to different backends.
This feature will help deployers use their existing systems for providing configuration information, as well as a more robust method of storing generated information.
To facilitate this change, we'll also be making the OSA inventory code installable via pip, should others wish to take advantage of it.