Is AWX Ansible stable

Configure systems automatically with Ansible AWX

Ansible automatically configures and administrates computers and routers in a network. Administrators usually define which systems Ansible reaches and how they reach them by hand in text files. To make their work easier, developer Red Hat offers the commercial web application Ansible Tower. It simplifies the administration of the systems and the deployment of the configurations. In addition, it offers user management and provides numerous useful statistics, such as successful and failed jobs.

Free offshoot

In August 2017, Red Hat placed the source code of Ansible Tower under an open source license and published it on GitHub under the name AWX [1]. Red Hat hopes that thanks to the Apache License used, the community will bring improvements. The commercial Ansible Tower will continue to exist: While new versions of AWX are to appear at a fairly rapid frequency, Red Hat is taking selected AWX releases and publishes them with long-term support under the brand name Ansible Tower.

Originally, the AWX developers wanted to release a new version about every two weeks. At the time of going to press, however, everything pointed to significantly larger gaps. The latest stable version 1.0.1 was already over a month old. The term "stable" is also a bit misleading: Red Hat expressly does not recommend AWX for productive use - regardless of the version. The right variant for your own company therefore depends on the respective requirements: AWX is primarily suitable for evaluation and for smaller companies that have to pay careful attention to costs. Larger companies, however, should continue to consider Ansible Tower, for which Red Hat provides extensive support. For AWX, however, there is only support via IRC and the official mailing list.

Just like Ansible Tower, AWX only helps the administrator manage the systems. Administrators still have to create the so-called playbooks with the actual configuration instructions by hand. AWX also requires that all playbooks are in a version control system. Currently, AWX can pick up the playbooks from Git, Mercurial, Subversion, and Red Hat Insights repositories. It is also possible to store the playbooks locally on the AWX computer. To do this, however, on the one hand, additional steps are necessary in addition to Docker knowledge and, on the other hand, the developers do not support this approach. If you have not yet saved your playbooks in a version management system, you can use a Git repository from the AWX makers with a simple sample playbook for initial tests (more on this later).

installation

AWX is currently designed to run in a Docker container and thus in an isolated environment. Conveniently, the appropriate container is created automatically during installation. At least for a test installation of AWX, you do not need any knowledge of Docker (as in the following). The finished container with AWX can be ignited either in a Docker environment or in an OpenShift cluster; AWX 1.0.1 does not officially support other constellations. Since commissioning via Docker is much faster, it should also be in the foreground in the following.

In order to be able to install AWX, in addition to Ansible version 2.4 or higher, you also need Docker, the associated Python module "docker-py", GNU make and Git. If your distribution only has an old Ansible version, such as in the case of Ubuntu, you have to import Ansible by hand. Under Ubuntu you can use the repository of the Ansible developers:

$ sudo apt-add-repository ppa: ansible / ansible $ sudo apt-get update $ sudo apt-get install ansible docker.io python-docker git make

In any case, make sure that the Docker daemon is running, under Ubuntu for example with s "". Now download the source code of the current AWX version from GitHub and unzip the archive. Alternatively, you can clone the current state of development:

$ git clone https://github.com/ansible/awx.git

In any case, switch to the "installer" subdirectory and open the "inventory" file with a text editor. Look for the line "dockerhub_version = latest" at the beginning. Due to the specification "latest", the latest version of AWX runs automatically. After "dockerhub_version" you can also specify a very specific AWX version, such as "dockerhub_version = 1.0.1".

A web server that delivers the AWX user interface runs in the Docker container. This web server listens on port "80" by default. You can specify a different port by changing the port number in the "host_port = 80" line in the "inventory" file accordingly.

comments powered by Disqus