Arista vEOS in Cisco Modeling Labs (CML 2.0)

Truly fantastic that Arista offers vEOS as a lab version free for download. Like many network engineers I have spent my career primarily on Cisco IOS, so this has been great to get some Arista CLI during my copious spare time…riiiiight.

After lots of discussions with Arista engineers on how best to run vEOS, you get the typical response on using VirtualBox, GNS3, and others to get up a running. Yes, they do work, no doubt. However, there is another way that the Arista SA’s don’t talk about…CML. Can you blame them? Cisco Modeling Labs is the newer, upgraded VIRL labs from Cisco. It has some cool capabilities – various built-in Cisco platforms to try, run multiple labs simultaneously, traffic generators, wan emulators, and even programmability for automating the labs themselves. All of which can be run as a VM on VMWare Workstation. I would argue that CML is way easier than other platforms. You can quickly change topologies, load multiple topologies, and make interface changes on the fly. It’s quite flexible. They make four different editions – Personal, Personal Plus, Enterprise (up to 300 nodes!) and a high-education version. There is typical Cisco datasheet that talks about the various features and you can buy it right off the Cisco Learning Network Store. At the New Year, I picked up a copy for 50% off.

Getting Arista running was not too much of a problem. There’s no documentation on getting vEOS running on CML. I know…shocker. If you hit up google, I found a YAML file on GitHub that outlines the node and image definition, but all I got was a dead node. Here is the YAML file I developed to finally get it all running, for the most part, smoothly.

Arista vEOS YAML for Cisco CML

So, I have tried out basic routing and switching, L2LS, L3LS, and some programmability. It all appears to work great. On a side note, Arista is way easier when it comes to programmability than Cisco IOS-XE. Arista isn’t hiding the Linux OS somewhere in the shadows. BASH is always there and frankly it’s comforting to know. Don’t even get me going on RESTCONF. In Arista, this is a simple config command to enable, which is what you would expect. In contrast with IOS-XE, you have to enable a virtual service container which is a bit of a pain and frankly a mystery to unravel in the Cisco documentation. Probably worth a future post on that.

Now the one thing that doesn’t work with my vEOS….MLAG. I actually do see a bunch of posts around vEOS and cEOS having some issues with MLAG. Something about the KVM expectation on the MAC address bits messes with MLAG.. I’ve been playing around with some of the forums in EOS Central without avail. Honestly, I am still working on it. I don’t have it working yet and if anyone has a remediation, let me know. Essentially, whenever I enable MLAG and the port-channel on one particular vEOS router, the other vEOS router’s Etba service stops and begins resetting without success. All the interfaces go into unknown state and the only resolution is to delete the node and start over.

Anyways, hope this helps provide an alternative to running those Arista labs.

One response to “Arista vEOS in Cisco Modeling Labs (CML 2.0)”

  1. I was able to get mlag working in CML. The issue is that the system MAC starts with 52. See here: https://github.com/GNS3/gns3-gui/issues/2475

    I changed the system MAC to 0411.1111.1111 and 0422.2222.2222 by getting into bash and using this method: https://ztpserver.readthedocs.io/en/latest/tips.html#how-do-i-override-the-default-system-mac-in-veos

    Like

Leave a reply to Andrew Cancel reply