Skip to content

Commit 1b64143

Browse files
Addressed PR comments
1 parent a66b043 commit 1b64143

4 files changed

Lines changed: 68 additions & 8 deletions

File tree

docs/docs/validations.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2794,7 +2794,7 @@ Due to excessive `svccoreCtrlr` or `svccoreNode` managed objects, Apic gui stuck
27942794

27952795
The svccoreCtrlr and svccoreNode objects represent core files related to Apic and Leaf/Spines process respectively.
27962796

2797-
Due to [CSCws84232][67], the APIC GUI may become unresponsive after login, with dashboards stuck in a continuous "Loading…"state.
2797+
Due to [CSCws84232][67], the APIC GUI may become unresponsive after login, with dashboards stuck in a continuous Loading…state.
27982798
Administrators may be unable to access or operate the APIC GUI, potentially impacting day-to-day management or upgrade.
27992799

28002800
This check will verify the count of the `svccoreCtrlr` Managed Object and raise and alarm with the bug if object count found more than 240. Remove the content or objects of `svccoreCtrlr` or `svccoreNode`. Contact Cisco TAC or upgrade to a release containing the fix for CSCws84232 before proceeding with an upgrade.
@@ -2803,13 +2803,10 @@ This check will verify the count of the `svccoreCtrlr` Managed Object and raise
28032803

28042804
Due to [CSCwt69100][70], 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.
28052805

2806-
Affected versions: version <= 6.1(5e) or version <= 6.2(1g).
2807-
2808-
The check queries for `dbgacEpgSummaryTask` objects with `operSt="processing"` and `startTs` older than 24 hours. Such objects are considered stale and unexpected. If found, delete them before proceeding with the upgrade to prevent policymgr from crashing on restart.
2806+
Delete any stale `dbgacEpgSummaryTask` objects before proceeding to prevent policymgr from crashing on restart.
28092807

28102808

28112809
[0]: https://github.com/datacenter/ACI-Pre-Upgrade-Validation-Script
2812-
[70]: https://bst.cloudapps.cisco.com/bugsearch/bug/CSCwt69100
28132810
[1]: https://www.cisco.com/c/dam/en/us/td/docs/Website/datacenter/apicmatrix/index.html
28142811
[2]: https://www.cisco.com/c/en/us/support/switches/nexus-9000-series-switches/products-release-notes-list.html
28152812
[3]: https://www.cisco.com/c/en/us/td/docs/dcn/aci/apic/5x/release-notes/cisco-aci-nx-os-release-notes-1501.html#_Toc140580685
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
[
2+
{
3+
"dbgacEpgSummaryTask": {
4+
"attributes": {
5+
"dn": "action/policymgrsubj-[uni/tn-TN_PROD/epgToEpg-EPG_PROD_FE_TO_EPG_PROD_BE/dstepg-[uni/tn-TN_PROD/ap-AP_PROD/epg-EPG_PROD_BE]]/dbgacEpgSummaryTask-ReportODACDef",
6+
"operSt": "processing",
7+
"startTs": "2026-01-14T11:00:00.000+00:00"
8+
}
9+
}
10+
},
11+
{
12+
"dbgacEpgSummaryTask": {
13+
"attributes": {
14+
"dn": "action/policymgrsubj-[uni/tn-TN_TEST/epgToEpg-EPG_TEST_A_TO_EPG_TEST_B/dstepg-[uni/tn-TN_TEST/ap-AP_TEST/epg-EPG_TEST_B]]/dbgacEpgSummaryTask-ReportODACDef",
15+
"operSt": "processing",
16+
"startTs": "2026-01-14T12:01:00.000+00:00"
17+
}
18+
}
19+
}
20+
]
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[
2+
{
3+
"dbgacEpgSummaryTask": {
4+
"attributes": {
5+
"dn": "action/policymgrsubj-[uni/tn-TN_PROD/epgToEpg-EPG_PROD_FE_TO_EPG_PROD_BE/dstepg-[uni/tn-TN_PROD/ap-AP_PROD/epg-EPG_PROD_BE]]/dbgacEpgSummaryTask-ReportODACDef",
6+
"operSt": "processing",
7+
"startTs": "2026-01-14T12:00:00.000+00:00"
8+
}
9+
}
10+
}
11+
]

tests/checks/stale_epg_summary_task_check/test_stale_epg_summary_task_check.py

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,17 @@ def mock_datetime(monkeypatch):
4343
@pytest.mark.parametrize(
4444
"tversion, icurl_outputs, expected_result, expected_data",
4545
[
46-
# Case 1: Target version 6.2(2a) is beyond both affected ranges (6.1(5e) and 6.2(1g)).
46+
# Case 1: tversion is missing. Expected: MANUAL.
47+
(
48+
None,
49+
{},
50+
script.MANUAL,
51+
[],
52+
),
53+
# Case 2: Target version 6.2(1h) is beyond both affected ranges (6.1(5e) and 6.2(1g)).
4754
# The target binary has the fix so version gate fails. Expected: NA without any API calls.
4855
(
49-
"6.2(2a)",
56+
"6.2(1h)",
5057
{},
5158
script.NA,
5259
[],
@@ -103,11 +110,36 @@ def mock_datetime(monkeypatch):
103110
]
104111
],
105112
),
113+
# Case 6: Task started exactly 24 hours ago (startTs == threshold).
114+
# Boundary condition: task_dt < threshold is False when equal. Expected: PASS.
115+
(
116+
"6.1(5e)",
117+
{
118+
task_api: read_data(dir, "dbgacEpgSummaryTask_exactly_24h.json"),
119+
},
120+
script.PASS,
121+
[],
122+
),
123+
# Case 7: Two tasks — one at 25 hours (stale) and one at 23h59m (not stale).
124+
# Only the 25h task crosses the threshold. Expected: FAIL_O with one row.
125+
(
126+
"6.1(5e)",
127+
{
128+
task_api: read_data(dir, "dbgacEpgSummaryTask_boundary_combo.json"),
129+
},
130+
script.FAIL_O,
131+
[
132+
[
133+
"action/policymgrsubj-[uni/tn-TN_PROD/epgToEpg-EPG_PROD_FE_TO_EPG_PROD_BE/dstepg-[uni/tn-TN_PROD/ap-AP_PROD/epg-EPG_PROD_BE]]/dbgacEpgSummaryTask-ReportODACDef",
134+
"2026-01-14T11:00:00.000+00:00",
135+
]
136+
],
137+
),
106138
],
107139
)
108140
def test_logic(run_check, mock_icurl, mock_datetime, tversion, icurl_outputs, expected_result, expected_data):
109141
result = run_check(
110-
tversion=script.AciVersion(tversion),
142+
tversion=script.AciVersion(tversion) if tversion else None,
111143
)
112144
assert result.result == expected_result
113145
assert result.data == expected_data

0 commit comments

Comments
 (0)