Skip to content
Snippets Groups Projects

Ansible playbook for deploying a ContainerLab node

This playbook is used to install ContainerLab on a VM, and test network configurations.

To run this playbook:

  1. Clone the base template (in Proxmox) "cl-base-os-template"
  2. Get the ip address of the new VM, and configure your ssh environment
  3. Create & activate a python virtual environment and install ansible
  4. Update inventory.yml so that your VM is defined in the "dev_environments" goup
  5. update group_vars/dev_environments.yml with your gitlab.geant.net username and personal access token
  6. Run ansible like this: ansible-playbook -i inventory.yml playbook.yml

To ssh into the nat user's shell, you'll need the containerlab-rsa private key ("b3BlbnNzaC1rZXktdjEAAAAABG5...")

To start ContainerLab (e.g. project lab01):

  1. shell into the nat user
  2. cd lab01
  3. sudo containerlab deploy

To view the currently running ContainerLab status:

  1. navigate to the same directory as above (e.g. lab01)
  2. sudo containerlab inspect

For pushing images to the (private/internal) repository at gitlab.geant.net, refer to this readme document. The approach is agnostic to the used registry however, as long as the registry URL is properly set in the group variables.