From 151f1f7cb7a3a41f7e38bdd5834448b11d530613 Mon Sep 17 00:00:00 2001 From: Priyanka Date: Tue, 30 Jun 2026 18:53:26 +0530 Subject: [PATCH 1/4] Resolved Conflicts --- aci-preupgrade-validation-script.py | 29 +++++++++++++++++++++++++++++ docs/docs/validations.md | 14 +++++++++++++- 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/aci-preupgrade-validation-script.py b/aci-preupgrade-validation-script.py index a3ca853..612e331 100644 --- a/aci-preupgrade-validation-script.py +++ b/aci-preupgrade-validation-script.py @@ -6532,6 +6532,34 @@ def wred_affected_model_check(tversion, fabric_nodes, **kwargs): return Result(result=NA, msg="No affected Fabric module found.") +@check_wrapper(check_title="Stale dbgacEpgSummaryTask Objects") +def stale_dbgacEpgSummaryTask_check(tversion, **kwargs): + result = PASS + headers = ["DN", "Start Time"] + data = [] + recommended_action = "Contact Cisco TAC for next steps. For more details, refer to the workaround in [CSCwt69100](https://bst.cloudapps.cisco.com/bugsearch/bug/CSCwt69100)." + doc_url = "https://datacenter.github.io/ACI-Pre-Upgrade-Validation-Script/validations/#stale-dbgacepgsummarytask-objects" + + if tversion and ((tversion.major1 == "6" and tversion.major2 == "1" and tversion.newer_than("6.1(5e)")) or tversion.newer_than("6.2(1g)")): + return Result(result=NA, msg=VER_NOT_AFFECTED, doc_url=doc_url) + + threshold = datetime.utcnow() - timedelta(hours=24) + for obj in icurl("class", 'dbgacEpgSummaryTask.json?query-target-filter=eq(dbgacEpgSummaryTask.operSt,"processing")'): + attr = obj["dbgacEpgSummaryTask"]["attributes"] + dn = attr.get("dn", "") + start_ts = attr.get("startTs", "") + try: + task_dt = datetime.strptime(start_ts[:19], "%Y-%m-%dT%H:%M:%S") + except ValueError: + continue + if task_dt < threshold: + data.append([dn, start_ts]) + + if data: + result = FAIL_UF + return Result(result=result, headers=headers, data=data, recommended_action=recommended_action, doc_url=doc_url) + + # ---- Script Execution ---- @@ -6705,6 +6733,7 @@ class CheckManager: inband_management_policy_misconfig_check, bgpProto_timer_policy_already_existing_check, wred_affected_model_check, + stale_dbgacEpgSummaryTask_check, ] ssh_checks = [ # General diff --git a/docs/docs/validations.md b/docs/docs/validations.md index 76e9c14..eb54c85 100644 --- a/docs/docs/validations.md +++ b/docs/docs/validations.md @@ -205,6 +205,7 @@ Items | Defect | This Script [Inband Management Policy Misconfiguration][d33]| CSCwd40071 | :white_check_mark: | :no_entry_sign: [BgpProto timer policy already existing][d34] | CSCwt78235 | :white_check_mark: | :no_entry_sign: [WRED with Affected FM Models][d35] | CSCwt50713 | :white_check_mark: | :no_entry_sign: +[Stale dbgacEpgSummaryTask Objects][d36] | CSCwt69100 | :white_check_mark: | :no_entry_sign: [d1]: #ep-announce-compatibility [d2]: #eventmgr-db-size-defect-susceptibility @@ -241,6 +242,7 @@ Items | Defect | This Script [d33]: #inband-management-policy-misconfiguration [d34]: #bgpProto-timer-policy-already-existing [d35]: #wred-with-affected-fm-models +[d36]: #stale-dbgacepgsummarytask-objects ## General Check Details @@ -2819,6 +2821,15 @@ To avoid this issue, disable WRED on the affected nodes or upgrade to a release This bug [CSCwt78235][71] validates `F0467` faults where `changeSet` contains 'bgpProt-policy-already-existing'. The fault indicates conflicting BGP protocol timer policy under an L3Outs deployed in same vrf under same node. If this fault is not resolved, l3out will not be programmed properly in the leaf after the clean reboot or the upgrade. +### Stale dbgacEpgSummaryTask Objects + +Due to [CSCwt69100][74], a stale `dbgacEpgSummaryTask` object stuck in `processing` state with empty content can cause the policymgr process to crash on all APICs during an upgrade or process restart. + +Affected versions: 6.1(5e) and below, or 6.2(1g). + +Contact Cisco TAC for next steps. For more details, refer to the workaround in [CSCwt69100][74]. + + [0]: https://github.com/datacenter/ACI-Pre-Upgrade-Validation-Script [1]: https://www.cisco.com/c/dam/en/us/td/docs/Website/datacenter/apicmatrix/index.html [2]: https://www.cisco.com/c/en/us/support/switches/nexus-9000-series-switches/products-release-notes-list.html @@ -2892,4 +2903,5 @@ This bug [CSCwt78235][71] validates `F0467` faults where `changeSet` contains 'b [70]: https://bst.cloudapps.cisco.com/bugsearch/bug/CSCvo27498 [71]: https://bst.cloudapps.cisco.com/bugsearch/bug/CSCwt78235 [72]: https://bst.cloudapps.cisco.com/bugsearch/bug/CSCwt50713 -[73]: https://bst.cloudapps.cisco.com/bugsearch/bug/CSCwo74485 \ No newline at end of file +[73]: https://bst.cloudapps.cisco.com/bugsearch/bug/CSCwo74485 +[74]: https://bst.cloudapps.cisco.com/bugsearch/bug/CSCwt69100 \ No newline at end of file From 6514a23f9b6baec22ca970b5cceb837199be796d Mon Sep 17 00:00:00 2001 From: GM Date: Wed, 1 Jul 2026 10:09:11 -0400 Subject: [PATCH 2/4] Update validations.md --- docs/docs/validations.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/docs/docs/validations.md b/docs/docs/validations.md index e3ee47d..59babff 100644 --- a/docs/docs/validations.md +++ b/docs/docs/validations.md @@ -140,7 +140,6 @@ Items | Faults | This Script [AVE End-of-life][c23] | :white_check_mark: | :no_entry_sign: [Shared Service with vzAny Consumer][c24] | :white_check_mark: | :no_entry_sign: - [c1]: #vpc-paired-leaf-switches [c2]: #overlapping-vlan-pool [c3]: #vnid-mismatch @@ -208,7 +207,6 @@ Items | Defect | This Script [N9K-C93180YC-FX3 Switch Memory Less Than 32GB][d36] | CSCwm42741 | :white_check_mark: | :no_entry_sign: [Stale dbgacEpgSummaryTask Objects][d37] | CSCwt69100 | :white_check_mark: | :no_entry_sign: - [d1]: #ep-announce-compatibility [d2]: #eventmgr-db-size-defect-susceptibility [d3]: #contract-port-22-defect @@ -247,7 +245,6 @@ Items | Defect | This Script [d36]: #n9k-c93180yc-fx3-switch-memory-less-than-32gb [d37]: #stale-dbgacepgsummarytask-objects - ## General Check Details ### Compatibility (Target ACI Version) From 8c0cbfaa1fa822ea52d55d45c80d6294bb52ef1a Mon Sep 17 00:00:00 2001 From: GM Date: Wed, 1 Jul 2026 10:10:11 -0400 Subject: [PATCH 3/4] Update validations.md --- docs/docs/validations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/validations.md b/docs/docs/validations.md index 59babff..8558888 100644 --- a/docs/docs/validations.md +++ b/docs/docs/validations.md @@ -2833,7 +2833,7 @@ If any N9K-C93180YC-FX3 switch is flagged by this check, upgrade the switch memo ### Stale dbgacEpgSummaryTask Objects -Due to [CSCwt69100][74], a stale `dbgacEpgSummaryTask` object stuck in `processing` state with empty content can cause the policymgr process to crash on all APICs during an upgrade or process restart. +Due to [CSCwt69100][75], a stale `dbgacEpgSummaryTask` object stuck in `processing` state with empty content can cause the policymgr process to crash on all APICs during an upgrade or process restart. Affected versions: 6.1(5e) and below, or 6.2(1g). From c3fffbe1be1ab4ae1c9e4e172c4bf57908dff67c Mon Sep 17 00:00:00 2001 From: GM Date: Wed, 1 Jul 2026 10:11:17 -0400 Subject: [PATCH 4/4] Update aci-preupgrade-validation-script.py --- aci-preupgrade-validation-script.py | 59 +++++++++++++++-------------- 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/aci-preupgrade-validation-script.py b/aci-preupgrade-validation-script.py index 181f3a9..8d47b75 100644 --- a/aci-preupgrade-validation-script.py +++ b/aci-preupgrade-validation-script.py @@ -6532,34 +6532,6 @@ def wred_affected_model_check(tversion, fabric_nodes, **kwargs): return Result(result=NA, msg="No affected Fabric module found.") -@check_wrapper(check_title="Stale dbgacEpgSummaryTask Objects") -def stale_dbgacEpgSummaryTask_check(tversion, **kwargs): - result = PASS - headers = ["DN", "Start Time"] - data = [] - recommended_action = "Contact Cisco TAC for next steps. For more details, refer to the workaround in [CSCwt69100](https://bst.cloudapps.cisco.com/bugsearch/bug/CSCwt69100)." - doc_url = "https://datacenter.github.io/ACI-Pre-Upgrade-Validation-Script/validations/#stale-dbgacepgsummarytask-objects" - - if tversion and ((tversion.major1 == "6" and tversion.major2 == "1" and tversion.newer_than("6.1(5e)")) or tversion.newer_than("6.2(1g)")): - return Result(result=NA, msg=VER_NOT_AFFECTED, doc_url=doc_url) - - threshold = datetime.utcnow() - timedelta(hours=24) - for obj in icurl("class", 'dbgacEpgSummaryTask.json?query-target-filter=eq(dbgacEpgSummaryTask.operSt,"processing")'): - attr = obj["dbgacEpgSummaryTask"]["attributes"] - dn = attr.get("dn", "") - start_ts = attr.get("startTs", "") - try: - task_dt = datetime.strptime(start_ts[:19], "%Y-%m-%dT%H:%M:%S") - except ValueError: - continue - if task_dt < threshold: - data.append([dn, start_ts]) - - if data: - result = FAIL_UF - return Result(result=result, headers=headers, data=data, recommended_action=recommended_action, doc_url=doc_url) - - @check_wrapper(check_title='N9K-C93180YC-FX3 Switch Memory Less Than 32GB') def n9k_c93180yc_fx3_switch_memory_check(fabric_nodes, **kwargs): result = PASS @@ -6620,6 +6592,34 @@ def n9k_c93180yc_fx3_switch_memory_check(fabric_nodes, **kwargs): return Result(result=result, msg=msg, headers=headers, data=data, recommended_action=recommended_action, doc_url=doc_url) +@check_wrapper(check_title="Stale dbgacEpgSummaryTask Objects") +def stale_dbgacEpgSummaryTask_check(tversion, **kwargs): + result = PASS + headers = ["DN", "Start Time"] + data = [] + recommended_action = "Contact Cisco TAC for next steps. For more details, refer to the workaround in [CSCwt69100](https://bst.cloudapps.cisco.com/bugsearch/bug/CSCwt69100)." + doc_url = "https://datacenter.github.io/ACI-Pre-Upgrade-Validation-Script/validations/#stale-dbgacepgsummarytask-objects" + + if tversion and ((tversion.major1 == "6" and tversion.major2 == "1" and tversion.newer_than("6.1(5e)")) or tversion.newer_than("6.2(1g)")): + return Result(result=NA, msg=VER_NOT_AFFECTED, doc_url=doc_url) + + threshold = datetime.utcnow() - timedelta(hours=24) + for obj in icurl("class", 'dbgacEpgSummaryTask.json?query-target-filter=eq(dbgacEpgSummaryTask.operSt,"processing")'): + attr = obj["dbgacEpgSummaryTask"]["attributes"] + dn = attr.get("dn", "") + start_ts = attr.get("startTs", "") + try: + task_dt = datetime.strptime(start_ts[:19], "%Y-%m-%dT%H:%M:%S") + except ValueError: + continue + if task_dt < threshold: + data.append([dn, start_ts]) + + if data: + result = FAIL_UF + return Result(result=result, headers=headers, data=data, recommended_action=recommended_action, doc_url=doc_url) + + # ---- Script Execution ---- @@ -6793,8 +6793,9 @@ class CheckManager: inband_management_policy_misconfig_check, bgpProto_timer_policy_already_existing_check, wred_affected_model_check, - stale_dbgacEpgSummaryTask_check, n9k_c93180yc_fx3_switch_memory_check, + stale_dbgacEpgSummaryTask_check, + ] ssh_checks = [ # General