Network Automation

Date: 5th – 8th June, 2023
Location: Paro College of Education, Paro
Venue: PCE
Trainer: Anurag Bhatia, Hurricane Electric
Co-Trainer: Kinga Lhaden Drakpa, Tashi InfoComm Ltd.


Day 1: Docker day

  • Linux intro – distros, choice of OS, basic commands to handle Linux machine, editing config files etc.
  • Introduction to docker – concept & some popular applications (smokeping, LibreNMS, Netbox, Uptime Kuma etc)
  • Managing Docker containers in production – reverse proxy, backups on S3 endpoint

Day 2: Ansible day

  • Introduction to Ansible
  • Intro to YAML
  • Intro to Git
  • Writing and executing playbooks against a VyOS router, demo on Mikrotik CHR router images, theory + hands-on lab
  • Storing code in Git, basics of code management
  • Hands-on lab to set up a backup of router config, basic setup etc

Day 3: Gitlab CI/CD pipeline day

  • Intro dot Gitlab CI/CD pipeline
  • Integrating day 1 and day 2 things on this day i.e hands-on lab to execute Ansible Playbooks via Docker container triggered via Gitlab CI/CD pipelines

The ultimate goal for the day would be by end of the day attendees should be able to create buttons to push any sort of config via Gitlab with some checks and balances to any of the routers/switches/devices supported via Ansible


Day 4: LibreNMS + Gitlab integration

  • Covering how alerts work in LibreNMS. The setting of basic alerts like low optical power, interface errors, port down, device down, temperature alert etc.
  • Introduction to REST API concept
  • Using LibreNMS API alert transport to make LibreNMS “speak to” Gitlab CI/CD pipeline to trigger playbooks on pre-defined actions