QS CloudVision As A Service
QS CloudVision As A Service
(CVaaS)
Quick Start Guide
Arista Networks
www.arista.com
May 2023
Headquarters Support Sales
5453 Great America Parkway +1 408 547-5502 +1 408 547-5501
Santa Clara, CA 95054 +1 866 476-0000 +1 866 497-0000
USA [email protected] [email protected]
+1 408 547-5500
www.arista.com
© Copyright 2023 Arista Networks, Inc. All rights reserved. The information contained
herein is subject to change without notice. The trademarks, logos and service marks
("Marks") displayed in this documentation are the property of Arista Networks in the
United States and other countries. Use of the Marks are subject to Arista Network’s Term of
Use Policy, available at www.arista.com/en/terms-of-use. Use of marks belonging to other
parties is for informational purposes only.
ii
Contents
Contents
1 CloudVision as-a-Service............................................................................1
1.1 Onboarding at a Glance....................................................................................................................1
1.2 Checklist............................................................................................................................................ 1
1.3 User Onboarding Prerequisites......................................................................................................... 4
1.3.1 Invitation URL...................................................................................................................... 4
1.3.2 Authentication Details.......................................................................................................... 5
1.4 User Onboarding Workflow............................................................................................................... 6
1.5 Onboarding Authentication Providers................................................................................................6
1.5.1 Onboarding using an Arista Provided SAML Provider........................................................ 6
1.5.2 Adding or Changing Authentication Providers After the Initial Setup...................................7
1.6 Onboarding User Accounts............................................................................................................... 8
1.7 Login to CloudVision......................................................................................................................... 9
1.8 Device Onboarding Prerequisites....................................................................................................10
1.8.1 Software Requirements..................................................................................................... 10
1.8.2 Connectivity Requirements................................................................................................ 10
1.9 Device Onboarding Workflow.......................................................................................................... 12
1.10 Onboarding Devices: Token-Based Authentication.......................................................................12
1.11 Onboarding Devices: ZTP as-a-Service Requirements.................................................................16
1.11.1 ZTP as-a-Service: Using a USB Key.............................................................................. 17
1.11.2 ZTP as-a-Service: Using a Bootstrap Script....................................................................19
1.11.3 ZTP as-a-Service: Using Embedded Token.................................................................... 20
1.11.4 Using Hardware Authentication with ZTP as-a-Service...................................................21
1.12 Connecting CloudVision Wifi Tenant.............................................................................................21
1.13 Troubleshooting............................................................................................................................. 23
1.13.1 Troubleshooting Connectivity Issues............................................................................... 23
1.13.2 Troubleshooting Device Onboarding Issues....................................................................24
1.13.3 Troubleshooting Streaming Telemetry Latency Issues....................................................24
1.13.4 Troubleshooting ZTP as-a-Service Issues.......................................................................24
1.13.5 Troubleshooting Switch Provisioning and Configuration Issues...................................... 25
1.14 Automation with CloudVision as-a-Service................................................................................... 26
1.15 CloudVision as-a-Service Support.................................................................................................29
iii
iv
1 CloudVision as-a-Service
1 CloudVision as-a-Service
CloudVision as-a-Service is an SaaS-based delivery for the Arista CloudVision management plane platform
offering modern telemetry and analytics, network-wide automation, and orchestration. As a complement to
the on-premises offering, the CloudVision as-a-Service platform offers cloud-based onboarding and feature
delivery, using secure state-streaming to an Arista managed cloud-native architecture.
This document is intended to be a quick start guide for customers who seek to onboard to the CloudVision as-
a-Service platform.
1.2 Checklist
1
Checklist Item Description
User Onboarding Prerequisites Configure the CloudVision CloudVision as-a-Service currently
Service specific information in the supports SP-initiated and IDP
authentication system. initiated login.
Cloudvision as-a-Service does
not support Microsoft ADFS.
Customers can use Azure Active
Directory (Azure AD) Connect
to configure federation with
on-premises Active Directory
Federation Services (ADFS) and
Azure AD.
switch(config)#ntp
server <vrf> <vrf-
name> <ntp server>
https://www.arista.com/en/um-
eos/eos-system-clock-and-time-
protocols
2
1 CloudVision as-a-Service
3
1.3 User Onboarding Prerequisites
4
1 CloudVision as-a-Service
5
1.4 User Onboarding Workflow
The standard onboarding workflow is:
1. Onboarding Authentication Providers
2. Onboarding User Accounts
3. Login to CloudVision
Follow the configuration guidance for your IdP from the following location; https://aristanetworks.force.com/
AristaCommunity/s/article/CloudVision-Authentication-Provider-OAuth-SAML-Configuration
• Provider: Launchpad
• Identity Provider Issuer: https://login.mojonetworks.com/idp/shibboleth
• Identity Provider Metadata URL:https://login.wifi.arista.com/casui/idp-metadata.xml
6
1 CloudVision as-a-Service
process click on the Settings and Tools icon and navigate to Access Control > Providers.
Please note that CloudVision as-a-Service does not support adding the same Authentication provider twice on
the same cluster; however, you can add multiple providers (without any duplicates) into a single cluster.
7
1.6 Onboarding User Accounts
Once the authentication provider is set up, add the admin user account in the User Information screen. Make
sure the email address matches with the email address maintained in the SSO.
Figure 3: User Information Screen
Note: To make changes or add new users to CloudVision after the initial on-boarding, navigate to
Access Control > Users under the CloudVision Settings.
Note: Please note that IDP-initiated SAML SSO login is not supported. Login at www.arista.io.
8
1 CloudVision as-a-Service
9
1.8 Device Onboarding Prerequisites
HQ-DC-leaf1#bash
[admin@HQ-DC-leaf~]$ nc -zv www.arista.io 443
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 35.221.29.186:443.
Ncat: 0 bytes sent, 0 bytes received in 0.08 seconds.
If you have multiple VRFs configured, change the VRF context. For eg. to change the VRF Context for a VRF
named “MGMT”:
10
1 CloudVision as-a-Service
Connectivity Issues
1. Verify proper DNS resolution:
11
1.9 Device Onboarding Workflow
Select the device onboarding option appropriate for your configuration:
• Onboarding Devices: Token-Based Authentication
• Onboarding Devices: ZTP as-a-Service Requirements
• ZTP as-a-Service: Using a USB Key
• ZTP as-a-Service: Using a Bootstrap Script
• ZTP as-a-Service: Using Embedded Token
12
1 CloudVision as-a-Service
13
Step 3: Provision devices
After successfully onboard the devices, they should appear under the Devices tab.
Figure 9: Devices - Inventory
Click on the wrench icon (#) to provision the device. This will take you to the device-specific page. Click on the
Device Overview tab and then click on the Provision Device button to provision the device in CloudVision
Service.
Note: Prior to clicking Provision Device, make sure the user account exists in the EOS device.
For example: Assuming [email protected] is the email address used to login to CloudVision
as-a-Service you need to have john.smith as a user configured in the device (or in TACACS+ server):
If you have TACACS+ configured for authentication, in order for CloudVision as-a-Service to properly
provision the device, the exact user account should already exist in the TACACS+ Server.
14
1 CloudVision as-a-Service
If you have a Radius server for EOS authentication, you need to add the --disableaaa argument
into the TerminaAttr config.
Figure 10: Device Overview
15
1.11 Onboarding Devices: ZTP as-a-Service Requirements
Arista’s Zero Touch Provisioning is used to configure a switch without user intervention. Built to fully leverage
the power of Arista’s Extensible Operating System (EOS), ZTP as-a-Service provides a flexible solution to
onboard EOS devices into CloudVision as-a-Service.
Requirements:
• DHCP Server: EOS device should be able to reach arista.io by obtaining valid IP settings from a DHCP
server
• EOS Version: The device should be running EOS version 4.25.5 or 4.26.1 or newer.
• Permit ZTP in CloudVision as-a-Service Cluster: ZTP as-a-Service should be enabled in the CVaaS
cluster via: Provisioning > Zero Touch Provisioning > Manage Permitted Devices
Figure 11: Zero Touch Provisioning: Manage Permitted Devices
Note: ZTP can be enabled globally for all devices or it can be managed per-device level using Serial
Numbers.
16
1 CloudVision as-a-Service
Note: The same token can be used to onboard multiple devices. No need to generate multiple tokens.
17
Step-2: Prepare a USB key.
• Create a directory called ztp inside the USB.
• Copy the token generated in step-1 into a file named token.tok in ztp directory.
• Create a file named ztpConfig.yaml (ztp/ztpConfig.yaml) and add the following content:
The configuration (/mnt/usb1/ztp/ztpConfig.yaml) should look like this:
bootstrapUrl: 'https://www.arista.io/ztp/bootstrap'
serverCaCertificate: ../../../etc/pki/tls/certs/ca-bundle.crt
enrollmentToken: token.tok
version: '1.0'
Note: Please use the following regional CVaaS URLs for the bootstrpUrl field depending on your
specific CVaaS region:
• US: https://www.arista.io/ztp/bootstrap
• Canada: https://www.cv-prod-na-northeast1-b.arista.io/ztp/bootstrap
• EU: https://www.cv-prod-euwest-2.arista.io/ztp/bootstrap
• JP: https://www.cv-prod-apnortheast-1.arista.io/ztp/bootstrap
• AU: https://www.cv-prod-ausoutheast-1.arista.io/ztp/bootstrap
Step-3: Setup a DHCP server to serve routable IP settings (Note: Device should be able to reach
apiserver.arista.io).
Example configuarion for DHCPD:
host Switch-01 {
hardware ethernet 94:8e:11:22:02:33;
fixed-address 10.10.10.181;
option host-name "Switch-01";
option bootfile-name "tftp://none";
}
}
Step-4: Plug in the USB to the EOS device and boot up into the ZTP provisioning mode. (The USB key will be
mounted on the /mnt/usb1 directory).
Note: If the device is not in the ztp mode delete the following files and reboot: rm /mnt/flash/startup-
config & rm /mnt/flash/zerotouch-config
At this point, the ZTP process should begin and the device should show up under the Provisioning > Zero
Touch Provisioning.
Step-5: Once properly registered the device should also show up in the Undefined Container on the
Network Provisioning page. Move the device into a named container and apply appropriate configlets. After
submitting the change control the device should reboot and complete the ZTP as-a-Service process.
Note: Same USB key and token can be used to onboard multiple EOS devices. Make sure the token
has not expired before proceeding.
18
1 CloudVision as-a-Service
Note: If you are using a Windows machine, please watch out for the unnecessary characters when
downloading this file. To troubleshoot whether unwanted characters are presented in the downloaded
bootstrap script file, login to the switch bash prompt and open the file using: vi /tmp/zt-download
command.
Make sure to provide the updated token information and other information in the bootstrap script.
For example:
Note: If the device is behind a non-transparent proxy please use the following cvproxy option:
Note: You can start an HTTP server using python (python3 -m http.server 8000 &), and host
the bootstrap.py file, and then point the DHCP server to download from this server location.
For detailed information about the process please refer to:
https://aristanetworks.force.com/AristaCommunity/s/article/A-Practical-Guide-to-Zero-Touch-
Provisioning-ZTP-in-Cloud-Vision-as-a-Service-CVaaS
Step-3: Direct the DHCP server to point to the bootstrap script via option-67/bootfile-name option:
Note: Make sure the ntp-servers option is set in your DHCP configuration.
For example:
host leaf-1A {
hardware ethernet fc:bd:67:aa:22:33;
fixed-address 10.10.1.180;
option host-name "leaf-1A";
option bootfile-name "http://10.10.1.10:8000/bootstrap.py";
}
19
Step-4: Boot up the EOS device into ZTP provisioning mode.
At this point, the ZTP process should begin and the device should be displayed in Provisioning > Zero
Touch Provisioning.
Step-5: Once properly registered the device should also show up in the Undefined Container on the
Network Provisioning page. Move the device into a named container and apply appropriate configlets. After
submitting the change control the device should reboot and complete the ZTP as-a-Service process.
Note: Same bootstrap script and token can be used to onboard multiple EOS devices. Make sure the
token has not expired before proceeding.
Note: For devices that have the Embedded Token support please refer to the Platform-Specific
Feature Set Guide (ZTP Platform support for CloudVision as-a-Service).
You can use following command to verify whether the device has the Embedded token support:
According to your specific CVaaS region please use the following regional CVaaS URLs in the DHCP server
bootfile-name option (Option-67).
• US: https://www.arista.io/ztp/bootstrap
• Canada: https://www.cv-prod-na-northeast1-b.arista.io/ztp/bootstrap
• EU: https://www.cv-prod-euwest-2.arista.io/ztp/bootstrap
• JP: https://www.cv-prod-apnortheast-1.arista.io/ztp/bootstrap
• AU: https://www.cv-prod-ausoutheast-1.prod.arista.io/ztp/bootstrap
Example:
host leaf-1A {
hardware ethernet fc:bd:67:aa:22:33;
fixed-address 10.10.1.180;
option host-name "leaf-1A";
option bootfile-name "https://www.arista.io/ztp/bootstrap";
}
Note: By default, a device will be mapped to the primary CVaaS tenant of the customer. For
customers that have multiple CVaaS tenants, in order to update the device to tenant mapping for a
device please create a support ticket.
20
1 CloudVision as-a-Service
4. Change the profile from Custom to Admin and save the new setting.
Figure 16: Change Profile
5. Go to CloudVision Service (Arista.io) and log in. Click the settings wheel on the upper right side of the
screen. In General settings, you can add the Wifi Cloud Connector.
a. Click the settings wheel upper right.
b. Click the settings wheel upper right and select the Wifi Cloud Connector configuration button.
c. Input the URL, Key ID, and Value.
• URL: launchpad.wifi.arista.com (do not include https:// or trailing /)
21
• KeyID: from Launchpad
• Key Value: from Launchpad.
Note: Once the Key value has been saved in CloudVision, this field will show the encrypted value,
if you need to add the key again, you must copy it from the LaunchPad portal.
Figure 17: Launch Pad - Settings
Under Cluster Management, if Allow Identity Provider Initiated Login for SAML displays as an option, it
must be toggled to enabled.
22
1 CloudVision as-a-Service
1.13 Troubleshooting
HQ-DC-leaf1#bash
[admin@HQ-DC-leaf~]$ nc -zv apiserver.arista.io 443
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 35.221.29.186:443.
Ncat: 0 bytes sent, 0 bytes received in 0.08 seconds.
If you have multiple VRFs configured, first change the VRF context:
Note: If this is unsuccessful please check your DNS server configuration. If no DNS servers present
please add the ip name-server configuration as follows:
23
1.13.2 Troubleshooting Device Onboarding Issues
Other issues
• TerminAttr agent log files might provide additional information to enhance the troubleshooting process.
You can access the TerminAttr logs using following commands:
Switch-01#bash ls /var/log/agents/TerminAttr-*
/var/log/agents/TerminAttr-2223
Switch-01#bash cat /var/log/agents/TerminAttr-2223
24
1 CloudVision as-a-Service
characters are presented in the downloaded bootstrap script file, login to the switch bash prompt and open
the file using the: vi / tmp/zt-download command.
!
daemon TerminAttr
exec /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443
-cvcompression=gzip -cvvrf=MGMT <truncated>
no shutdown
!
hostname Leaf-7050SX3-211
ip name-server!
ntp server vrf MGMT time.google.com
!
aaa authorization exec default local
!
username admin privilege 15 role network-admin secret <>
username john.smith privilege 15 role network-admin secret <>
!
vrf instance MGMT
!interface Management1
vrf MGMT
ip address 10.240.129.211/25
!
ip route vrf MGMT 0.0.0.0/0 10.240.129.129
!
!
sflow sample 16,384
sflow polling-interval 120
sflow destination 127.0.0.1
sflow source-interface Loopback0
sflow run
!
interface Loopback0
!
interface Management1
vrf MGMT
ip address 10.240.129.211/25
!
25
1.14 Automation with CloudVision as-a-Service
Use the Generate Service Account Token section to create a new token by providing a description and an
expiration date. This token can be used to send API calls to the CloudVision Service instance.
Figure 19: Edit Service Account Token
Note: The token will only be shown once. Make sure to copy this to a local file. During automation this
token file will be used to send API calls to the CloudVision Service.
Figure 20: Token Generated
26
1 CloudVision as-a-Service
Using Python
Python based CVPRAC module (https://github.com/aristanetworks/cvprac) provides a REST API client for
Cloudvision. Install CVPRAC using pip or directly from the source as described in the Installation section. To
send API calls to the CloudVision Service using CVPRAC module set the is_cvaas option to True as follows.
Note: Token is needed to send API calls to the CloudVision Service. Obtain a token using a Service
Account as shown in the previous section.
27
>>> print(clnt.api.get_configlet_by_name('CloudTracer')){'key':
'configlet_843806b0-a015-491b-af2b-12486a38d05f', 'name': 'CloudTracer',
'reconciled': False, 'config': 'monitor connectivity\n host aws-us-east-1\n
ip 52.216.227.10\n, <truncated> 'typeStudioConfiglet': False}
Using Ansible
Starting with the release 2.1.1 Ansible CVP supports CloudVision as-a-Service.
CloudVision Ansible bundle can be downloaded from here: https://github.com/aristanetworks/ansible-cvp. To
authenticate with a CloudVision as-a-Service instance update the authentication steps as follows:
28
1 CloudVision as-a-Service
29
30