a new york city based group for IT professionals

Installing Arista vEOS on VMware Workstation

So why do I want to install an Arista vEOS? Well, this is like saying “why should I buy a fully loaded Mercedez Benz S Class coupe, or a Telsa S model over a Nissan Sentra (calm down, I drove a Sentra for almost 5 years!).

Features.

At the end of the day, we usually pay more for an item because it comes with more bells & whistles, better quality, or it could be your buying a brand name Coach glasses over the CVS brand. I’d rather eat a steak over at Smith & Wollensky over on 49th and 3rd over Applebees anyway. Now that steak will be a helluva lot more — but the quality speaks for itself. You get the point, right :)

We all know there’s are other vendors out there other than Cisco. Like cars, (as you can tell, I love using the car analogies), each car manufacturer has its own style of making cars. Arista offers a feature that other vendors don’t, and that’s leaving its main OS — EOS (their version of IOS or NX-OS) and falling into the bash shell and poking around the switches inner guts. More interesting enough, Python scripts.

***update: the Cisco Nexus 9k now offers users to drop into the bash shell as well!***

[wzambrano@Arista-vEOS CliPlugin]$ pwd
/usr/lib/python2.7/site-packages/CliPlugin

[wzambrano@Arista-vEOS CliPlugin]$ ls
AaaCli.py                        EbraShowTechCli.pyc           LagIntfCli.pyc               PeerIntfCli.pyc               SendCli.pyc
AaaCli.pyc                       EbraSnmpCli.py                LagIntfMlagCli.py            PfcCli.py                     SessionCli.py
AaaModel.py                      EbraSnmpCli.pyc               LagIntfMlagCli.pyc           PfcCli.pyc                    SessionCli.pyc
AaaModel.pyc                     EmailCli.py                   LagIntfModel.py              PhyCli.py                     SflowCli.py
AclCli.py                        EmailCli.pyc                  LagIntfModel.pyc             PhyCli.pyc                    SflowCli.pyc

The output above is a small spinet of the Python scripts one can see and modify. You could even make your own in here! (im not there yet though!)

[wzambrano@Arista-vEOS CliPlugin]$ vi MacAddr.py
# Copyright (c) 2006 Arista Networks, Inc.  All rights reserved.
# Arista Networks, Inc. Confidential and Proprietary.

import CliParser, Ethernet, Arnet

#-------------------------------------------------------------------------------
# Rule for matching MAC addresses.  The value of this rule is the MAC address
# string as typed by the administrator.
#-------------------------------------------------------------------------------
macAddr = CliParser.PatternRule( Ethernet.macAddrPattern, name='macAddr',
                                 helpname='H.H.H', helpdesc='MAC address' )

def compareMacs( lhs, rhs ):
   '''Convert Mac address strings to Arnet.EthAddrs for comparison. Mac address
   strings can be in the form of either (mixed, or homogenous) XX.XX.XX or
   X:X:X:X:X:X'''
   if lhs == None or rhs == None:
      return False
   mac1 = Arnet.EthAddr( lhs )
   mac2 = Arnet.EthAddr( rhs )
   return mac1 == mac2

This is a brief script — just one example of the many python scripts that you could mess with!

OK enough of the intro, let’s jump into the config.

First, you’ll need two files (unlike IOS in GNS3, where we just need a .bin file) a boot iso file and the vmdk file. You can go to Arista’s website and sign up with an account and download these files. As of this writing, I downloaded the latest…

Aboot-veos-2.0.8.iso
vEOS-lab-4.14.5F.vmdk

Note you can also look on Arista’s page for instructions on how to install the vEOS here

https://eos.arista.com/veos-running-eos-in-a-vm/

Great, now lets fire up Workstation and create a New virtual Machine. On this screen, pick I will install the OS later.

vm1
Hit Next until we get the Guest OS Screen — here select Fedora 64-bit. In the virtual machine name, choose whatever you’d like (default is Fedora 64-bit X, you can name it vEOS or the like).

vm2vm7
Under processsor here, I just left it at the defaults, hit Next and you can leave it at 1GB of RAM, but Arita’s documentation wants 2 GB. Since its just a lab, 1 GB shouldnt hurt.

vm8

vm10

 

Click next to get to the Network Connection. Here is a personal preference on how you’d like to access your gear. Since I just wanted to access it via my own personal network, I selected bridged networking. You could also set it up as host-only, or NAT, its up to you how you’d like to access it.

 

 

vm3

Next, we’ll for the control type, you can select the default LSI Logic and then we need to pick IDE disk type (will not work with SATA as per the documentation).

vm4
vm5

Next on the Select a Disk, this where we’ll finally use one of our two files. Here, pick “use an existing virtual disk” and pick the .vmdk file. You might get a message staying to Convert or Keep the Existing format. I found  that it wouldn’t work for me until I clicked Convert.

vm11

Finally, once we get to the “Ready to Create” page, click Customized Hardware.

vm12

Here, all we need to do next is go to the CD/DVD drive and use the last file we had (the .iso) and make sure the Connect at Power On is selected. Optionally you can remove other things here like printer or sound card.vm6

Thats it! Hit Power on and when you see “booting flash:/file_name.swi” we’re clear. The default credentials here are “admin” with blank password (just hit enter). Setup an IP address on the mgmt1 interface so you can SSH to the box instead of being confined to the console window (you’ll need to setup a username XXX secret XXX priv 15 account).

vm13

Finally to get into the good stuff, once logged hit, simply type #bash from the privileged level. Linux users rejoice! CD to the python path to start looking at the python scripts via /usr/lib/python2.7/site-packages/CliPlugin Type “exit” to exit out of bash and go back to the EOS.

vm14

William Zambrano

William Zambrano

NYC networkers is run by William Zambrano, a passionate network engineer who has been in the IT industry for eight years who posts up blog articles, YouTube videos, and holds meetup.com events in the NYC area. He lives in Queens, New York and has consulted in various different companies in the NY area. Previously William worked as a Cisco Certified Systems Instructor (CCSI) but now currently works for Arista Networks serving as a Systems Engineer. William can be reached by email at willzambrano@gmail.com

More Posts - Website

3 Comments

  1. Thanks William,

    It’s really help me a lot… Hats off to you!!!

    Thanks
    Rakesh Chandela

    Reply
  2. Thanks William very good guide.

    Reply

Submit a Comment

Your email address will not be published. Required fields are marked *


4 + two =

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>