Skip to content

feat(preflight): support V2-only prerequisite qualification - #673

Open
devantler wants to merge 7 commits into
longhorn:masterfrom
devantler:codex/longhorn-v2-only-14438
Open

devantler wants to merge 7 commits into
longhorn:masterfrom
devantler:codex/longhorn-v2-only-14438

Conversation

@devantler

@devantler devantler commented Nov 2, 2026 •

Copy link
Copy Markdown

Which issue(s) this PR fixes:

Issue longhorn/longhorn#14438

What this PR does / why we need it:

V2-only installations still run base iSCSI preflight checks and installation, while SPDK checks remain optional. Add an explicit --data-engine-mode=v2-only to check and install commands, retaining the default V1-capable behavior.

V2 mode omits iSCSI dependencies, requires SPDK prerequisites, verifies actual 2MiB hugepages as well as Kubernetes capacity, and validates setup inputs before host changes. Setup uses a bounded, cleared environment and checks the resulting allocation.

Remote runs bind complete reports to their newly created resources and completed container instances. Failed and reboot-pending installations return their report and a failing verdict; a durable host attempt record prevents automatic replay. Cleanup uses successful creation UIDs, including partial RBAC creation.

Special notes for your reviewer:

Validated d53747c with the repository's full make ci in an isolated Ubuntu 26.04 ARM64 VM using Docker 29.1.3. The official Go 1.27 build produced all eight Linux/macOS AMD64/ARM64 binaries; vet, lint, formatting and the complete native ARM64 test suite passed. The separate upstream import-group checker and Codespell 2.4.1 checks also passed. Regression tests cover missing prerequisites, actual hugepages, report identity and completeness, failed/reboot-pending attempts, replay refusal and partial-resource cleanup. Linux scripts/doc regenerated the references with the official versioned binary, and a second run left them unchanged. The documented command flags were checked with native help without connecting to a cluster.

No live host installation, no-iSCSI Longhorn installation or upgrade, or data-integrity trial has been run. Supported V2 setup is limited to the documented package-manager hosts, NUMA profile and persistent attempt-store filesystems; COS, Talos and unknown profiles fail closed. This change does not uninstall existing iSCSI packages, migrate data, or change manager engine settings.

Fork-triggered hosted CI results are not claimed.

Additional documentation or context

Design proposal: longhorn/longhorn#14439

Manager capability: longhorn/longhorn-manager#5458

Companion chart: longhorn/longhorn#14440

devantler and others added 6 commits November 2, 2026 00:03
Issue longhorn/longhorn#14438

Signed-off-by: Nikolai Emil Damm <nikolaiemildamm@icloud.com>
Co-authored-by: Codex (GPT-6.1 Sol) <noreply@openai.com>
Issue longhorn/longhorn#14438

Signed-off-by: Nikolai Emil Damm <nikolaiemildamm@icloud.com>
Co-authored-by: Codex (GPT-6.1 Sol) <noreply@openai.com>
Issue longhorn/longhorn#14438

Signed-off-by: Nikolai Emil Damm <nikolaiemildamm@icloud.com>
Co-authored-by: Codex (GPT-6.1 Sol) <noreply@openai.com>
Issue longhorn/longhorn#14438

Signed-off-by: Nikolai Emil Damm <nikolaiemildamm@icloud.com>
Co-authored-by: Codex (GPT-6.1 Sol) <noreply@openai.com>
Issue longhorn/longhorn#14438

Signed-off-by: Nikolai Emil Damm <nikolaiemildamm@icloud.com>
Co-authored-by: Codex (GPT-6.1 Sol) <noreply@openai.com>
Issue longhorn/longhorn#14438

Signed-off-by: Nikolai Emil Damm <nikolaiemildamm@icloud.com>
Co-authored-by: Codex (GPT-6.1 Sol) <noreply@openai.com>
@devantler
devantler marked this pull request as ready for review November 2, 2026 01:08
@devantler
devantler marked this pull request as draft November 2, 2026 01:12
Issue longhorn/longhorn#14438

Signed-off-by: Nikolai Emil Damm <nikolaiemildamm@icloud.com>
Co-authored-by: Codex (GPT-6.1 Sol) <noreply@openai.com>
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