Repository navigation
Conversation
Part of #5791. Bind fixed memory counters to unchanged native hardware and boot identity while preserving all migration gates.
# Conflicts: # .github/workflows/prepare-longhorn-v2-node.yaml # scripts/migrate-longhorn-v2/inventory_temporary_test.go # scripts/migrate-longhorn-v2/main.go
Part of #5787. Reuse the existing logical allocation and measured free-space budget before a preparation journal or cordon and in both complete post-drain snapshots. Four failing flow cases reproduced the missing gate before the change; the three affected race packages and lint now pass. This remains private pending native storage qualification and source curation.
Part of #5787. Preserve the private unused-worker profile and its capacity checks while integrating reviewed main 5ca310a. Resolve workflow and authorization-test additions with both operation sets intact, and retain the corrected allocation-proof wording. Affected race suites, lint, actionlint, offline zizmor and whitespace checks pass. No deployment or reset is authorized by this private integration.
Part of #5787. Preserve unused-worker authorization alongside reviewed head 09501cb. Both the ordinary and unused-worker readers now use the bounded native block transport; no reset path uses the permissive SDK stream adapter. Race suites, lint and workflow validation pass. This private integration is not reset clearance.
…-main-5787 # Conflicts: # .github/workflows/prepare-longhorn-v2-node.yaml # scripts/migrate-longhorn-v2/inventory_runtime.go # scripts/migrate-longhorn-v2/inventory_temporary_test.go
Bind parent absence to the original encrypted partition and complete native block metadata. Keep replica, backing-image and unknown entries closed. Part of #5787.
Add a single-worker protected reboot with durable intent, original storage and database identity checks, peer recovery exclusion, strict eviction and positive allocation readback. Part of #5791.
Exercise the actual recovery probe deadline, retain shorter parent deadlines, and check fixture encoding before qualifying a pending peer. Part of #5791.
Document journal ownership, original storage bindings, peer exclusion, native observation and recovery semantics. Part of #5791.
Require a never-located prior phase, empty allocation identities and complete physical absence alongside the original encrypted partition proof. Part of #5787.
Scope reshape at 591b226. The second fix cycle at 1cb returned two new lifecycle findings across distinct stateful procedures. This PR now contains temporary-storage activation, registration and the shared eligibility checks. Filesystem and CSI recovery commands, assets and transport are removed from this diff and preserved at 1cb334e for the separate recovery-probe change under #5809. The watch-lifetime finding follows that work and must be resolved before a probe runs. Registration now distinguishes durable worker, partition and preparation identities from the original boot and OS observations. Fresh native reads still require an unchanged boot/hardware/API bracket and successful reader close. The regression failed for both completed and interrupted registration before the fix; both now recover without replaying disk writes or rewriting the original observations. Existing replacement, foreign-ownership and failed-preparation controls remain passing. The stale CPU comment and activation documentation are corrected. Validation: all four affected race suites, affected-package lint, the complete root Go suite, workflow checks and both manifest validations pass. Offline policy warnings remain observations, not runtime acceptance. Broader local lint has unchanged baseline findings, retained in private evidence. Current-head hosted checks and substantive review remain required. Native activation remains blocked on #5791, the completed-and-cleaned V1 baseline and #5787. This source revision grants no application cutover or original-disk reset acceptance. |
@coderabbitai full review |
Action performed
|
CodeRabbit completed the requested full review and reports no actionable findings at this head. Its current summary places the verdict outside the deployed verifier's accepted review block, so the verifier returns Following the configured provider sequence to Codex rather than weakening the receipt check. The native preparation and baseline prerequisites remain enforced. |
@codex review |
|
Codex Review: Didn't find any major issues. More of your lovely PRs please. 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". |
Current source qualification: This remains a draft. The final host prerequisite, clean V1 baseline and unused-target preparation must pass before activation. Source qualification does not establish a working V2 data path or authorize application cutover. |
Qualification correction: the effective rules now require four organization workflows. A complete current-head run read shows no Related refreshed heads expose shared baseline Go findings, with one coordinated repair in progress. This PR stays draft. Its head will be refreshed and fully requalified through the normal checks and review gates before promotion, in addition to the native prerequisites already recorded. |
Refreshed this draft to Validation at this head: all four affected packages passed uncached race tests; Go lint reported zero issues; both local and production configurations validated all 771 files, including every changed Longhorn manifest; all eleven tracked Go modules are tidy; actionlint passed; offline zizmor reported no findings with its two existing suppressions. Offline namespace-selector warnings do not establish native policy acceptance. Current-head CI and review must qualify this revision, including the effective required Go workflow. The native prerequisites in the merge-order notice remain outstanding. Keep this a draft: no registration, restore trial or application-volume migration is accepted by these local checks. |
✅
|
✅
|
Code coverage overviewLanguages: Go Go / code-coverage/go
Line coverage data for the main branch is not yet available. View coverage of the 10 most covered files.
ℹ️ Calculations represent line coverage. Results may change as calculations are updated. Updated |

Why
Temporary V2 storage must be qualified before the platform's application volumes can move to the new data engine.
What
Enable V2 alongside V1 and register only prepared, independently verified temporary storage, preserving the current provisioning default and original application data. Backup, restore and reattachment proofs follow as a separate reviewed change.
Part of #5809