Workshop details

Timing and schedule

Full workshop (6 hours)

  • 1-1: Explore the lab environment (30 minutes)

  • 1-2: First network automation playbook (30 minutes)

  • 1-3: Ansible facts on network devices (30 minutes)

  • 1-4: Network resource modules (45 minutes)

  • 2-1: Explore Ansible Automation Platform (30 minutes)

  • 2-2: Create a job template (30 minutes)

  • 2-3: Create a survey (30 minutes)

  • 2-4: Role Based Access Control (45 minutes)

  • 2-5: Create a workflow (45 minutes)

  • Break time: As needed between modules

Abbreviated workshop (3 hours)

  • 1-1 through 1-4: Module 1: Network Basics (90 minutes)

  • 2-1 through 2-2: Intro to AAP basics (60 minutes)

  • 2-5: Workflow (30 minutes)

Technical environment

Software versions

  • Red Hat Ansible Automation Platform 2.x

  • Ansible Navigator (latest)

  • Execution environment: network-ee (pre-built with all required network collections)

Network collections included

  • cisco.ios — Cisco IOS-XE modules

  • arista.eos — Arista EOS modules

  • junipernetworks.junos — Juniper Junos modules

  • ansible.netcommon — Common network modules

Environment access

Participants have access to:

  • AAP terminal — Web-based shell on the control VM (the host where Automation Platform runs)

  • Containerlab terminal — Web-based shell on the containerlab VM (bastion: ansible-navigator, lab tooling, and access toward the network topology)

  • Ansible Automation Platform — Web UI (https://control-…​;)

All credentials are provided in the lab interface.

Lab VMs and SSH between hosts

The VMs are defined in the lab config by these names (they are the virtualmachines[].name values your provisioning system uses):

Name Typical role Notes

containerlab

CLI / bastion side of the lab (AnsibleGroup bastions in config/instances.yaml)

Where most command-line exercises run; matches the Containerlab terminal tab and the VS Code tab. Workshop modules often show prompts with a bastion user and hostname supplied by the live lab (not fixed in this doc).

control

Ansible Automation Platform host (AnsibleGroup isolated)

Matches the AAP terminal tab and the Ansible Automation Platform web UI. Cloud-init in the lab commonly creates user rhel with password ansible123! unless your instructor says otherwise.

Connecting to routers

SSH to the routers (rtr1, rtr2, rtr3, rtr4) works from any lab node — VS Code terminal, Containerlab terminal, or AAP terminal. The SSH config is set up on all hosts, so you can simply type:

ssh rtr1

No password is required. This works from any terminal in the lab environment, including the VS Code integrated terminal which is the recommended way to work through the exercises.

Using VS Code

VS Code is available as a browser tab in the lab interface. It provides a file browser, text editor with syntax highlighting, and an integrated terminal — all in one place. For the best experience, right-click the VS Code tab and open it in its own browser window.

SSH from the control VM to containerlab: try the same logical name the platform gives the VM, usually the short hostname containerlab:

ssh rhel@containerlab

If that does not resolve, check what your deployment actually injected: run getent hosts containerlab, inspect /etc/hosts, or read the bastion hostname in the lab user-info / launch page (it may be a short name, FQDN, or IP). RHDP naming can differ slightly by cluster; the authoritative value is whatever resolves from inside control on the shared lab network.

Authors and contributors

Adapted and maintained by: Sean Cavanaugh (@IPvSean)

Based on: Ansible Workshops by Red Hat

Workshop version: 1.0