New Validation for APIC Storage Inode Usage (F4388, F4389, F4390 equipment-full)#361
Merged
Merged
Conversation
monrog2
added a commit
that referenced
this pull request
May 21, 2026
* Add arg to define thread limit - to throttle concurrent API calls when required (#355) * add `--max-threads` arg * fix bad descriptor errs/race conditions * update pytests * 353 the script incorrectly detects vpc and port channel interfaces as cscwh68103 invalid fabricpathep targets (#357) * specific testing for known failure conditions of cscwh68103 as to not catch valid scenarios * Update aci-preupgrade-validation-script.py mark version * print cleanup * fix: Add cversion check for post_upgrade_cb_check (#377) * added validation for CFD CSCwp64296 (#307) Added rogue ep/coop exception mac check for the CFD CSCwp64296 * Added pre-upgrade validation for N9K-C9408 with more than 6 N9K-X9400-16W LEM's for the bug CSCws82819 (#354) * Added a new check for the bug 'CSCws82819N9K-C9408 boot loop on 16.1.2f and later with 6 or more LEMs' * New Validation for APIC Storage Inode Usage (F4388, F4389, F4390 equipment-full) (#361) * New Validation for APIC Storage Inode Usage (F4388, F4389, F4390 equipment-full) * Add new exception handling of invalid query filter in `icurl` due to, for example, a non-supported fault code on older versions * Add validation for multipod_modular_spine_bootscript_check - CSCwr66848 (#365) * Add check for CFD - CSCwr66848 * Update pytest.yml to run on vX.Y.Z branches * adding of cli parameters for user and password (#335) * added cli parameter for user (-u) and password (-p) to be used in an eased way for fully automated execution of 'aci-preupgrade-validation-script.py' * test: Add pytest --------- Co-authored-by: Detlef Sass <detlef.sass@de.bosch.com> * Added validation for CSCwd40071 (#332) * Added validation for CSCwd40071 * Addressed the comments * Added cversion for the check * Removed empty spaces * logic change. removed 0.0.0.0/0 and made pytest changes * logic modified and validation.md file updated * Added validation for CSCws84232 (#334) * Feat:added svccoreCtrlr excessive entries check * updated the formated json in svccore_negative.json * Removed other PR checks * Fix: svccoreNode mo check is updated * Fix:update the threshold to 240 * refactor:moved to general check * refactor:updated recommended action * refactor:optimise the check for get the count alone * refactor:added try catch exception for error handling * update the threshold value for 240 * refactor:query-target was added * refactor: removed unwanted spaces * refactor:removed unwanted spaces in validation.md * resolve conflict while rebasing * resolve conflict while rebasing * updated pytest script file * updated validation.md * addressed review comments * updated validation.md --------- Co-authored-by: takishida <38262981+takishida@users.noreply.github.com> * set to v4.1.0 --------- Co-authored-by: tkishida <tkishida@cisco.com> Co-authored-by: takishida <38262981+takishida@users.noreply.github.com> Co-authored-by: psureshb <psureshb@cisco.com> Co-authored-by: Harinadh-Saladi <hsaladi@cisco.com> Co-authored-by: sanjanch <sanjanch@cisco.com> Co-authored-by: asraf-khan <anazar@cisco.com> Co-authored-by: Thatleft <detlef.sass@web.de> Co-authored-by: Detlef Sass <detlef.sass@de.bosch.com> Co-authored-by: veesenth_cisco <veesenth@cisco.com>
monrog2
added a commit
that referenced
this pull request
May 21, 2026
* Add arg to define thread limit - to throttle concurrent API calls when required (#355) * add `--max-threads` arg * fix bad descriptor errs/race conditions * update pytests * 353 the script incorrectly detects vpc and port channel interfaces as cscwh68103 invalid fabricpathep targets (#357) * specific testing for known failure conditions of cscwh68103 as to not catch valid scenarios * Update aci-preupgrade-validation-script.py mark version * print cleanup * Unsupported hardware check * fix: Add cversion check for post_upgrade_cb_check (#377) * added validation for CFD CSCwp64296 (#307) Added rogue ep/coop exception mac check for the CFD CSCwp64296 * Added pre-upgrade validation for N9K-C9408 with more than 6 N9K-X9400-16W LEM's for the bug CSCws82819 (#354) * Added a new check for the bug 'CSCws82819N9K-C9408 boot loop on 16.1.2f and later with 6 or more LEMs' * New Validation for APIC Storage Inode Usage (F4388, F4389, F4390 equipment-full) (#361) * New Validation for APIC Storage Inode Usage (F4388, F4389, F4390 equipment-full) * Add new exception handling of invalid query filter in `icurl` due to, for example, a non-supported fault code on older versions * Add validation for multipod_modular_spine_bootscript_check - CSCwr66848 (#365) * Add check for CFD - CSCwr66848 * Update pytest.yml to run on vX.Y.Z branches * adding of cli parameters for user and password (#335) * added cli parameter for user (-u) and password (-p) to be used in an eased way for fully automated execution of 'aci-preupgrade-validation-script.py' * test: Add pytest --------- Co-authored-by: Detlef Sass <detlef.sass@de.bosch.com> * Addressed the review comments * Added validation for CSCwd40071 (#332) * Added validation for CSCwd40071 * Addressed the comments * Added cversion for the check * Removed empty spaces * logic change. removed 0.0.0.0/0 and made pytest changes * logic modified and validation.md file updated * Addressed the review comments * Added validation for CSCws84232 (#334) * Feat:added svccoreCtrlr excessive entries check * updated the formated json in svccore_negative.json * Removed other PR checks * Fix: svccoreNode mo check is updated * Fix:update the threshold to 240 * refactor:moved to general check * refactor:updated recommended action * refactor:optimise the check for get the count alone * refactor:added try catch exception for error handling * update the threshold value for 240 * refactor:query-target was added * refactor: removed unwanted spaces * refactor:removed unwanted spaces in validation.md * resolve conflict while rebasing * resolve conflict while rebasing * updated pytest script file * updated validation.md * addressed review comments * updated validation.md --------- Co-authored-by: takishida <38262981+takishida@users.noreply.github.com> * Removed gen1_switch_compatibility_check --------- Co-authored-by: GM <monrog2@gmail.com> Co-authored-by: Gabriel <gmonroy@cisco.com> Co-authored-by: tkishida <tkishida@cisco.com> Co-authored-by: takishida <38262981+takishida@users.noreply.github.com> Co-authored-by: psureshb <psureshb@cisco.com> Co-authored-by: Harinadh-Saladi <hsaladi@cisco.com> Co-authored-by: sanjanch <sanjanch@cisco.com> Co-authored-by: asraf-khan <anazar@cisco.com> Co-authored-by: Thatleft <detlef.sass@web.de> Co-authored-by: Detlef Sass <detlef.sass@de.bosch.com> Co-authored-by: veesenth_cisco <veesenth@cisco.com>
monrog2
added a commit
that referenced
this pull request
May 21, 2026
…age (#368) * Add arg to define thread limit - to throttle concurrent API calls when required (#355) * add `--max-threads` arg * fix bad descriptor errs/race conditions * update pytests * 353 the script incorrectly detects vpc and port channel interfaces as cscwh68103 invalid fabricpathep targets (#357) * specific testing for known failure conditions of cscwh68103 as to not catch valid scenarios * Update aci-preupgrade-validation-script.py mark version * print cleanup * Added code for CSCwo96334:/tmp directory disk space for snapshot storage * Updated fix version * Added clarification comment for /tmp snapshot handling * fix: Add cversion check for post_upgrade_cb_check (#377) * added validation for CFD CSCwp64296 (#307) Added rogue ep/coop exception mac check for the CFD CSCwp64296 * Added pre-upgrade validation for N9K-C9408 with more than 6 N9K-X9400-16W LEM's for the bug CSCws82819 (#354) * Added a new check for the bug 'CSCws82819N9K-C9408 boot loop on 16.1.2f and later with 6 or more LEMs' * New Validation for APIC Storage Inode Usage (F4388, F4389, F4390 equipment-full) (#361) * New Validation for APIC Storage Inode Usage (F4388, F4389, F4390 equipment-full) * Add new exception handling of invalid query filter in `icurl` due to, for example, a non-supported fault code on older versions * Add validation for multipod_modular_spine_bootscript_check - CSCwr66848 (#365) * Add check for CFD - CSCwr66848 * Update pytest.yml to run on vX.Y.Z branches * adding of cli parameters for user and password (#335) * added cli parameter for user (-u) and password (-p) to be used in an eased way for fully automated execution of 'aci-preupgrade-validation-script.py' * test: Add pytest --------- Co-authored-by: Detlef Sass <detlef.sass@de.bosch.com> * Corrected the typo for snapshot --------- Co-authored-by: GM <monrog2@gmail.com> Co-authored-by: Gabriel <gmonroy@cisco.com> Co-authored-by: tkishida <tkishida@cisco.com> Co-authored-by: takishida <38262981+takishida@users.noreply.github.com> Co-authored-by: psureshb <psureshb@cisco.com> Co-authored-by: sanjanch <sanjanch@cisco.com> Co-authored-by: asraf-khan <anazar@cisco.com> Co-authored-by: Thatleft <detlef.sass@web.de> Co-authored-by: Detlef Sass <detlef.sass@de.bosch.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Apic Pass Log:
==== 2026-03-09T18-23-45+0000, Script Version v4.0.1 ====
!!!! Check https://github.com/datacenter/ACI-Pre-Upgrade-Validation-Script for Latest Release !!!!
To use a non-default Login Domain, enter apic#DOMAIN\USERNAME
Enter username for APIC login : admin
Enter password for corresponding User :
Gathering Node Information...
Current APIC Version...6.0(2j)
Lowest Switch Version...4.2(3j)
Gathering APIC Versions from Firmware Repository...
What is the Target Version? : 1
You have chosen version "6.0(2j)"
Collecting VPC Node IDs...
Progress: |████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 checks completed
=== Check Result (failed only) ===
=== Summary Result ===
PASS : 1
FAIL - OUTAGE WARNING!! : 0
FAIL - UPGRADE FAILURE!! : 0
MANUAL CHECK REQUIRED : 0
POST UPGRADE CHECK REQUIRED : 0
N/A : 0
ERROR !! : 0
TOTAL : 1
==== Script Version v4.0.1 FIN ====
Failure Logs:
==== 2026-03-06T12-11-34+0000, Script Version v4.0.1 ====
!!!! Check https://github.com/datacenter/ACI-Pre-Upgrade-Validation-Script for Latest Release !!!!
To use a non-default Login Domain, enter apic#DOMAIN\USERNAME
Enter username for APIC login : admin
Enter password for corresponding User :
Gathering Node Information...
Current APIC Version...6.0(2j)
Lowest Switch Version...4.2(3j)
Gathering APIC Versions from Firmware Repository...
What is the Target Version? : 1
You have chosen version "6.0(2j)"
Collecting VPC Node IDs...
Progress: |████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 checks completed
=== Check Result (failed only) ===
[Check 1/1] APIC Storage Inode Check (F4388, F4390 equipment-full)... FAIL - UPGRADE FAILURE!!
Fault Pod Node Mount Point Usage % Recommended Action
F4388 1 1 / 82% Contact Cisco TAC to remove the files in the mount point to free up space and clear the fault
F4388 1 1 /data/admin/bin/avread 82% Contact Cisco TAC to remove the files in the mount point to free up space and clear the fault
F4388 1 1 /etc/hosts 82% Contact Cisco TAC to remove the files in the mount point to free up space and clear the fault
F4388 1 1 /scratch-writes 82% Contact Cisco TAC to remove the files in the mount point to free up space and clear the fault
Recommended Action: Contact Cisco TAC to remove the files in the mount point to free up space and clear the fault
Reference Document: https://datacenter.github.io/ACI-Pre-Upgrade-Validation-Script/validations/#apic-storage-inode-check
=== Summary Result ===
PASS : 0
FAIL - OUTAGE WARNING!! : 0
FAIL - UPGRADE FAILURE!! : 1
MANUAL CHECK REQUIRED : 0
POST UPGRADE CHECK REQUIRED : 0
N/A : 0
ERROR !! : 0
TOTAL : 1
==== Script Version v4.0.1 FIN ====
Pytest logs:
================================================================== test session starts ==================================================================
platform linux -- Python 3.8.10, pytest-8.3.5, pluggy-1.5.0
rootdir: /data/ssd/sanjanch/repo/ACI_escalation/ACI-Pre-Upgrade-Validation-Script_sanjanch
configfile: pytest.ini
collected 6 items
test_apic_storage_inode_full_check.py::test_logic[icurl_outputs0-PASS-expected_data0]
-------------------------------------------------------------------- live log setup ---------------------------------------------------------------------
[18:07:15.022 INFO init_system:6109(MainThread)] Cleaning up previous run files in preupgrade_validator_logs/
[18:07:15.023 INFO init_system:6111(MainThread)] Creating directories preupgrade_validator_logs/ and preupgrade_validator_logs/json_results/
--------------------------------------------------------------------- live log call ---------------------------------------------------------------------
[18:07:15.024 INFO init_result:1182(MainThread)] Initialized in preupgrade_validator_logs/json_results/apic_storage_inode_check.json
[18:07:15.025 INFO _start_thread:1105(MainThread)] (apic_storage_inode_check) Starting thread.
[18:07:15.026 INFO wrapper:1349(apic_storage_inode_check)] Start apic_storage_inode_check
[18:07:15.027 INFO update_result:1191(apic_storage_inode_check)] Finalized result in preupgrade_validator_logs/json_results/apic_storage_inode_check.json
PASSED [ 16%]
test_apic_storage_inode_full_check.py::test_logic[icurl_outputs1-FAIL - UPGRADE FAILURE!!-expected_data1]
--------------------------------------------------------------------- live log call ---------------------------------------------------------------------
[18:07:15.039 INFO init_result:1182(MainThread)] Initialized in preupgrade_validator_logs/json_results/apic_storage_inode_check.json
[18:07:15.040 INFO _start_thread:1105(MainThread)] (apic_storage_inode_check) Starting thread.
[18:07:15.040 INFO wrapper:1349(apic_storage_inode_check)] Start apic_storage_inode_check
[18:07:15.044 INFO update_result:1191(apic_storage_inode_check)] Finalized result in preupgrade_validator_logs/json_results/apic_storage_inode_check.json
PASSED [ 33%]
test_apic_storage_inode_full_check.py::test_logic[icurl_outputs2-FAIL - UPGRADE FAILURE!!-expected_data2]
--------------------------------------------------------------------- live log call ---------------------------------------------------------------------
[18:07:15.058 INFO init_result:1182(MainThread)] Initialized in preupgrade_validator_logs/json_results/apic_storage_inode_check.json
[18:07:15.059 INFO _start_thread:1105(MainThread)] (apic_storage_inode_check) Starting thread.
[18:07:15.060 INFO wrapper:1349(apic_storage_inode_check)] Start apic_storage_inode_check
[18:07:15.062 INFO update_result:1191(apic_storage_inode_check)] Finalized result in preupgrade_validator_logs/json_results/apic_storage_inode_check.json
PASSED [ 50%]
test_apic_storage_inode_full_check.py::test_logic[icurl_outputs3-PASS-expected_data3]
--------------------------------------------------------------------- live log call ---------------------------------------------------------------------
[18:07:15.076 INFO init_result:1182(MainThread)] Initialized in preupgrade_validator_logs/json_results/apic_storage_inode_check.json
[18:07:15.077 INFO _start_thread:1105(MainThread)] (apic_storage_inode_check) Starting thread.
[18:07:15.078 INFO wrapper:1349(apic_storage_inode_check)] Start apic_storage_inode_check------------------| 0/1 checks completed
[18:07:15.078 INFO update_result:1191(apic_storage_inode_check)] Finalized result in preupgrade_validator_logs/json_results/apic_storage_inode_check.json
PASSED [ 66%]
test_apic_storage_inode_full_check.py::test_logic[icurl_outputs4-FAIL - UPGRADE FAILURE!!-expected_data4]
--------------------------------------------------------------------- live log call ---------------------------------------------------------------------
[18:07:15.091 INFO init_result:1182(MainThread)] Initialized in preupgrade_validator_logs/json_results/apic_storage_inode_check.json
[18:07:15.091 INFO _start_thread:1105(MainThread)] (apic_storage_inode_check) Starting thread.
[18:07:15.092 INFO wrapper:1349(apic_storage_inode_check)] Start apic_storage_inode_check------------------| 0/1 checks completed
[18:07:15.093 INFO update_result:1191(apic_storage_inode_check)] Finalized result in preupgrade_validator_logs/json_results/apic_storage_inode_check.json
PASSED [ 83%]
test_apic_storage_inode_full_check.py::test_logic[icurl_outputs5-FAIL - UPGRADE FAILURE!!-expected_data5]
--------------------------------------------------------------------- live log call ---------------------------------------------------------------------
[18:07:15.109 INFO init_result:1182(MainThread)] Initialized in preupgrade_validator_logs/json_results/apic_storage_inode_check.json
[18:07:15.110 INFO _start_thread:1105(MainThread)] (apic_storage_inode_check) Starting thread.
[18:07:15.110 INFO wrapper:1349(apic_storage_inode_check)] Start apic_storage_inode_check
[18:07:15.111 INFO update_result:1191(apic_storage_inode_check)] Finalized result in preupgrade_validator_logs/json_results/apic_storage_inode_check.json
PASSED [100%]
=================================================================== 6 passed in 0.14s ===================================================================