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
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 |
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 |
Matches the AAP terminal tab and the Ansible Automation Platform web UI. Cloud-init in the lab commonly creates user |
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