Skip to content

Examples of Ansible Runner

This repository includes ready-to-use files as an example to run Ansible Runner.

Environment in This Example

  • CentOS Stream 8 (Minimal)
  • Python 3.9
  • Docker 20.10.17
  • Ansible Runner 2.3.2

Install

python3 -m pip install ansible-runner

Prepare Required Files

Refer to projects/demo.yml and env/settings to review existing playbook and configuration.

Invoke Ansible Runner

The sample playbook in this repository will help you figure out the differences between Execution Environments, such as Ansible version, pip list, etc.

cd runner
ansible-runner run . -p demo.yml

The settings can also be given directly as arguments like --container-image without using env/settings.

Tips

  • If process_isolation is set to false as default, ansible-runner will just work as a wrapper for the local ansible-playbook command.
  • If process_isolation is set to true, connection: local points to the container itself, so the playbook cannot affect localhost which means the container host. To avoid this, you need to SSH to local host without using connection: local. Related issue for this is here.
  • container_image defaults to quay.io/ansible/ansible-runner:devel. You can check available tags for the public Execution Environment at quay.io/ansible/ansible-runner
  • The image from quay.io/ansible/awx-ee which is default Execution Environment for AWX also can be specified.
  • The process_isolation_show_paths described in the documentation does not work with Docker and Podman. Instead, you can use container_volume_mounts as described in env/settings, but this is not documented.