New validation for CFD CSCwn81692#298
Conversation
lovkeshsharma702
left a comment
There was a problem hiding this comment.
please change the doc to below. rest all looks good to me.
RCA:
After upgrading the leaf to an affected version, interface configurations are not pushed because the "pres.Listener" object is missing in the APIC.
This occurs due to an incomplete/faulty APIC upgrade.
IMPACT:
If "pres.Listener" is missing after a leaf upgrade or clean reload, leaf ports remain out of service, and infraAccPortP and infraAccBndlGrp cannot program interfaces.
Suggestion:
Verify that all active leaf node objects are present in the "pres.Listener" list (class 4307) and alert if the affected version is detected. If an alert is raised, upgrade to a version that includes the fix for [CSCwn81692][62].
lovkeshsharma702
left a comment
There was a problem hiding this comment.
Script been tested and validate the serious bug
…ade-Validation-Script into muthuku-CSCwn81692
Added validation for CFD CSCwn81692
Log:
python aci-preupgrade-validation-script.py --tversion "6.1(2f)" -d "active_node_presListener_mo_object_check"
==== 2026-01-07T04-25-55+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(9e)
Lowest Switch Version...4.2(3j)
Target APIC version is overridden to 6.1(2f)
Collecting VPC Node IDs...101, 103
Progress: |----------------------------------------------------------------------------------------------------| 0/1 checkProgress: |████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 checks completed
=== Check Result (failed only) ===
[Check 1/1] active_node pres.Listener mo object check... PresListener Object Missing Nodes: {'102'} FAIL - OUTAGE WARNING!!
Missing Node ID Node Status
102 active
Recommended Action: Contact Cisco TAC to investigate missing leaf nodes from class-4307 preslisteners objects
Reference Document: https://datacenter.github.io/ACI-Pre-Upgrade-Validation-Script/validations/#active_node_presListener_mo_object_check
=== Summary Result ===
PASS : 0
FAIL - OUTAGE WARNING!! : 1
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 ====
Pytest log:
================================================== test session starts ===================================================
platform linux -- Python 3.8.10, pytest-8.3.5, pluggy-1.5.0 -- /usr/bin/python3
cachedir: .pytest_cache
rootdir: /data/ssd/muthuku/PreCFDAutomation/ACI-Pre-Upgrade-Validation-Script
configfile: pytest.ini
collected 6 items
active_node_presListener_mo_object_check/test_active_node_presListener_mo_object_check.py::test_logic[icurl_outputs0-6.1(2f)-fabric_nodes0-PASS]
----------------------------------------------------- live log setup -----------------------------------------------------
[04:28:08.314 INFO init_system:6089(MainThread)] Cleaning up previous run files in preupgrade_validator_logs/
[04:28:08.315 INFO init_system:6091(MainThread)] Creating directories preupgrade_validator_logs/ and preupgrade_validator_logs/json_results/
----------------------------------------------------- live log call ------------------------------------------------------
[04:28:08.317 INFO init_result:1182(MainThread)] Initialized in preupgrade_validator_logs/json_results/active_node_presListener_mo_object_check.json
[04:28:08.318 INFO _start_thread:1105(MainThread)] (active_node_presListener_mo_object_check) Starting thread.
Progress: |----------------------------------------------------------------------------------------------------| 0/1 check[04:28:08.320 INFO wrapper:1349(active_node_presListener_mo_object_check)] Start active_node_presListener_mo_object_check
[04:28:08.323 INFO update_result:1191(active_node_presListener_mo_object_check)] Finalized result in preupgrade_validator_logs/json_results/active_node_presListener_mo_object_check.json
Progress: |████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 checkPASSEDleted
active_node_presListener_mo_object_check/test_active_node_presListener_mo_object_check.py::test_logic[icurl_outputs1-6.1(2f)-fabric_nodes1-FAIL - OUTAGE WARNING!!]
----------------------------------------------------- live log call ------------------------------------------------------
[04:28:08.332 INFO init_result:1182(MainThread)] Initialized in preupgrade_validator_logs/json_results/active_node_presListener_mo_object_check.json
[04:28:08.333 INFO _start_thread:1105(MainThread)] (active_node_presListener_mo_object_check) Starting thread.
Progress: |----------------------------------------------------------------------------------------------------| 0/1 check[04:28:08.334 INFO wrapper:1349(active_node_presListener_mo_object_check)] Start active_node_presListener_mo_object_check
[04:28:08.336 INFO update_result:1191(active_node_presListener_mo_object_check)] Finalized result in preupgrade_validator_logs/json_results/active_node_presListener_mo_object_check.json
Progress: |████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 checkPASSEDleted
active_node_presListener_mo_object_check/test_active_node_presListener_mo_object_check.py::test_logic[icurl_outputs2-5.2(8h)-fabric_nodes2-FAIL - OUTAGE WARNING!!]
----------------------------------------------------- live log call ------------------------------------------------------
[04:28:08.346 INFO init_result:1182(MainThread)] Initialized in preupgrade_validator_logs/json_results/active_node_presListener_mo_object_check.json
[04:28:08.347 INFO _start_thread:1105(MainThread)] (active_node_presListener_mo_object_check) Starting thread.
Progress: |----------------------------------------------------------------------------------------------------| 0/1 check[04:28:08.347 INFO wrapper:1349(active_node_presListener_mo_object_check)] Start active_node_presListener_mo_object_check
[04:28:08.348 INFO update_result:1191(active_node_presListener_mo_object_check)] Finalized result in preupgrade_validator_logs/json_results/active_node_presListener_mo_object_check.json
Progress: |████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 checkPASSEDleted
active_node_presListener_mo_object_check/test_active_node_presListener_mo_object_check.py::test_logic[icurl_outputs3-6.1(3h)-fabric_nodes3-N/A]
----------------------------------------------------- live log call ------------------------------------------------------
[04:28:08.360 INFO init_result:1182(MainThread)] Initialized in preupgrade_validator_logs/json_results/active_node_presListener_mo_object_check.json
[04:28:08.361 INFO _start_thread:1105(MainThread)] (active_node_presListener_mo_object_check) Starting thread.
Progress: |----------------------------------------------------------------------------------------------------| 0/1 check[04:28:08.362 INFO wrapper:1349(active_node_presListener_mo_object_check)] Start active_node_presListener_mo_object_check
[04:28:08.363 INFO update_result:1191(active_node_presListener_mo_object_check)] Finalized result in preupgrade_validator_logs/json_results/active_node_presListener_mo_object_check.json
Progress: |████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 checkPASSEDleted
active_node_presListener_mo_object_check/test_active_node_presListener_mo_object_check.py::test_logic[icurl_outputs4-5.2(8h)-fabric_nodes4-FAIL - UPGRADE FAILURE!!]
----------------------------------------------------- live log call ------------------------------------------------------
[04:28:08.379 INFO init_result:1182(MainThread)] Initialized in preupgrade_validator_logs/json_results/active_node_presListener_mo_object_check.json
[04:28:08.380 INFO _start_thread:1105(MainThread)] (active_node_presListener_mo_object_check) Starting thread.
Progress: |----------------------------------------------------------------------------------------------------| 0/1 check[04:28:08.380 INFO wrapper:1349(active_node_presListener_mo_object_check)] Start active_node_presListener_mo_object_check
[04:28:08.381 INFO update_result:1191(active_node_presListener_mo_object_check)] Finalized result in preupgrade_validator_logs/json_results/active_node_presListener_mo_object_check.json
Progress: |████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 checkPASSEDleted
active_node_presListener_mo_object_check/test_active_node_presListener_mo_object_check.py::test_logic[icurl_outputs5-None-fabric_nodes5-MANUAL CHECK REQUIRED]
----------------------------------------------------- live log call ------------------------------------------------------
[04:28:08.393 INFO init_result:1182(MainThread)] Initialized in preupgrade_validator_logs/json_results/active_node_presListener_mo_object_check.json
[04:28:08.394 INFO _start_thread:1105(MainThread)] (active_node_presListener_mo_object_check) Starting thread.
Progress: |----------------------------------------------------------------------------------------------------| 0/1 check[04:28:08.395 INFO wrapper:1349(active_node_presListener_mo_object_check)] Start active_node_presListener_mo_object_check
[04:28:08.396 INFO update_result:1191(active_node_presListener_mo_object_check)] Finalized result in preupgrade_validator_logs/json_results/active_node_presListener_mo_object_check.json
Progress: |████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 checkPASSEDleted
=================================================== 6 passed in 0.13s ====================================================