Skip to content

V4.2.0 release - #431

Merged
monrog2 merged 56 commits into
masterfrom
v4.2.0-dev
Aug 18, 2026
Merged

V4.2.0 release#431
monrog2 merged 56 commits into
masterfrom
v4.2.0-dev

Conversation

@monrog2

@monrog2 monrog2 commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

monrog2 and others added 30 commits May 21, 2026 11:36
* 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>
…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>
* 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 version c heck for
CSCwd37387

* updated document link

* updated validation.md

* updated validation.md document

* 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>

* addressed review comments

* removed additional whutespace

---------

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>
* 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

* Check for F0467 bgpProt-policy-already-existing

* Incorporated the review comments

* Addressed review comments

* 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 version check instead of generic check

* Modified the target version check

* Removed whitepsaces

* Modified the content in validation file

* Updated the pytest files

* 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>

* modified the logic suggested by Gabe

* Modified the bgp proto content

* Removed unwanted whitespace

* Removed the duplicate entry from line line 6555

* Added the tversion check

* Addressed the review comments

* added the cco image version in pytest file

---------

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>
…6 address and gateway validation. Adjusted query filter in the validation script and updated test cases to reflect changes in address configurations. (#395)
* 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

* print cleanup

* Added WRED with affected Leaf/LC/FM model check

* Addressed PR review comments

* Addressed PR review comments

* Addressed PR review comments and updated the docs

* Upated the message

* Addressed review comments

* Refactored result variable in wred_affected_model_check

* Updated wred_affected_model_check

* Addressed PR review comments

* Remove the sort method

* Addressed PR review comments

* Fix non-ASCII char in test comment

* Fixed duplicate entries

* Address PR review comments

---------

Co-authored-by: GM <monrog2@gmail.com>
Co-authored-by: Gabriel <gmonroy@cisco.com>
* added validation check for CSCwo74485

* updated warning message

* updated script

* updated the warning message

* updated doc link

* updated the comments
* Resolved Conflicts

* Update validations.md

* Update validations.md

* Update aci-preupgrade-validation-script.py

---------

Co-authored-by: GM <monrog2@gmail.com>
* 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 check for CFD - CSCwt38698

* Removed serial Number from header

* Updated check name and added post upgrade check

* Updated review comments

* Updated review comments

* Updated review comments on combining check on existing function

* Resolved conflicts

* Updated as review comments

* Updated as review comments

* Updated as review comments

* Updated as review comments

* Updated as review comments

---------

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: Thatleft <detlef.sass@web.de>
Co-authored-by: Detlef Sass <detlef.sass@de.bosch.com>
Use explicit usage-mask equality filters to cover access and fabric blacklist states without matching unrelated mask values.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Report missing, empty, unavailable, or malformed mitmocounters data as an explicit error instead of passing incomplete collection. Preserve any oversized-class findings and add regression coverage for sorting and threshold behavior.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Retry each legacy mitmocounters read up to three times and capture the final command error when collection remains unavailable.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Honor the APIC 6.1(5) release-note support exception for M5/M6 controllers while preserving the CSCwo74485 ordering gate and catalog failures for other versions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Block upgrades when an active F2421 reports the exact RTC battery voltage low reason, while ignoring stale and unrelated fault instances. Include issue-derived coverage and validation guidance.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Explain how APIC 6.2+ consumes recommended_action and when standalone users should act on it. Fixes #389.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Fixes #382.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Update FN64251 validation guidance (#402)

Replace the retired serial-number validation tool with the chat interface embedded in FN64251 and document the direct Field Notice workflow.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Clarify FN64251 affected-product guidance (#402)

Document the shipment-date cutoff and inconclusive V01 VID, and direct users to TAC when a listed component is not known to be post-cutoff.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Parse both observed F1820/F1821/F1822 changeSet serializations while preserving fault-driven failure behavior and malformed values as NA.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Added validation check for CSCwt58626

* updated comments

* updated merge conflict

* updated missing import for stale_dbgacEpgSummaryTask_check

* updated the review comments

* updated pytest case

* changed result for failure and error case

* updated the doc

* updated the document comment

* updated comments

* handled error cases

* Added tversion missing check for other scripts

* updated the review comments

* updated the review comments

* updated script

* removed commented lines in pytest file

---------

Co-authored-by: GM.EXE <monrog2@gmail.com>
- Add resource_group for sequential execution across jobs
- Split single integration test into 6 version-specific jobs:
  - 5.2(4d) -> 5.2(8f): 5.x internal upgrades
  - 5.2(4d) -> 6.0(2h): 5.x to 6.0.x upgrades
  - 5.2(6e) -> 6.0(5a): 5.x to 6.0.x upgrades
  - 5.2(8d) -> 6.1(1f): 5.x to 6.1.x upgrades
  - 5.3(2d) -> 6.1(4h): 5.x to 6.1.x upgrades
  - 6.0(2a) -> 6.1(4h): 6.x internal upgrades
- Add --cversion and --tversion flags to runner.py invocation
- Add timeout (45m) and retry on runner failure
- Use YAML template to reduce duplication

This enables testing version-dependent check logic across
multiple upgrade paths while protecting scale fabrics via
resource_group sequential execution.
monrog2 and others added 24 commits August 11, 2026 08:14
docs: clarify recommended action metadata
- Add resource_group for sequential execution across jobs
- Split single integration test into 6 version-specific jobs:
  - 5.2(4d) -> 5.2(8f): 5.x internal upgrades
  - 5.2(4d) -> 6.0(2h): 5.x to 6.0.x upgrades
  - 5.2(6e) -> 6.0(5a): 5.x to 6.0.x upgrades
  - 5.2(8d) -> 6.1(1f): 5.x to 6.1.x upgrades
  - 5.3(2d) -> 6.1(4h): 5.x to 6.1.x upgrades
  - 6.0(2a) -> 6.1(4h): 6.x internal upgrades
- Add --cversion and --tversion flags to runner.py invocation
- Add timeout (45m) and retry on runner failure
- Use YAML template to reduce duplication

This enables testing version-dependent check logic across
multiple upgrade paths while protecting scale fabrics via
resource_group sequential execution.
faults: Add F2421 RTC battery validation
…rrors

checks: report APIC database collection errors
- Add resource_group for sequential execution across jobs
- Split single integration test into 6 version-specific jobs:
  - 5.2(4d) -> 5.2(8f): 5.x internal upgrades
  - 5.2(4d) -> 6.0(2h): 5.x to 6.0.x upgrades
  - 5.2(6e) -> 6.0(5a): 5.x to 6.0.x upgrades
  - 5.2(8d) -> 6.1(1f): 5.x to 6.1.x upgrades
  - 5.3(2d) -> 6.1(4h): 5.x to 6.1.x upgrades
  - 6.0(2a) -> 6.1(4h): 6.x internal upgrades
- Add --cversion and --tversion flags to runner.py invocation
- Add timeout (45m) and retry on runner failure
- Use YAML template to reduce duplication

This enables testing version-dependent check logic across
multiple upgrade paths while protecting scale fabrics via
resource_group sequential execution.
…version

checks: accept supported CIMC 4.2(3e) on APIC 6.1(5)
…ation

Issue424: Enforce API-only check classification
…imit

Fix FX3 memory query filter limit on large fabrics
checks: Expand out-of-service detection to fabric ports
* docs: explain scalability spillover risk

---------

Co-authored-by: takishida <38262981+takishida@users.noreply.github.com>
@monrog2
monrog2 merged commit e024923 into master Aug 18, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants