Skip to content

feat(storcli2): logical volume drive add (expand) and remove#70

Open
g-carre wants to merge 2 commits into
feature/storcli2-lv-manager-create-deletefrom
feature/storcli2-lv-manager-pd-membership
Open

feat(storcli2): logical volume drive add (expand) and remove#70
g-carre wants to merge 2 commits into
feature/storcli2-lv-manager-create-deletefrom
feature/storcli2-lv-manager-pd-membership

Conversation

@g-carre

@g-carre g-carre commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Summary

Completes ports.LogicalVolumesManager on the storcli2/perccli2 manager (ARTESCA-17648). Stacked on #69.

storcli2 dropped storcli's start migrate command (per DESIGN.md, verified against the StorCLI2 User Guide and the official storcli-to-storcli2 command map), so the two drive-membership operations split:

  • AddPDsToLV — online capacity expansion via /cx/vx expand drives=e:s,.... The firmware preserves the RAID level; drives spanning multiple enclosures are rejected.
  • DeletePDsFromLV — returns ports.ErrFunctionNotSupportedByImplementation: there is no storcli2 replacement for start migrate option=remove.

Replaces the stale plain-text migrate/fail.json fixture (a unexpected TOKEN_MIGRATE syntax error proving start migrate no longer parses) with proper expand/{success,fail}.json fixtures, and updates the collection script and testdata README.

Testing

go build, go vet, gofmt, and the package test suite pass. New tests cover the expand happy path, command-failure, multi-enclosure rejection, and the unsupported-removal error.

Note: This PR targets feature/storcli2-lv-manager-create-delete (its base, #69), not main. The diff will narrow once #69 merges.

Issue: ARTESCA-17648

🤖 Generated with Claude Code

Complete ports.LogicalVolumesManager on the storcli2/perccli2 manager:

- AddPDsToLV grows a volume through "expand drives=e:s,..." (online capacity
  expansion). storcli2 dropped "start migrate", so expansion is the only
  supported growth path; the firmware preserves the RAID level. Drives
  spanning multiple enclosures are rejected.
- DeletePDsFromLV returns ErrFunctionNotSupportedByImplementation: the
  storcli-to-storcli2 command map drops "start migrate" with no replacement
  for removing drives from a volume (see DESIGN.md).

Replace the stale plain-text migrate/fail.json fixture (captured with the
v1 grammar that storcli2 rejects) with proper expand/{success,fail}.json
fixtures, and update the collection script and testdata README accordingly.

Issue: ARTESCA-17648
@g-carre g-carre requested a review from a team as a code owner June 25, 2026 09:11
revive's unused-receiver rule flagged the named 's' receiver, which the
not-supported stub never references.

Issue: ARTESCA-17648
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant