Repository navigation
feat(storage): inspect native worker prerequisites without mutations - #5792
Conversation
Part of #5791. Bind fixed memory counters to unchanged native hardware and boot identity while preserving all migration gates.
At b5d0f86, the affected race suite passed (430 cases, three packages); golangci-lint reported zero issues; actionlint, offline zizmor and the whitespace check passed. The actual CLI refused execution outside the protected first-attempt main workflow before credential loading. Native counter parsing, observation and the actual Bash authorization branch each had a failing test before implementation. Self-review covered correctness, simplification and security. The command path is limited to the existing fixed read requests plus the two fixed memory paths. The observer brackets counters with native boot, hardware and complete API projection, re-reads allocation, checks its deadline and client closure, and emits only selected numbers and a commitment after success. Tests reject incomplete counters, duplicate fields, unexpected units, impossible values, changed allocation or identity, read errors and client-close failure; no raw provider text or identity is serialized. The production refresh failed its native allocation guard before changing the affected worker. Actual host-counter acceptance remains pending protected merge and a new confirmed observation. This PR changes no reservation, Pod, node, disk or engine setting, and it does not resolve the full runtime acceptance in #5791. |
# Conflicts: # .github/workflows/prepare-longhorn-v2-node.yaml # scripts/migrate-longhorn-v2/inventory_temporary_test.go # scripts/migrate-longhorn-v2/main.go
Final scope at 09501cb adds separately confirmed read-only native block layouts to the memory probe. This shares the existing hardware, boot, complete API and source bracket. The original root-only mode retains schema 1 and performs no block reads; the new temporary-only layout mode emits schema 2 with reset clearance false. The actual COSI SDK adapter accepted joined EOF, returned a prefix on a failed stream and did not enforce these entry/message limits. Failing native-wire tests reproduced those cases. The new fixed-scope reader requires canonical EOF, enforces per-message, total-byte and entry bounds before decoding, checks exact single-node metadata, rejects other namespaces/types/options, and withholds every prefix on failure. Its public commitment covers reported counters/properties; private device metadata is compared only in memory. 464 affected race tests pass across three packages; lint, actionlint, offline zizmor and whitespace checks pass. The actual CLI refuses this operation outside the confirmed first-attempt main workflow before credentials. The COSI dependency's existing version is unchanged. Self-review covered correctness, security and simplification. Both new modes remain dormant until protected main dispatch; native memory/block-layout acceptance is still pending. No reset operation was added. |
@coderabbitai review |
Action not completed
|
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 54 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. CodeRabbit Verify
|
CodeRabbit declined request #issuecomment-6592702286 at this head. Its authenticated reply #issuecomment-6592704828 and current-head summary #issuecomment-6592706664 report exhausted included reviews, with the next review available in 54 minutes from 01:10:12 UTC. The no-gate guard returned ADMIT; no completed review or finding was published. This is not a review pass. Continuing to the next permitted provider without waiting for quota. |
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. Breezy! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Evaluated head 09501cb: all 64 current check contexts are settled and successful, intentionally skipped or neutral. The affected 464 race tests exercise complete API/file/block observations, native streaming bounds, source and hardware/boot continuity, close failures and counter parsing. Lint, actionlint, offline zizmor, formatting and whitespace checks pass. The actual command refuses both new operations outside the confirmed main workflow before credentials. Both modes are observation-only and grant no reset clearance; the existing root-only mode retains its original schema and behavior. CodeRabbit declined this head on quota; the no-gate guard admitted that record. Codex then completed a clean exact-head review: summary #issuecomment-6592743645 and receipt #issuecomment-6592760999. Complete comment, review, inline and thread inventories have no unresolved findings or maintainer instructions. The published body passes the consumer contract. Fresh platform health passes, the source claim is current, and GitHub reports CLEAN. Readable required checks and workflows pass; the configured code-quality rule remains unreadable and is left to the protected merge API. The remaining evaluation is the fixed-selection, protected-main production observation after actual merge. This PR provides that read-only path; no native memory/layout receipt, rebuild, data migration or V2 adoption is claimed before it runs. |
Why
The migration is blocked by an observed huge-page allocation shortfall and unverified temporary-worker disk layouts. We need native facts before choosing the next safe step.
What
Add separately confirmed, read-only observations of worker memory counters and temporary-worker storage layouts. The observations preserve all migration guards and authorize no host or storage changes.
Related: #5782
📦 New dependency: The existing COSI runtime is used directly; its version is unchanged.
Part of #5791