Network

Deploy Containerlab Stack

Nested-virt hypervisor, n9kv + cat8kv, inventory sync


Author: Matthew Fernandez

Deploy Containerlab Stack

Provisions a self-contained Cisco lab on AWS: nested-virt EC2 hypervisor, containerlab topology (n9kv + cat8kv), and ContainerLab Inventory sync. This is the starting point for the network Configure, Report, Backup, and DISA STIG demos.

Prerequisites

  • If using RHDP (demo.redhat.com): Run APD ǀ Multi-demo setup (or APD ǀ Single demo setup and choose network). AWS and AAP credentials are pre-configured for you.
  • If using your own installation: Run APD ǀ Single demo setup and choose network. Configure the AWS credential with your Access Key and Secret Key.

Survey prompts

Prompt Variable Type Required
AWS Region clab_aws_region multiplechoice Yes
Instance Type clab_aws_instance_type multiplechoice Yes
Owner clab_aws_owner_tag text Yes

Options: region us-east-2 / us-west-2; instance type c8i.2xlarge (default) / c8i.4xlarge.

  1. Provision Hypervisor — Creates VPC, subnet, security group, keypair, and launches a RHEL 9 EC2 instance with nested virtualization
  2. Deploy Topology — Installs podman and containerlab, pulls Cisco images, and starts n9kv (NX-OS) + cat8kv (IOS-XE)
  3. Sync ContainerLab Inventory — Imports the hypervisor and sets device connection details for demo job templates
  4. Submit Feedback — Opens only if hypervisor provisioning fails

Provisioning takes approximately 10–15 minutes while device images pull and virtual devices boot.

Job templates

Template Playbook Description
NETWORK ǀ Deploy Containerlab Stack network/setup.yml Workflow that provisions hypervisor, deploys topology, and syncs inventory
NETWORK ǀ Containerlab ǀ Provision Hypervisor network/provision_hypervisor.yml Creates AWS networking and the nested-virt EC2 hypervisor
NETWORK ǀ Containerlab ǀ Deploy Topology network/deploy_containerlab.yml Installs containerlab and starts the n9kv + cat8kv topology. Can also run standalone to redeploy the lab on an existing hypervisor; it discovers the running EC2 instance by tag.

Why it matters

  • Replaces external Cisco DevNet sandbox dependencies with a fully self-contained lab
  • Nested virtualization on AWS lets you run real NX-OS and IOS-XE images under containerlab
  • Dynamic inventory + SSH Proxy credentials give AAP a clean path to the lab devices
  • One workflow brings up everything the day-2 network demos need

Presenter walkthrough

  1. Show the survey: Region, instance size, and owner tag — explain how surveys keep self-service provisioning safe.
  2. Launch: Start NETWORK ǀ Deploy Containerlab Stack. Call out the three success path nodes: hypervisor → topology → inventory sync.
  3. While it runs: Explain nested virt, containerlab, and the two platforms (NX-OS n9kv on port 2122, IOS-XE cat8kv on port 2123).
  4. Inventory sync: After success, open ContainerLab Inventory and show the hypervisor/device hosts.
  5. Transition: Run NETWORK ǀ Containerlab ǀ Configure Devices, then Report, Backup, or DISA STIG.

If a device misbehaves later, rerun NETWORK ǀ Containerlab ǀ Deploy Topology by itself with the AWS Region survey. It discovers the existing hypervisor automatically and redeploys the topology without reprovisioning AWS infrastructure.

See other Network demos

Browse all Network demos →

Workflow

graph LR
  S["🏠 Start"]
  S --> A
  A["🖥️ Provision Hypervisor"] --> B["📦 Deploy Topology"]
  B --> C["🔄 Sync ContainerLab Inventory"]
  A -. "on failure" .-> D["📋 Submit Feedback"]
  style A fill:#1e3a5f,stroke:#4a90d9,color:#fff
  style B fill:#1e3a5f,stroke:#4a90d9,color:#fff
  style C fill:#162c46,stroke:#58a6ff,color:#fff
  style D fill:#4a1a1a,stroke:#ef4444,color:#fff
  style S fill:#212427,stroke:#8a8d90,color:#fff