CloudVision Portal RESTful API Client

Arista Cloudvision® Portal (CVP) provides a central point of management for Arista network switches through shared snippets of configuration (configlets) enabling Network Engineers to provision the network more consistently and efficiently. While CVP highlights a graphical user interface for configuration and management of devices, it also includes a full-featured RESTful API that provides all of the same functionality available via the GUI which can be used to automate workflows and integrate with other tools. CVPRAC is a wrapper client for CVP’s RESTful APIs which greatly simplifies usage of the API and more elegantly handles the connections to the CVP nodes....
Continue reading →

CVP APIs: A Non-Programmer’s Guide

Contents1. What are CVP APIs?2. Why are CVP APIs useful?3. How are CVP APIs used?4. Which approach of using the CVP APIs is best?5. What information is actually exchanged when using CVP APIs?6. What CVP API documentation exists?6.1 What documentation gives an overview of all the APIs?6.2 What documentation exists for using the Python CVP REST API client?6.3 What documentation exists about the underlying CVP implementation?7. What do some illustrative examples look like?7.1 What is the Python with requests library implementation?7.2 What is the Python with CVPRAC implementation?8. What are some recommended first steps in actually getting started using the...
Continue reading →

Configure Linux or Microsoft DHCP Server for ZTP using CloudVision

Configure Linux or Microsoft DHCP for ZTP using CloudVision   ContentsSummaryLinux DHCP StepsStep 1 – Edit the DHCPD.CONF fileStep 2 – Option 3 Router and DHCP Relay ConfigStep 3 – Enable the DHCP ScopeStep 4 – Optional – Static DHCP MappingsStep 5 – Optional – Multiple DHCP Subnets on CloudVision ServerStep 6 – Optional – Vendor Class ID Code OptionStep 7 – Configure the ZTP switch in CloudVisionZero Touch Replacement and CloudVisionStep 1 – Initiate ZTRStep 2 – Execute the Pending TaskConfiguring Microsoft Windows DHCP ServerConclusion Summary One of the many features CloudVision offers along with Configuration management, image management,...
Continue reading →

Demo: CloudVision skill for Amazon Alexa

Great APIs accelerate development of new applications and integration with existing tools and services. Check out the sample CloudVision skill for Amazon Alexa that the EOS+ Consulting Services team put together one afternoon! Please share and use the comments to tell us about other integrations that you would find interesting and useful!

Common Issues When Deploying CVX 4.18.2F on vCenter 6 or 6.5

Common Issues When Deploying CVX 4.18.2F on vCenter 6 or 6.5  ContentsSummaryCVX Deployment InstructionsReceived an “OVF package is invalid and cannot be deployed” when using an OVF method of installation VM keeps rebooting, showing “This is not a bootable disk. Please insert a bootable floppy and press any key to try again..Conclusion Summary   This article will go over how to install CVX on a vCenter 6 appliance. Starting from vCenter 6, there was a change in the OVFTool built into vCenter that changes the SHA hashing algorithm from 1 to 256. There is also an issue with 6.5 where it...
Continue reading →

Using dynamic Ansible inventories to manage CloudVision switches.

ContentsAnsible Dynamic libraries with CloudVision  SummaryCloud vision API Please copy the following files from CVP to you’re Python library files before moving forward. Python script CVP Implementation  Ansible Dynamic libraries with CloudVision  The common question when talking with customers about CloudVision is are we able to also use a configuration management tool such as Ansible along with CloudVision?  You can use CVP and Ansible to both manage your Arista devices.  This is a guide to dynamically pull CloudVision for its devices and automatically have Ansible use those CVP managed devices.  Arista has supported Ansible EOS modules for quite some time and are still innovating on...
Continue reading →

Alias – Simple yet powerful

Alias – Simple yet powerful   About: Alias mySimpleAlias <a maybe complicated command you would never remember>     Alias commands can be composed of multiple lines and embed variables. Below is an example of alias used as configuration template for automating configuration with just few arguments. Sunch template can satisfy complex configurations and be highly reusable. This high-level scripting or command bundling is simple to implement yet powerful.     The below example is a multi-line alias with variables (%<x>)   alias set-baremetal !! Syntax : set-baremetal <INTF> <Po ID> <DESCR> <VLAN> !! Example: set-baremetal e1,2 po1 “To Server...
Continue reading →

Changing the switchport default mode

By default all ports on an Arista switch are configured to be switch ports, as you would expect. If you are mostly dealing with routed ports, this behaviour may not be totally desirable. Starting in EOS-4.18.0, this behaviour is configurable e.g. we can have all interfaces in routed mode by default. switch1...11:10:56(config)#show run int et 1-4interface Ethernet1interface Ethernet2interface Ethernet3interface Ethernet4switch1...11:11:00(config)#show interface Et1-4 switchport | i Name|Switchport:Name: Et1Switchport: EnabledName: Et2Switchport: EnabledName: Et3Switchport: EnabledName: Et4Switchport: Enabled To change the default, simply issue the configuration command switchport default mode routed As you can see, all interfaces are now in routed mode by default:...
Continue reading →

VM Tracer configuration on a layer 2 switch

Introduction There are many network architectures, which include a separate network for out-of-band management. All Arista switches come with at least one designated management interface that is VRF-aware. When VM Tracer is configured on an Arista switch, by default, vCenter communication will be sourced from the management interface. There are situations where a layer 2 switch has the management interface configured in a separate VRF, not reachable from the vCenter network segment.  Objective Create reachability to vCenter from layer 2 switches that have the management interface configured in a separate VRF, not reachable from the vCenter network segment.  Prerequisites Proper VM Tracer configuration...
Continue reading →

Export CVP Functionality to Ansible

In some network environments there is a separation of responsibility for the network infrastructure and the server side equipment. In these environments, different groups responsible for managing different equipment could use different tools for the job. This guide will discuss one of the several options for integrating Arista’s network management tool, CloudVision Portal (CVP), into an Ansible environment. ContentsSummaryImplementationNetwork TeamServer TeamExample playbook and setup Summary In this example, the environment uses Ansible as the configuration management tool for server provisioning but uses CVP for network management. The environment is set up to allow the server team to provision top of...
Continue reading →

Leveraging CVP Telemetry and ZTP in an Ansible Environment

This guide will discuss one of several options for integrating Arista’s network management tool, CloudVision Portal (CVP), into an Ansible environment. ContentsSummaryImplementationScripts and Config fileScript 1: Initial Provisioning scriptScript 2: Ansible Handoff scriptConfig file: config.ymlExample Summary In data center environments where Ansible is used for configuration management of all devices including networking equipment, the network operations team may want to leverage the telemetry and Zero Touch Provisioning (ZTP) functionality provided by the CloudVision Portal product. In this example, CVP will be used for ZTP, image upgrades, and telemetry while Ansible will be used to manage the switch configuration directly. Documentation...
Continue reading →

Analyzing Packet Header Timestamps in Wireshark

ContentsArista Packet Header TimestampsHeader FormatLua in WiresharkThe Timestamp Dissector Loading the dissector Arista Packet Header Timestamps EOS 4.18.1F added header time stamping of all packets received on any tap interface in Tap Aggregation mode on the 7500/7280E and 7500/7280R. Full details on the implementation can be found in the feature’s TOI: https://eos.arista.com/eos-4-18-1f/tap-aggregation-ingress-header-time-stamping/ Since the timestamp is a new ethernet header, Wireshark doesn’t yet have a built in dissector for the protocol. We can write a dissector in Lua to do this for us. Header Format First we need to understand the new header format. The timestamp header is a new Ethernet/L2 header...
Continue reading →

Graphing Arista EOS with Grafana,Telegraf and influxDB

ContentsIntroRequirementsInstall influxDB Install GrafanaInstall Telegraf on EOS Grafana Dashboard Intro Arista devices leverage the Extensible Operating System(EOS): at the core of every Arista devices lies an unmodified Linux Kernel running a distribution of Fedora Core Linux.  Therefore, EOS devices behavior very similarly to Linux servers.  For a very long time Linux administrators have used a process on each Linux server to send metrics to a external data base and observe those metrics with a graphing tool. Since EOS is Linux-based, we are able to run the same collector agents on a Arista EOS device to collect metrics. This post will be a bit elaborate in...
Continue reading →

CloudVision Automated snapshot using Cloudvision API

ContentsPurposePrerequisitesStepsStep 1 – Create a snapshot templateStep 2 – Write a python script to perform Snapshot operation Step 3 – Create a cron job (Supported in Linux/Unix/Mac OS)Step 4 – Check the automated Snapshots on the GUI Appendix Further Reading Purpose The purpose of this document is to build an automated task to create container based snapshots using the CloudVision API along with a scheduled cron job from any reachable Unix/Linux/Mac server. This script will come in handy to compare network status/configuration of your entire network by taking snapshot on a predefined schedule and can be modified if an administrator’s requirements change....
Continue reading →

Arista Data Center Interconnect Solutions – Next-Generation 7500R 200G Coherent DWDM Platform

Introduction The latest smartphone app, mobile game, instant messaging tool or video sharing site hits the media, and all of a sudden everyone over the age of 20 discovers what the under-20’s have known for a while and download, install, use and share it. This trend repeats and repeats. This is the modern world of mobile, cloud networks and mega-scale datacenters. Keeping up with the latest trends is not just a problem for those old enough to remember texting with numeric keypads but also for the operators of these datacenters.   More content, in more locations and at significantly faster...
Continue reading →

Datacenter Deployment Automated

Planning Methodology There is a lot of talk about automation in the datacenter which indeed saves time but a lot of effort still goes into planning. After all, failing to plan is planning to fail. I needed a way to start automating some of the planning and repetitive tasks needed for deploying the same blueprint across various sites. One of the bigger tasks is the IP Plan and making sure that the correct IP’s get used in configurations. Additionally making sure that the same methodology gets used on different sites. Initially, I set out to use a very nice utility...
Continue reading →

Interface Errors Explained

“show interface” is one of the more common commands that every network engineer uses. However, sometimes it’s not always clear what some of the displayed interface-level errors mean. This article explains some of the more common errors, their meaning, and possible causes. SymbolErrors * device receives invalid symbols in the frame * points to physical problems Alignment Errors – both conditions must be met: * The number of bits received is an odd byte count * The frame has a Frame Check Sequence (FCS) error * points to MAC layer or physical problems FCS Errors = frames failing FCS check...
Continue reading →

Using Jinja Templates on CVP

ContentsWhy use Jinja?Usage of Jinja2 on CVPDigging deep into the example.py scriptRendering information into templatesNotes to remember Why use Jinja? Jinja2 is a user-friendly template engine for Python. It is easy to learn and use, and also fast – as a result, a lot of developers use it these days. It is easy to model since its syntax is quite similar to Python; debugging is easy, in fact quite similar to Python’s debugging capabilities. To install Jinja, download Jinja2 from https://pypi.python.org/pypi/Jinja2 and install it in the /cvp/pythonlab/Lib folder. Usage of Jinja2 on CVP In CVP, we have the facility of...
Continue reading →

Using an SFP/SFP+ transceiver in a QSFP+/QSFP100 port

Introduction Situations may arise where a QSFP+ or QSFP100 (QSFP28) port must be utilized by an SFP+ or SFP adapter. Mellanox has a physical adapter (P/N: MAM1Q00A-QSA). This adapter is a physical cage that fits into a QSFP port and has an opening that fits an SFP or SFP+ transceiver. NOTE: Specific hardware used in this exercise: DCS-7150S-64-CL-R, Software image version: 4.17.3F. You should check the release notes for your version of EOS and model hardware to insure support. Currently, this adapter is tested with SFP (1G) or SFP+(10G) —  (not SFP28/25G). Objective An SFP+ or SFP transceiver can be fit...
Continue reading →