Skip to content

CloudVision Portal Upgrade

Arista Account

This lab requires valid credentials on arista.com to download CVP software upgrades. Without an entitled account you will not be able to complete this lab.

This lab assumes you have completed the previous lab, CloudVision Initial Configuration.

Preparing for the Lab

  1. Retrieve your api access token from arista.com.

    1. Click here to browse to your profile page on Arista.com

      1. Log in if you haven't already.
    2. Record the api access token for your user account.

  2. From the ATD Lab overview page, click Programmability IDE to launch the VSCode instance.

  3. In the VSCode window, select the upper left menu icon, then select Terminal, then New Terminal.

    vscode

Lab Tasks

  1. From the VSCode terminal, ssh to the CVP server at 192.168.0.5 as root using the password you set during the initial installation.

    Command

    ssh root@192.168.0.5
    

    Enter yes to accept the key.

    Expected Result

    ➜  project ssh root@192.168.0.5
    root@192.168.0.5's password:
    Last login: Fri Aug 23 17:37:15 2024 from gateway
    [root@cvp ~]#
    
  2. Check CVP server version with cvpi command.

    Command

    cvpi version
    

    Expected Output

    [root@cvp ~]# cvpi version
    
    
    cvpi version 2024.1.0-2 go1.19.5
    [root@cvp ~]#
    
  3. Exit SSH session from CVP back to VSCode.

    [root@cvp ~]# exit
    logout
    Connection to 192.168.0.5 closed.
    ➜  project
    
    Where am I?

    You should now be back to the terminal session on the ATD jumphost in the VSCode window. Notice the prompt changes back to ➜ project from the previous step as you exit the SSH session.

  4. Clone example scripts repo, and examine the script help option.

    Note

    This repo will provide a handy script to download the CVP upgrade file locally to the ATD jump host. This script can also be used outside the ATD lab to download the upgrade file directly to the CVP server.

    1. Change directory to labfiles and clone the necessary repo.

      Command

      cd labfiles
      

      Command

      git clone https://github.com/Hugh-Adams/Example_Scripts.git
      

      Expected Output

      ➜  labfiles git clone https://github.com/Hugh-Adams/Example_Scripts.git
      Cloning into 'Example_Scripts'...
      remote: Enumerating objects: 573, done.
      remote: Counting objects: 100% (23/23), done.
      remote: Compressing objects: 100% (17/17), done.
      remote: Total 573 (delta 6), reused 17 (delta 6), pack-reused 550 (from 1)
      Receiving objects: 100% (573/573), 1.37 MiB | 8.12 MiB/s, done.
      Resolving deltas: 100% (259/259), done.
      ➜  labfiles
      
    2. Navigate to the directory where the script resides.

      Command

      cd Example_Scripts/Tools/Get_UpgradeFile_CVP
      
      1. Check the directory contents with the ls command.

        Command

        ls
        

        Expected Output

        ➜  labfiles cd Example_Scripts/Tools/Get_UpgradeFile_CVP
        ➜  Get_UpgradeFile_CVP git:(main) ls
        CVPgetUpgrade.py  CVPgetUpgradeV2.py  CVPgetUpgradeV3.py
        ➜  Get_UpgradeFile_CVP git:(main)
        
    3. Invoke the CVPgetUpgradeV2.py script with the --help flag. Notice the --token and --upgrade argument options.

      Command

      python3 CVPgetUpgradeV2.py --help
      

      Expected Output

      ➜  Get_UpgradeFile_CVP git:(main) python3 CVPgetUpgradeV2.py --help
      usage: CVPgetUpgradeV2.py [-h] --upgrade UPGRADE --token TOKEN [--proxyType PROXYTYPE] [--proxyAddr PROXYADDR] [--test] [--nofile]
      
      options:
      -h, --help            show this help message and exit
      --upgrade UPGRADE     CloudVision Upgrade File Name i.e. cvp-upgrade-2020.2.3.tgz
      --token TOKEN         User API access token found at https://www.arista.com/en/users/profile
      --proxyType PROXYTYPE
                              Type of proxy http or https
      --proxyAddr PROXYADDR
                              IP address or URL of proxy server
      --test
      --nofile
      ➜  Get_UpgradeFile_CVP git:(main)
      
  5. Download the CVP Upgrade file using api access token retrieved earlier.

    Command

    python3 CVPgetUpgradeV2.py --token <your token here> --upgrade cvp-upgrade-2024.1.2.tgz
    

    Expected Output

    ➜  Get_UpgradeFile_CVP git:(main) python3 CVPgetUpgradeV2.py --token <your token here> --upgrade cvp-upgrade-2024.1.2.tgz
    <Response [200]>
    
    1. Verify the download.

      Command

      ls /tmp/upgrade
      

      Expected Output

      ➜  Get_UpgradeFile_CVP git:(main) ls /tmp/upgrade
      cvp-upgrade-2024.1.2.tgz
      
      Note

      The download will be written to the /tmp/upgrade directory. The script does not output download progress, and will take some time to complete with the code. Please be patient.

  6. Transfer the upgrade file to the CVP server.

    1. Create /tmp/upgrade directory on CVP server.

      Command

      ssh root@192.168.0.5 mkdir /tmp/upgrade
      
    2. Transfer the CVP upgrade file to the CVP Server.

      Command

      scp /tmp/upgrade/cvp-upgrade-2024.1.2.tgz root@192.168.0.5:/tmp/upgrade/
      

      Expected Output

      ➜  Get_UpgradeFile_CVP git:(main) scp /tmp/upgrade/cvp-upgrade-2024.1.2.tgz root@192.168.0.5:/tmp/upgrade/
      root@192.168.0.5's password:
      cvp-upgrade-2024.1.2.tgz                                                                                                                                      17% 1297MB 139.5MB/s   00:44 ETA
      
  7. Start the CVP upgrade process.

    1. SSH to cvp the server.

      Command

      ssh root@192.168.0.5
      
    2. Navigate to /tmp/upgrade.

      Command

      cd /tmp/upgrade
      

      Verify the upgrade file is there.

      Command

      ls
      

      Expected Output

      [root@cvp upgrade]# ls
      cvp-upgrade-2024.1.2.tgz
      [root@cvp upgrade]#
      
    3. Change user to cvpadmin, choose upgrade (u).

      Command

      su cvpadmin
      

      Expected Output

      [root@cvp upgrade]# su cvpadmin
      
      CVP Installation Menu
      ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
      [q]uit [p]rint [s]inglenode [m]ultinode [r]eplace [u]pgrade
      >u
      Validating /tmp/upgrade/cvp-upgrade-2024.1.2.tgz
      
      ...rest of output omitted...
      
    4. When prompted about unsupported EOS or TerminAttr versions, select y.

      Some of the device(s) are running unsupported EOS or TerminAttr version. Proceeding without updating them may affect functionality.
      Do you want to continue? [y/n]y
      
  8. Check CVP server version number to verify upgrade is successful and complete.

    1. Press q to leave the CVP Installation Menu.

      Change directory to home.

      Command

      cd ~
      

      Command

      cvpi version
      

      Expected Output

      [root@cvp ~]# cvpi version
      
      
      cvpi version 2024.1.2-3 go1.19.5
      [root@cvp ~]#
      
    2. Check from the CVP GUI by selecting the gear icon for settings in the bottom left hand corner, and scrolling to the bottom of the main settings page.

      Upgrade Result

Success

Lab Complete!