Ansible Execution Environments and ansible-navigator
An execution environment is the control node packaged as a container image: ansible-core, its collections and their Python dependencies, versioned together. ansible-navigator runs your playbook inside one. It is not on the objective list, and it is what a current Red Hat automation setup actually looks like.
Bonus: Beyond the Blueprint Guide 42 of 45 Advanced
- OSUbuntu 26.04 LTS
- ansible-core2.20.1
- Python3.14.4
- TimeAbout 17 min
ansible-navigator needs a container runtime - podman here, docker also works with --ce docker. The image used is community-ee-minimal at 445MB; Red Hat's supported images are larger and require a registry login. --pp never stops it re-pulling on every run, which matters on a slow link.
| Server Name | IP Address | OS | Roles | CPU | RAM | HDD |
|---|---|---|---|---|---|---|
| ANS-CTL01 | 192.168.0.36 | Ubuntu 26.04 LTS | Ansible Control Node | 2 Core | 3 GB | 50 GB |
| ANS-A01 | 192.168.0.37 | Ubuntu 26.04 LTS | Managed Node (group: web) | 2 Core | 3 GB | 50 GB |
| ANS-B01 | 192.168.0.38 | Ubuntu 26.04 LTS | Managed Node (group: db) | 2 Core | 3 GB | 50 GB |
This guide includes
Use this when the control node's own Python is the problem. This matters because an execution environment is the control node packaged as a container image - so the collections and dependencies travel with the playbook.
- naming the problem an execution environment actually solves
- checking the container runtime, and the tool that drives it
- looking inside the image, since it is only a container
- running a playbook inside it
- moving the flags into a config file, and finding what the container can and cannot see
Before you start
- A control node with
podman,ansible-navigatorand an EE image already pulled - the session installs none of them, it uses them. - This guide changes nothing on the managed nodes.
-
The configuration this guide assumes
-
The problem it solves
-
A container runtime and the tool
-
What is inside one
-
Running a playbook inside it
-
The config file that saves the flags
-
What the container can and cannot see