Try Ansible Execution Environments to solve software dependencies, portability, and content separation issues and gain from other benefits of containerization!
The guide shows the power of Ansible control nodes built and run using container technology.
It concisely covers the following topics:
Introduction to execution environments (technology overview, values it brings)
Setting up your environment
Building a simple execution environment
Running your execution environment
Running community execution environments
Please try it out and help improve community experience by sharing your feedback on the Forum, on Matrix in the Ansible Community Working Group room and/or open an issue/pull request in the ansible-documentation repository!
The community Execution Environment images availability
The community execution environment container images are now available!
They are based on a latest Fedora image and get updated regularly.
There are two editions available at the moment:
community-ee-minimal: includes only ansible-core
community-ee-base: contains ansible-core and the following collections:
ansible.posix
ansible.utils
ansible.windows
If you want to include other collections or collections of different versions, just build you own custom execution environment.
thanks @Andersson007 for sharing this.
I have created my custom EE which includes Ontap Netapp, Windows, VMware, Cisco UCS, Infoblox, Powershell for Linux and AWX.
Will check if there is any change required in my EE.
Like the new guide! It is easy to follow along and seems to cover all of the basics.
One thing that I believe would be helpful to add would be to have a brief overview of the execution-environment.yml file keys that are listed in the example with a link to the Ansible Builder documentation for more details and information on other keys that can used for execution environment creation.
I’m wondering what everyone thinks about switching the default image for navigator to the new community-ee-minimal image? It would make getting started easier b/c the EE would not need to be specified…
Thanks for sharing this, I wasn’t aware that community-ee-minimal existed. I had an alternative personal repo which is made defunct by that GitHub - AlanCoding/zen-ee: Ansible execution environment with only the basics and I would like to link the official one, but I can’t find the github repository that contains the EE definition. Can you point me to the source containing the execution-environment.yml for that?
I wondered about documenting my findings on creating an Execution Environment manually (i.e. not use ansible-builder at all, just go back to the Dockerfile)
I only really did it as I got frustrated with installing a collection using git as it hadn’t installed git (although I’d specified it) before installing the collection, and also wanted more flexibility in choice of base container to use something other than yum/dnf - but the end result is, in my opinion, at least as maintainable as an execution-environment.yml
One of the other problems I solved was installing ansible-cached-lookup using pip --no-deps as otherwise I got the massive legacy ansible module rather than the preferred ansible-core (I should probably raise that as a bug there but it was easily worked around - and I know that ansible-inventory-grapher that I wrote has the same dependency bug, because it hasn’t been updated in years, so no judgment from me!)
Anyway, not sure if other people would find it interesting, I might just put it on a blog post somewhere but if it was interesting as core docs I could write it up and create a PR.
@cidrblock yep, it’s in my list;)
UPDATE: i mean to raise that question. Yep, the simpler the better + the default image size can matter for users…
The community-ee-minimal version 2.15.4-2 and community-ee-base version 2.15.4-3 execution environment images have been published. They contain some necessary system packages missed in the original releases.
Please update your ansible-navigator or AWX/Controller configuration if it uses the images.
We are sorry if it caused any inconveniences and we are working on better testing and publishing processes