Skip to content

Commit 70dc2d6

Browse files
muthu-kumonrog2takishidapsureshbHarinadh-Saladi
authored
Added version check for CSCwd37387 (#378)
* 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>
1 parent 0d28b80 commit 70dc2d6

3 files changed

Lines changed: 28 additions & 7 deletions

File tree

aci-preupgrade-validation-script.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3985,7 +3985,7 @@ def llfc_susceptibility_check(cversion, tversion, vpc_node_ids, **kwargs):
39853985
data = []
39863986
sx_affected = t_affected = False
39873987
recommended_action = 'Manually change Peer devices Transmit(send) Flow Control to off prior to switch Upgrade'
3988-
doc_url = 'https://bst.cloudapps.cisco.com/bugsearch/bug/CSCvo27498'
3988+
doc_url = 'https://datacenter.github.io/ACI-Pre-Upgrade-Validation-Script/validations/#link-level-flow-control'
39893989

39903990
if not tversion:
39913991
return Result(result=MANUAL, msg=TVER_MISSING)
@@ -3998,7 +3998,8 @@ def llfc_susceptibility_check(cversion, tversion, vpc_node_ids, **kwargs):
39983998
sx_affected = True
39993999

40004000
# Check for Copper 1000base-T, CSCvj67507 fixed by CSCwd37387
4001-
if cversion.older_than("4.1(1i)") and tversion.newer_than("4.1(1h)") and tversion.older_than("5.2(7f)"):
4001+
if ((cversion.older_than("4.1(1i)") or cversion.same_as("4.1(1i)")) and tversion.older_than("5.2(7f)") and tversion.newer_than("4.0(1h")) or (cversion.older_than("5.2(7f)") and tversion.newer_than("5.2(7f)")
4002+
or (tversion.older_than("5.2(7f)") and cversion.same_as(tversion))):
40024003
t_affected = True
40034004

40044005
if sx_affected or t_affected:

docs/docs/validations.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2406,11 +2406,9 @@ To avoid this issue, change the `collectorLocation` type to `none` through the A
24062406

24072407
### Link Level Flow Control
24082408

2409-
Due to the defect CSCvo27498, after upgrade of first ACI leaf switch in a VPC pair to newer 15.x version from older 13.x version, downstream VPC might be down due to `vpc port channel mis-config due to vpc links in the 2 switches connected to different partners` even though they are connected to same device.
2409+
Due to the defect CSCvo27498[70], after upgrade of first ACI leaf switch in a VPC pair to newer 15.2(7f) version, some of vpc member port on upgrading device may go down. By default Link level Flow control is off in ACI but in older code, the ACI software was incorrectly signalling far end device to enable transmit flow control. If far end device transmit(send) flow control in auto or desirable mode, it will enable transmit flow control.
24102410

2411-
By default Link level Flow control is off in ACI but in older code, the ACI software was incorrectly signalling far end device to enable transmit flow control. if far end device transmit(send) flow control in auto or desirable mode, it will enable transmit flow control.
2412-
2413-
After the first switch in VPC pair is upgraded to newer 15.x code, the incorrect flow control signalling is fixed. But due to mismatched software versions in ACI during upgrade, the far end device port-channel member interfaces will end up with mismatched send flow control. When this happens. they could send a different LACP operational key causing the ACI leaf to interpret that it is connected to different partners.
2411+
After the first switch in VPC pair is upgraded to 15.2(7f) the incorrect flow control signalling is fixed. But due to mismatched software versions in ACI during upgrade, the far end device port-channel member interfaces will end up with mismatched send flow control. When this happens. they could send a different LACP operational key causing the ACI leaf to interpret that it is connected to different partners.
24142412

24152413
The script checks if the version is susceptible to the default along with the specific 1G SFPs that are affected by the defect.
24162414

@@ -2867,4 +2865,5 @@ This check will verify the count of the `svccoreCtrlr` Managed Object and raise
28672865
[66]: https://bst.cloudapps.cisco.com/bugsearch/bug/CSCwr66848
28682866
[67]: https://bst.cloudapps.cisco.com/bugsearch/bug/CSCwh80837
28692867
[68]: https://bst.cloudapps.cisco.com/bugsearch/bug/CSCwd40071
2870-
[69]: https://bst.cloudapps.cisco.com/bugsearch/bug/CSCws84232
2868+
[69]: https://bst.cloudapps.cisco.com/bugsearch/bug/CSCws84232
2869+
[70]: https://bst.cloudapps.cisco.com/bugsearch/bug/CSCvo27498

tests/checks/llfc_susceptibility_check/test_llfc_susceptibility_check.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,27 @@
1818
@pytest.mark.parametrize(
1919
"icurl_outputs, cversion, tversion, vpc_node_ids, expected_result",
2020
[
21+
(
22+
{ethpmFcots: read_data(dir, "ethpmFcot.json")},
23+
"5.2(5c)",
24+
"6.1(5e)",
25+
["101", "103", "204", "206"],
26+
script.MANUAL,
27+
),
28+
(
29+
{ethpmFcots: read_data(dir, "ethpmFcot.json")},
30+
"4.1(1i)",
31+
"5.2(2a)",
32+
["101", "103", "204", "206"],
33+
script.MANUAL,
34+
),
35+
(
36+
{ethpmFcots: read_data(dir, "ethpmFcot.json")},
37+
"5.2(7f)",
38+
"6.1(5c)",
39+
["101", "103", "204", "206"],
40+
script.PASS,
41+
),
2142
(
2243
{ethpmFcots: read_data(dir, "ethpmFcot.json")},
2344
"4.2(1b)",

0 commit comments

Comments
 (0)