Skip to content

feat(storcli2): physical drive blinker#72

Open
g-carre wants to merge 1 commit into
feature/storcli2-lv-manager-pd-membershipfrom
feature/storcli2-blinker
Open

feat(storcli2): physical drive blinker#72
g-carre wants to merge 1 commit into
feature/storcli2-lv-manager-pd-membershipfrom
feature/storcli2-blinker

Conversation

@g-carre

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

Copy link
Copy Markdown
Contributor

Summary

Implements ports.Blinker on the storcli2/perccli2 adapter (ARTESCA-17650). Stacked on #70.

  • StartBlink / StopBlink — issue /cx/ex/sx start locate / stop locate (same grammar as storcli), pick the enclosure or no-enclosure selector form from the drive's parsed slot, and surface the in-JSON failure payload via storcli2.Decode.

A single implementation serves both binaries; the runner is injected.

Testing

go build, go vet, gofmt, and the package test suite pass. Tests cover start/stop locate against the blink/storcli2/{start,stop}.json fixtures (enclosure and no-enclosure selectors), the runner-error path, and an invalid-slot rejection.

Note: Targets feature/storcli2-lv-manager-pd-membership (#70), not main, per the stack. Diff narrows as the lower PRs merge.

Issue: ARTESCA-17650

🤖 Generated with Claude Code

@g-carre g-carre requested a review from a team as a code owner June 25, 2026 11:25
@g-carre g-carre force-pushed the feature/storcli2-lv-manager-pd-membership branch from d468745 to e66400a Compare June 30, 2026 12:33
@g-carre g-carre force-pushed the feature/storcli2-blinker branch from 9c532af to 28550ac Compare June 30, 2026 12:34
@claude

claude Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

LGTM

Review by Claude Code

@g-carre g-carre force-pushed the feature/storcli2-lv-manager-pd-membership branch from e66400a to 2c5ab13 Compare June 30, 2026 13:26
Implement ports.Blinker on the storcli2/perccli2 adapter:

- StartBlink / StopBlink issue "/cx/ex/sx start locate" / "stop locate"
  (same grammar as storcli), choosing the enclosure or no-enclosure
  selector form from the drive's parsed slot, and surface the in-JSON
  failure payload via storcli2.Decode.

A single implementation serves both binaries; the runner is injected.

Issue: ARTESCA-17650
@g-carre g-carre force-pushed the feature/storcli2-blinker branch from 28550ac to 3be14c1 Compare June 30, 2026 13:27
err := b.StopBlink(storcli2PDMetadata(""))
require.Error(t, err)
mockRunner.AssertNotCalled(t, "Run")
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing test for the storcli2.Decode failure branch (storcli2.go:78). The runner-error and invalid-slot paths are covered, but a command that succeeds yet returns a non-Success JSON status is not. The sibling jbodsetter package tests this with TestStorCLI2EnableJBODFailure and a fail.json fixture — add an equivalent here so the error-wrapping at line 79 is exercised.

— Claude Code

@claude

claude Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor
  • storcli2_test.go:111 — Missing test for the storcli2.Decode failure branch (command succeeds but JSON reports non-Success status). The jbodsetter sibling covers this with a fail.json fixture; add the same here.

    Review by Claude Code

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