Usage
Run the script on your APIC via python aci-preupgrade-validation-script.py
.
The script will prompt for user credentials.
The script will then present a list of firmware from the APIC firmware repository and ask which one is the target version for the next planned upgrade. Ensure you have the desired ACI Firmware uploaded to the APIC Firmware Repository before running this script.
Target Firmware Image
If the APIC Firmware Repository is empty, the script will proceed but will mark checks that required the target version as MANUAL CHECK REQUIRED
Required User Proviledges
admin
level privileges with read
permission are recommended. User permissions are important as most of these checks rely on API query responses.
This script only performs read operations and will not modify any config or filesystem properties.
Non-admin remote user credentials can result in RBAC causing queries to return empty responses. This can result in inconsistent script results.
Example Output
admin@f2-apic1:~> cd /data/techsupport
admin@f2-apic1:techsupport> python aci-preupgrade-validation-script.py
==== 2021-07-30T13-28-25-0700 ====
Enter username for APIC login : admin
Enter password for corresponding User :
Checking current APIC version (switch nodes are assumed to be on the same version)...5.0(1g)
Gathering APIC Versions from Firmware Repository...
[1]: aci-apic-dk9.5.2.1d.bin
[2]: aci-apic-dk9.5.2.1g.bin
What is the Target Version? : 1
You have chosen version "aci-apic-dk9.5.2.1d.bin"
[Check 1/36] APIC Target version image and MD5 hash...
Checking f2-apic1...... DONE
PASS
[Check 2/36] Target version compatibility... PASS
--- omit ---
=== Summary Result ===
PASS : 26
FAIL - OUTAGE WARNING!! : 4
FAIL - UPGRADE FAILURE!! : 0
MANUAL CHECK REQUIRED : 3
N/A : 3
ERROR !! : 0
TOTAL : 36
Pre-Upgrade Check Complete.
Next Steps: Address all checks flagged as FAIL, ERROR or MANUAL CHECK REQUIRED
Result output and debug info saved to below bundle for later reference.
Attach this bundle to Cisco TAC SRs opened to address the flagged checks.
Result Bundle: /data/techsupport/preupgrade_validator_2021-07-30T13-28-25-0700.tgz
Results
Each check has a unique result which will help determine how to proceed. The results are explained as follows:
- PASS - The check has completed, and the ACI Fabric is not affected by the issue.
- FAIL - OUTAGE WARNING - The check has completed, and the ACI Fabric is currently affected by an issue which may cause an outage.
- FAIL - UPGRADE FAILURE - The check has completed, and the ACI Fabric is currently affected by an issue which may cause the upgrade to fail.
- MANUAL CHECK REQUIRED - The check has completed, and the specific check needs to be investigated manually using the steps outlines in the "ACI Upgrade Guide".
- N/A - The check completed successfully, and the ACI fabric is not susceptible because the needed configuration is not deployed.
- ERROR - The check did not complete successfully, and needs further investigation.
Logs
A single log bundle will be generated with each run of the script
This bundle contains 3 inner files; debug.log, .json and .txt.
admin@APIC-1:techsupport> tar -xvf preupgrade_validator_2021-07-27T17-13-12+0000.tgz
preupgrade_validator_logs/
preupgrade_validator_logs/preupgrade_validator_debug.log
preupgrade_validator_logs/preupgrade_validator_2021-07-27T17-13-12+0000.json
preupgrade_validator_logs/preupgrade_validator_2021-07-27T17-13-12+0000.txt
The preupgrade_validator_*.txt
file contains a dump of the resulting output which can be referenced for check results post-run.
If there are any issues with the script or run results which require TAC assistance, open a proactive TAC case for the upgrade and upload the result bundle for analysis.