Register now for better personalized quote!

HOT NEWS

virl up -NetDevOps Network Simulation Done Right

Jun, 28, 2018 Hi-network.com

Are you ready to have your mind blown by something so cool you'll wonder how you lived without it before?  Of course you are... so without further a-do let me introduce you to virlutils, the NetDevOps command line tool for Cisco VIRL and Cisco CML.

Manage your virl simulations in the NetDevOps way!

If you are not familiar with VIRL or CML, they are network modeling and simulation tools from Cisco that allow engineers to design, share and run network simulations composed of both Cisco and 3rd party devices.  VIRL is for single users and CML is designed for enterprises looking for a large shared platform for simulations.  And if you are new to the NetDevOps revolution, might I suggest popping over to checkout Embrace NetDevOps, Say Goodbye to a "Culture of Fear" after you finish reading this post.  

If you prefer to watch and listen rather than read... here's a great video intro to virlutils

The backstory...

If you've used VIRL before, you're likely familiar with the VM Maestro GUI for creating and managing your simulations. Maybe you've even explored "UWM" the web management interface. Both are useful for creating a new topology, or getting started with the tools. However, as a network developer I tend to avoid pointing and clicking my way through tasks.

Most VIRL users leverage the GUI... but there's a better way.

I've long been a fan of the open source tool Vagrant by Hashicorp.  It provides a CLI interface developers can use to easily create and manage their dev environments for software projects, and I've written DevNet Learning Labs that will help you see how Vagrant can fit into the network developers workflow.  I love the simplicity of typing "vagrant up" and having my network created automatically, but when working with a network topology larger than 2 (or maybe 3) nodes Vagrant + VirtualBox struggles to meet demands.

It was out of the experiences with Vagrant that I started thinking about how awesome it would be if we could just "virl up".  I had this vision of network engineers just like you sitting down to run through a demo you saw on a webinar or at Cisco Live in DevNet Zone... You open up your command line terminal and enter

git clone https://github.com/CiscoDevNet/really_awesome_demovirl up

And with that you have the entire demo up and running...

I bounced the idea off one of the sharpest NetDevOps engineers I know, Kevin Corbin.  Kevin immediately saw the potential of the idea, and, like the network automation unicorn that he is, he built some POC code for virlutils over a weekend.  Now several months and many additional features later, virlutils has become a key part of my regular workflow.  It is definitely time for everyone to benefit from this great project.  Let's take a look at how it works!

Kevin Corbin discusses NetDevOps with Cisco Executives

virlutils makes it easy to start a network simulation

Like any network automation project worth looking at, virlutils is written in Python and available up on PyPi.  Simply "pip install" to get going.  (Note: virlutils will work in both Python 2.7 and 3.6 work and the use of a virtual environment is recommended)

virlup-demo\$python3.6 -m venv venvvirlup-demo\$source venv/bin/activate(venv) virlup-demo\$pip install --upgrade virlutilsCollecting virlutils..Successfully installed ... virlutils-0.8.2

Next you need to let virlutils know about your VIRL or CML server.  There are several ways to do this (see documentation), but the simplest is to create a file called ".virlrc" in your home directory that contains the address and credentials for your server.

(venv) virlup-demo\$cat ~/.virlrcVIRL_HOST=10.194.141.30VIRL_USERNAME=guestVIRL_PASSWORD=guest

The next step is to "virl up" your simulation. But what simulation?... If you have a simulation topology that you have already created, you can simply save the ".virl" file in your directory as "topology.virl" (any file name will work, but virlutils will look for topology.virl by default). But what if you don't have a topology file handy?  Well let's "virl search" for one...

(venv) virlup-demo\$virl search Displaying 6 Results

tag-icon Hot Tags : SDN NFV devops network automation netdevops VIRL Testing Cisco AI/ML simulation

Copyright © 2014-2024 Hi-Network.com | HAILIAN TECHNOLOGY CO., LIMITED | All Rights Reserved.