CertGrid CertGrid
Hands-on Lab·Ansible

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

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.

The container runs on the control node; the managed nodes are unchanged and know nothing about it.
Server NameIP AddressOSRolesCPURAMHDD
ANS-CTL01192.168.0.36Ubuntu 26.04 LTSAnsible Control Node2 Core3 GB50 GB
ANS-A01192.168.0.37Ubuntu 26.04 LTSManaged Node (group: web)2 Core3 GB50 GB
ANS-B01192.168.0.38Ubuntu 26.04 LTSManaged Node (group: db)2 Core3 GB50 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.

Before you start

  1. The configuration this guide assumes

  2. The problem it solves

  3. A container runtime and the tool

  4. What is inside one

  5. Running a playbook inside it

  6. The config file that saves the flags

  7. What the container can and cannot see

Official sources