The focus for the latest release of Ansible Container is on making builds faster through the availability of pre-baked Conductor images. The release landed this week thanks to the dedication of Joshua ‘jag’ Ginsberg, Ansible’s Chief Architect, who managed to put the finishing touches on the release while at AnsibleFest San Francisco.
The Ansible Container project is dedicated to helping Ansible users re-use existing Ansible roles and playbooks to build containers, and deploy applications to OpenShift. The Conductor container is at the center of building, orchestrating, and deploying containers. It’s the engine that makes it all work, and it brings with it a copy of Ansible, a Python runtime, docker packages, and other dependencies.
The first step, before any serious work gets done by the command line tool, is standing up a Conductor container. And up until now, that meant building the image from scratch, and waiting through all the package downloading and installing. This happens at the start of a project, and repeats anytime you find yourself needing to rebuild from scratch.
With this release, the team has made available a set of pre-baked images based on several distributions that are popular within the community. These images are currently available on Docker Hub under the Ansible namespace. There you’ll find conductor images built on the following distributions:
- Centos 7
- Fedora 24, 25, 26
- Debian jessie, stretch, wheezy
- Ubuntu precise, trusty, xenial, zesty
- Alpine 3.4, 3.5
From a user standpoint there’s no change to an existing project. As long as the base image for your Conductor is on the list above, Ansible Container will download and use the new images, rather than building from scratch.
If the distribution you’re looking for isn’t available, or you want to build a custom Conductor image, there’s a guide on the project’s doc site. You can also follow the example in the project’s .travis.yml file, to see how a local copy of each image is built and tested.
As the team continues working toward a 1.0 release, they plan to further refine the Conductor images. The road map currently includes adding security scans, and automating a nightly build and testing process based on the latest code in development.
Other key features that landed with this release include support for deploying Secret objects to OpenShift. Secrets can be seeded using Ansible Vault files. You’ll find documentation in the container.yml reference guide. There’s also support for deploying multi-container pods, which you can learn about in the related guide. The added support for these deployment objects continues to improve Ansible Container’s ability to deploy complex applications.
For a complete list of all the modifications and issues resolved in 0.9.2, check out the project change log. We’re excited to hear your feedback, so please reach out to us at the #ansible-container channel on irc.freenode.net, subscribe to the mailing list, or open an issue at the project repo.