CiscoDevNet / sure

SD-WAN Upgrade Readiness Experience

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AURA-SDWAN (SURE)

Cisco AURA-SDWAN (SURE) Command Line tool performs a total of 30(Non Cluster Mode) or 36(Cluster Mode) checks at different levels of the SDWAN overlay. The purpose of the tool is to prevent potential failures and recommend corrective actions for a seamless upgrade process. The tool retrieves data using GET API Calls and show/shell commands.

The objective is to execute without impact the performance of the vManage or other devices.

Features:

  • Simple and straighfroward, uses default python modules that are already available on the vManage server
  • Automatically generates TXT report.
  • Only requires – vManage and password.
  • To Execute, simply copy the file to the vManage and run it on the server.
  • Not Intrusive
  • Run Time - usually less than 60 seconds, depending on your deployment size
  • Root access is not required to perform any check.
  • No data is collected or shared to anyone. All information used by the tool, remains in the provided report and logs
  • Doesn't use Real Time APIs that have scale limitations

IF YOU HAVE ANY QUESTIONS OR FEEDBACK, reach out to sure-tool@cisco.com

Requirements

  • vManage user with admin OR RO network operator privileges
  • The vManage user password must not contain the "!" character.

To Download the script on vManage

Identify which python version file to execute based on the vManage version.

vManage version Python version Python File to execute
below 20.5 Python2 python2/py2_sure.py
20.5 onwards Python3 python3/py3_sure.py

Download the respective Python version file.
Note: The application can be downloaded under any desired directory, typically it is downloaded under the user home directory.

Option 1. Isolated environment.
Obtain file content from this site, then copy via SCP to the server.

scp source_file.py {user}@{vManageIP}:/home/{user}

Option 2. Paste Method.

  • Open py2_sure.py OR py3_sure.py file, select all and copy to clipboard
  • SSH to the vManage, and do vshell command
  • Open vi, press Esc and then i (letter i), then paste the content
  • Press Esc, :wq (symbol : and letters w,q) to save it

Option 3. WGET

wget https://raw.githubusercontent.com/CiscoDevNet/sure/main/python3/py3_sure.py
wget https://raw.githubusercontent.com/CiscoDevNet/sure/main/python2/py2_sure.py

How to Run

Command Line Options

usage: sure.py [-h] [-q] [-v] [-d] -u USERNAME 

SURE - SDWAN Uprade Readiness Engine - v3.2.1

optional arguments:
  -h, --help            show this help message and exit
  -q, --quiet           Quiet execution of the script
  -v, --verbose         Verbose execution of the script
  -d, --debug           Debug execution of the script
  -u USERNAME, --username USERNAME
                        vManage Username
  -vp VMANAGE_PORT, --vmanage_port VMANAGE_PORT
                        vManage Password

REQUIRED Arguments: You must provide the vManage .

OPTIONAL Arguments: Enter the vManage Port.

  1. Quiet Execution Mode -q/--quiet
  2. Verbose Execution Mode -v/--verbose
  3. Debug Execution Mode -d/--debug
    > By default the script runs in the normal execution mode
    > In order to change the execution mode enter the desired flag.
  1. vManage Port -p/--vmanage_port > Note: The default vmanage_port is 8443,
    > https://{vManage_localip}:8443//dataservice system/ device/vedges
    > if the port has been changed from 8443 to another port, use --vmanage_port/-p argument.
    > https://{vManage_localip}:{vmanage_port}//dataservice system/device/vedges

Example:

Execution Options Python2 Python3
Normal Execution Mode python py2_sure.py -u python3 py3_sure.py -u
Quiet Execution Mode python py2_sure.py -q -u python3 py3_sure.py -q -u
Verbose Execution Mode python py2_sure.py -v -u python3 py3_sure.py -v -u
Debug Execution Mode python py2_sure.py -d -u python3 py3_sure.py -d -u
Specify vManage Port python py2_sure.py -u -vp python3 py3_sure.py -u -vp

Step3 :vManagae Password

After executing the python/python3 command, there will be a input prompt to enter the vManage Password.

vmanage-cluster1:~$ python3 py3_sure.py -u <username>
vManage Password (Note: Tool doesn't support passwords containing "!") :

Output

Normal Execution:
CLI Output on executing the script in normal mode.

vmanage-cluster1:~$ python3 py3_sure.py -u <username> 
vManage Password:
#########################################################
###         SURE – Version 3.2.1                      ###
#########################################################
###     Performing SD-WAN Upgrade Readiness Check     ###
#########################################################




*Starting Checks, this may take several minutes


**** Performing Critical checks

 Critical Check:#01
 Critical Check:#02
 Critical Check:#03

Quiet Execution mode
In the quiet execution mode it quietly performs all the checks and on completion it provides the locations of the report and logs files that were generated.

vmanage-cluster1:~$ python3 py3_sure.py -q -u <username> 
vManage Password:
#########################################################
###         SURE – Version 3.2.1                      ###
#########################################################
###     Performing SD-WAN Upgrade Readiness Check     ###
#########################################################



*Starting Checks, this may take several minutes

******
Cisco SDWAN SURE tool execution completed. 

Verbose Execution mode
In this mode the progress of the checks being performed can be monitored from the cli.

vmanage-cluster1:~$ python3 py3_sure.py -v -u <username> 
vManage Password:
#########################################################
###         SURE – Version 3.2.1                      ###
#########################################################
###     Performing SD-WAN Upgrade Readiness Check     ###
#########################################################




*Starting Checks, this may take several minutes

**** Performing Critical checks

  #01:Checking:vManage:Validate current version
  #02:Checking:vManage:vManage sever disk space
  #03:Checking:vManage:Memory size
  #04:Checking:vManage:CPU Count

3. Debug Execution mode
In the debug mode you can monitor the check performed and check analysis from the cli.

vmanage-cluster1:~$ python3 py3_sure.py -d -u <username> 
vManage Password:
#########################################################
###         SURE – Version 3.2.1                      ###
#########################################################
###     Performing SD-WAN Upgrade Readiness Check     ###
#########################################################




*Starting Checks, this may take several minutes

**** Performing Critical checks

 #01:Checking:vManage:Validate current version
 INFO:Direct Upgrade to 20.5 is possible


 #02:Checking:vManage:vManage sever disk space
 INFO:Enough Disk space available to perform the upgrade
 

After the script finishes the report, logs and json summary will be available.

******
Cisco SDWAN SURE tool execution completed.

Total Checks Performed: 35
Overall Assessment: 4 Critical errors, 2 Warnings, please check report for details.
    -- Full Results Report: sdwan_sure/sure_report_03_09_2021_11_35_56.txt 
    -- Logs: sdwan_sure/sure_logs_03_09_2021_11_35_56.log
    -- Json Summary: sdwan_sure/sure_json_summary_03_09_2021_11_35_56.json

Reach out to sure-tool@cisco.com if you have any questions or feedback

criticalChecknine(es_indices_est, server_type, cluster_size, cpu_count, total_devices, dpi_status)

The tool retrieves data using the following resources:

  • GET API Calls

    1. https://{vManage_localip}:{Port}/dataservice/system/device/controllers
    2. https://{vManage_localip}:{Port}/dataservice/system/device/vedges
    3. https://{vManage_localip}:{Port}/dataservice/statistics/settings/status
    4. https://{vManage_localip}:{Port}/dataservice/management/elasticsearch/index/size/estimate
    5. https://{vManage_localip}:{Port}/dataservice/device/system/synced/status?deviceId={}
    6. https://{vManage_localip}:{Port}/dataservice/clusterManagement/list
    7. https://{vManage_localip}:{Port}/dataservice/disasterrecovery/details
    8. https://{vManage_localip}:{Port}/dataservice/device/action/status/tasks
    9. https://{vManage_localip}:{Port}/dataservice/device/vmanage
    10. https://{vManage_localip}:{Port}/dataservice/device/ntp/associations?deviceId={deviceIP} <<<<<<< HEAD =======

dev

  • show/shell commands

Performs the following checks:

Checks with severity level: CRITICAL
#01:Check:vManage:Validate current version
#02:Check:vManage:vManage:At minimum 20% server disk space should be available
#03:Check:vManage:Memory size
#04:Check:vManage:CPU Count
#05:Check:vManage:ElasticSearch Indices status
#06:Check:vManage:Look for any neo4j exception errors
#07:Check:vManage:Validate all services are up
#08:Check:vManage:Elasticsearch Indices version
#09:Check:vManage:Evaluate incoming DPI data size
#10:Check:vManage:NTP status across network
#11:Check:vManage:Validate Neo4j Store version
#12:Check:vManage:Validate ConfigDB Size is less than 5GB
#13:Check:vManage:Validate UUID from server configs file
#14:Check:vManage:Validate server configs file on vManage
#15:Check:vManage:Validate UUID at /etc/viptela/uuid
#16:Check:Controllers:Validate vSmart/vBond CPU count for scale
#17:Check:Controllers:Verify if stale entry of vManage+vSmart UUID present on any one cEdge

Checks with severity level: WARNING
#1:Check:vManage:Network Card type
#2:Check:vManage:Backup status
#3:Check:vManage:Evaluate Neo4j performance
#4:Check:vManage:Confirm there are no pending tasks
#5:Check:vManage:Validate there are no empty password users
#6:Check:Controllers:Controller versions
#7:Check:Controllers:Confirm Certificate Expiration Dates
#8:Check:Controllers:vEdge list sync
#9:Check:Controllers: Confirm control connections

Checks with severity level: INFORMATIONAL
#1:Check:vManage:Disk controller type
#2:Check:Controllers:Validate there is at minimum vBond, vSmart present
#3:Check:Controllers:Validate all controllers are reachable

Cluster Checks with severity level: CRITICAL
#1:Check:Cluster:Version consistency
#2:Check:Cluster:Cluster health
#3:Check:Cluster:Cluster ConfigDB topology
#4:Check:Cluster:Messaging server
#5:Check:Cluster:DR replication status
#6:Check:Cluster:Intercluster communication

About

SD-WAN Upgrade Readiness Experience

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Python 100.0%