Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Harvest power algorithm should ignore embedded shelves, handle shared PSUs, and include root aggregates #2357

Closed
2 tasks done
cgrinds opened this issue Sep 8, 2023 · 2 comments · Fixed by #2359, #2362 or #2363
Closed
2 tasks done
Labels

Comments

@cgrinds
Copy link
Collaborator

cgrinds commented Sep 8, 2023

Thanks to Evan Lee for reporting!

Summary of the three issues:

  1. In most cases, ONTAP does not report power for embedded disk shelves, and Harvest relied on that. But in some cases, ONTAP reports power for embedded disk shelves. FAS2750 is an example. Harvest should ignore embedded shelves. ONTAP Power calculation for embedded Shelf #2332 fixed in feat: ONTAP Power calculation for embedded Shelf #2333

  2. Some hardware (FAS2620, FAS2750, etc.) use shared PSUs – when there are shared PSUs, Harvest double counts the PSUs power. For example: “system environment sensors show” reports node1 is using 297W and node2 is using 297W, but because the system has shared PSUs that load share power between nodes, the actual power is (297+297)/2 = 297W.

23.08 and earlier versions of Harvest would report 297W + 297W = 594W since we summed the PSU power. The fix is to detect shared PSUs and divide the total PSU power by the number of shared-nodes, resulting in 297W in this example.

  1. Root aggregates should be shown in aggregate power table panel
  • Finish documentation
  • Include root aggregates in power calculation
@cgrinds cgrinds added bug Something isn't working status/open customer 23.11 labels Sep 8, 2023
@cgrinds cgrinds self-assigned this Sep 8, 2023
@cgrinds
Copy link
Collaborator Author

cgrinds commented Sep 8, 2023

The logic to determine if PSUs are shared in point two requires using system chassis fru show.

We have not been able to find a ZAPI that returns this information, which means Power would become a REST only feature.

We can gather the data via /api/private/cli/system/chassis/fru with fields=chassis-id,fru-name,name,num-nodes,status,type

@rahulguptajss rahulguptajss changed the title Harvest power algorthim should ignore embedded shelves and handle shared PSUs Harvest power algorithm should ignore embedded shelves and handle shared PSUs Sep 11, 2023
@cgrinds cgrinds linked a pull request Sep 12, 2023 that will close this issue
@cgrinds cgrinds reopened this Sep 13, 2023
cgrinds added a commit that referenced this issue Sep 13, 2023
@cgrinds cgrinds changed the title Harvest power algorithm should ignore embedded shelves and handle shared PSUs Harvest power algorithm should ignore embedded shelves, handle shared PSUs, and include root aggregates Sep 14, 2023
rahulguptajss pushed a commit that referenced this issue Sep 15, 2023
* doc: describe how Harvest calculates power

Fixes: #2357

* doc: describe how Harvest calculates power
@cgrinds cgrinds reopened this Sep 15, 2023
@rahulguptajss rahulguptajss linked a pull request Sep 15, 2023 that will close this issue
@Hardikl Hardikl self-assigned this Nov 9, 2023
@Hardikl
Copy link
Contributor

Hardikl commented Nov 9, 2023

Tested in main with commit 4158465

Tested in 2 AFF-250, umeng-01-02, umeng-05-06 clusters.

  1. Embedded shelves are ignored to calculate the total power.
  2. Total power = Nodes power + shelf power (if not embedded).
  3. Root aggregates are displayed in Aggregates table.
image

@Hardikl Hardikl removed their assignment Nov 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
3 participants