webui icon indicating copy to clipboard operation
webui copied to clipboard

NAS-138182 / 26.04 / lack of icon indification of NVMe-oF share

Open AlexKarpov98 opened this issue 1 month ago • 7 comments

Changes: Added new icon to indicate NVMe-oF share

Downstream

Affects Reasoning
Documentation Added new icon to indicate NVMe-oF share
Testing

AlexKarpov98 avatar Oct 30 '25 13:10 AlexKarpov98

Jira URL: https://ixsystems.atlassian.net/browse/NAS-138182

bugclerk avatar Oct 30 '25 13:10 bugclerk

Claude finished @AlexKarpov98's task —— View job


Code Review Complete ✅

Excellent work on adding NVMe-oF share icon indication! 🎯 The implementation is clean, well-tested, and follows the established patterns in the codebase perfectly.

What's Good 👍

The PR follows all the best practices consistently:

  • Proper test coverage: Added comprehensive tests using harnesses (IxIconHarness) following the project's testing guidelines
  • Pattern consistency: NVMe-oF support mirrors existing SMB/NFS/iSCSI implementations exactly
  • Minimal, focused changes: Only touched what's necessary to add the feature
  • Proper naming: Used nvmet_shares following team feedback

Implementation Review

Interface Changes (dataset.interface.ts:192)

nvmet_shares?: { enabled: boolean; path: string }[];

Clean addition matching the existing share types pattern.

Template Changes (dataset-roles-cell.component.html:58-63) The conditional rendering follows the established pattern perfectly, using proper ix-icon component with translated tooltip.

Utility Functions (dataset.utils.ts:46, dataset.utils.spec.ts:50-53, 87-100) The doesDatasetOrChildrenHaveShares and doesDatasetHaveShares functions correctly include NVMe-oF shares in their logic, with excellent recursive test coverage for grandchild scenarios.

Component Tests (dataset-roles-cell.component.spec.ts:104-111) Tests use harnesses as required, with minimal mock data and proper type casting - exactly as specified in the project guidelines.


No issues found - this is ready to merge! 🚀

claude[bot] avatar Oct 30 '25 13:10 claude[bot]

Codecov Report

:white_check_mark: All modified and coverable lines are covered by tests. :white_check_mark: Project coverage is 86.29%. Comparing base (1622a10) to head (280a2fd). :warning: Report is 17 commits behind head on master. :white_check_mark: All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##           master   #12750   +/-   ##
=======================================
  Coverage   86.28%   86.29%           
=======================================
  Files        1824     1824           
  Lines       67584    67588    +4     
  Branches     8138     8142    +4     
=======================================
+ Hits        58313    58322    +9     
+ Misses       9271     9266    -5     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

:rocket: New features to boost your workflow:
  • :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

codecov[bot] avatar Oct 30 '25 13:10 codecov[bot]

We'll name it nvmet_shares

cool, thanks, gonna fix it ;)

AlexKarpov98 avatar Oct 30 '25 14:10 AlexKarpov98

Should we distinguish TCP or RDMA modes of NVMe-oF?

LittleNewton avatar Oct 31 '25 12:10 LittleNewton

Should we distinguish TCP or RDMA modes of NVMe-oF?

@aervin @william-gr - what do you think, gentlemen?

AlexKarpov98 avatar Oct 31 '25 12:10 AlexKarpov98

Should we distinguish TCP or RDMA modes of NVMe-oF?

@aervin @william-gr - what do you think, gentlemen?

Nope

william-gr avatar Oct 31 '25 12:10 william-gr

This PR has been merged and conversations have been locked. If you would like to discuss more about this issue please use our forums or raise a Jira ticket.

bugclerk avatar Nov 05 '25 22:11 bugclerk