TL&DR: If you happen to like working with containers, you could use netsim-tools release 0.5 to provision your container-based Arista EOS labs.
Why does it matter? Lab setup is blindingly fast, and it’s easier to integrate your network devices with other containers, not to mention the crazy idea of running your network automation CI pipeline on Gitlab CPU cycles. Also, you could use the same netsim-tools topology file and provisioning scripts to set up container-based or VM-based lab.
This is a simple topology file (let’s call it topology.yml) I used to test the setup; it creates a two-switch lab with a link between the switches.
provider: clab defaults: device: eos nodes: - s1 - s2 links: - s1-s2
- Create the containerlab topology file clab.yml with create-topology -t topology.yml -p
- Create Ansible inventory (hosts.yml), host_vars, group_vars, and ansible.cfg with create-topology -t topology.yml -i -c
- Start the lab with sudo containerlab deploy -t clab.yml
- Deploy initial configurations with initial-config.ansible
Change the provider from clab to libvirt or virtualbox and you’ll get a Vagrantfile that will set up two VMs with a point-to-point link between them1. Add
module: [ ospf ] and you’ll get OSPF routing configured together with IP addresses. How cool is that? ;)
The latest EOS version downloadable as Vagrant box is 4.21.14M. ↩︎