Skip to content

Commit

Permalink
SUP-A/A+ High Memory Usage (#92)
Browse files Browse the repository at this point in the history
* Add check and tests for SUP-A high memory check

* Add documentation

* Update recommended action
  • Loading branch information
takishida authored Apr 18, 2024
1 parent 093b642 commit beabd51
Show file tree
Hide file tree
Showing 7 changed files with 2,356 additions and 1 deletion.
35 changes: 34 additions & 1 deletion aci-preupgrade-validation-script.py
Original file line number Diff line number Diff line change
Expand Up @@ -2791,6 +2791,39 @@ def oob_mgmt_security_check(index, total_checks, cversion, tversion, **kwargs):
return result


def sup_a_high_memory_check(index, total_checks, tversion, **kwargs):
title = "SUP-A/A+ High Memory Usage"
result = PASS
msg = ""
headers = ["Pod ID", "Node ID", "SUP Model", "Active/Standby"]
data = []
recommended_action = "Change the target version to the one with memory optimization in a near-future 6.0 release."
doc_url = "https://datacenter.github.io/ACI-Pre-Upgrade-Validation-Script/validations/#sup-aa-high-memory-usage"

print_title(title, index, total_checks)

if not tversion:
print_result(title, MANUAL, "Target version not supplied. Skipping.")
return MANUAL

affected_versions = ["6.0(3)", "6.0(4)", "6.0(5)"]
if tversion.simple_version in affected_versions:
eqptSupCs = icurl("class", "eqptSupC.json")
for eqptSupC in eqptSupCs:
model = eqptSupC["eqptSupC"]["attributes"]["model"]
if model in ["N9K-SUP-A", "N9K-SUP-A+"]:
dn = re.search(node_regex, eqptSupC["eqptSupC"]["attributes"]["dn"])
pod_id = dn.group("pod")
node_id = dn.group("node")
act_stb = eqptSupC["eqptSupC"]["attributes"]["rdSt"]
data.append([pod_id, node_id, model, act_stb])

if data:
result = FAIL_O
print_result(title, result, msg, headers, data, recommended_action=recommended_action, doc_url=doc_url)
return result


if __name__ == "__main__":
prints(' ==== %s%s, Script Version %s ====\n' % (ts, tz, SCRIPT_VERSION))
prints('!!!! Check https://github.com/datacenter/ACI-Pre-Upgrade-Validation-Script for Latest Release !!!!\n')
Expand Down Expand Up @@ -2870,7 +2903,7 @@ def oob_mgmt_security_check(index, total_checks, cversion, tversion, **kwargs):
apic_ca_cert_validation,
fabricdomain_name_check,
sup_hwrev_check,

sup_a_high_memory_check,
]
summary = {PASS: 0, FAIL_O: 0, FAIL_UF: 0, ERROR: 0, MANUAL: 0, NA: 0, 'TOTAL': len(checks)}
for idx, check in enumerate(checks):
Expand Down
14 changes: 14 additions & 0 deletions docs/docs/validations.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ Items | Defect | This Script
[APIC CA Cert Validation][d7] | CSCvy35257 | :white_check_mark: | :no_entry_sign: |:no_entry_sign:
[FabricDomain Name Check][d8] | CSCwf80352 | :white_check_mark: | :no_entry_sign: |:no_entry_sign:
[Spine SUP HW Revision Check][d9] | CSCwb86706 | :white_check_mark: | :no_entry_sign: |:no_entry_sign:
[SUP-A/A+ High Memory Usage][d10] | CSCwh39489 | :white_check_mark: | :no_entry_sign: |:no_entry_sign:

[d1]: #ep-announce-compatibility
[d2]: #eventmgr-db-size
Expand All @@ -137,6 +138,7 @@ Items | Defect | This Script
[d7]: #apic-ca-cert-validation
[d8]: #fabric-domain-name
[d9]: #spine-sup-hw-revision
[d10]: #sup-aa-high-memory-usage



Expand Down Expand Up @@ -1307,6 +1309,15 @@ Due to the defect CSCwb86706, ACI modular spine switches may not be able to boot
The script checks if the version and the SUP modules are susceptible to the defect.


### SUP-A/A+ High Memory Usage

Due to the increased memory utilization from 6.0(3), N9K-SUP-A or N9K-SUP-A+ will likely experience constant high memory utilization.

It is highly recommended not to upgrade your ACI fabric to 6.0(3), 6.0(4) or 6.0(5) if your fabric contains N9K-SUP-A and/or N9K-SUP-A+. Instead, wait for the memory optimization in a near-future Cisco ACI 6.0 maintenance release that will allow the N9K-SUP-A and N9K-SUP-A+ supervisors to operate in a normal memory condition.

!!! note
This is also called out in release notes of each version - [6.0(3)][15], [6.0(4)][16], [6.0(5)][17]:




Expand All @@ -1325,3 +1336,6 @@ The script checks if the version and the SUP modules are susceptible to the defe
[12]: https://www.cisco.com/c/en/us/td/docs/switches/datacenter/aci/apic/sw/4-x/L2-configuration/Cisco-APIC-Layer2-Configuration-Guide-42x/Cisco-APIC-Layer2-Configuration-Guide-421_chapter_0110.html#id_109428
[13]: https://www.cisco.com/c/en/us/td/docs/dcn/whitepapers/cisco-aci-best-practices-quick-summary.html#_Toc114493697
[14]: https://www.cisco.com/c/en/us/td/docs/dcn/whitepapers/cisco-aci-best-practices-quick-summary.html#_Toc114493698
[15]: https://www.cisco.com/c/en/us/td/docs/dcn/aci/apic/6x/release-notes/cisco-apic-release-notes-603.html
[16]: https://www.cisco.com/c/en/us/td/docs/dcn/aci/apic/6x/release-notes/cisco-apic-release-notes-604.html
[17]: https://www.cisco.com/c/en/us/td/docs/dcn/aci/apic/6x/release-notes/cisco-apic-release-notes-605.html
Loading

0 comments on commit beabd51

Please sign in to comment.