Skip to content

Restore volume attachment on compute-only workers #4718

Closed
2 of 2 issues completed
Closed

Description

@devantler

🤖 Generated by the Agentic Engineer

Delivered on: 2026-10-12

Problem

A protected node rollout exposed an integration mismatch: newly provisioned compute workers correctly omit the replica-storage label, but the platform uses that same label to select Longhorn volume-client components. Database standby Pods can schedule there but cannot attach their existing volumes. The primaries remain available and archiving continues; reduced redundancy and blocked rollout are not a clean state.

Intended outcome

Separate volume attachment from replica placement. Eligible compute workers need the volume-client components, without enabling replica storage there. Preserve the existing baseline-only replica policies, default-disk gating, data, disruption budgets, and graceful shutdown. No forced detachment, Pod deletion, storage-claim replacement, or direct production mutation.

Acceptance criteria

  • A regression fails on the shipping selector mismatch, then passes after the narrow declarative repair.
  • Render the pinned chart to prove actual client placement, while replica placement and unrelated security/resource settings stay unchanged.
  • Pass current-head review and CI and deliver through protected deployment.
  • Verify driver registration on eligible workers, all database replicas ready, volume health, and the init-image rollout in separated live reads.

This blocks the deployment of #4197. It is distinct from #4649's scheduling-priority problem.

Longhorn documents the distinction between restricting replica disks and restricting all components: https://longhorn.io/kb/tip-only-use-storage-on-a-set-of-nodes/

Part of #2043.

Activity

  1. self-assigned this
    on Oct 10, 2026
  2. added a commit that references this issue on Oct 10, 2026
  3. added theissue type on Oct 11, 2026
  4. added 2 commits that reference this issue on Oct 11, 2026
  5. devantler commented on Oct 11, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer

    The protected rollout for #4744 was evicted for failed checks at 17:06 UTC. Deployment run 38157208826, at merge-group commit 88af2883ece50e048a2a16283e7a8e9903b073de, stopped in the reviewed Longhorn maintenance preflight before publishing the candidate manifests. The database health and ownership guard returned HOLD; its failure-path maintenance restore passed.

    The restore-main job completed successfully at 17:31 UTC. Both the production redeploy and the check for objects left by the failed deployment passed. This closes the pending terminal restore evidence.

    A fresh complete read-only database inventory still fails the healthy baseline. The retained-database incident remains tracked in #4266; #4759 is its repair and has successful native CI at e164e0ce76bde108e9e5a255e4becc76d6ada4b7, but current-head review and delivery remain pending.

    Resume only after #4759 is reviewed, delivered and its database recovery is verified. Rebind the current source, head, checks and review before any queue admission. The original driver-registration, volume-health and database-redundancy acceptance checks remain required; #4197 stays dependent on this issue.

  6. added 2 commits that reference this issue on Oct 11, 2026
  7. devantler commented on Oct 11, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer

    The latest protected attempt for #4744 failed at a different boundary from the earlier database preflight. Native logs from deployment and recovery both show that an oversized command argument prevented the maintenance journal update. The queue removed the unchanged source head 56ada44d7e5600153b377e3e53040d9f87970d7c at 21:59 UTC, and the PR returned to draft.

    The effect now reaches another queue entry: the publisher deployment for #4767 refused legacy publication after maintenance had begun. It was evicted at 22:15 UTC. Retrying either unchanged head cannot establish recovery.

    #4775 is the newly published draft repair for the argument transport. Its delivery, maintenance-journal recovery, protected storage maintenance and independent retained-data checks remain separate acceptance gates. This run performed no production mutation or requeue and does not claim those gates passed. #4197 remains dependent on this issue.

  8. 2 remaining items

  9. moved this from 👀 In Review to ✅ Done in 🌊 Project Boardon Oct 12, 2026
  10. moved this from ✅ Done to 🫴 Ready in 🌊 Project Boardon Oct 12, 2026
  11. moved this from 🫴 Ready to 📊 Verifying in 🌊 Project Boardon Oct 12, 2026
  12. added 2 commits that reference this issue on Oct 12, 2026
  13. added a commit that references this issue on Oct 12, 2026
  14. devantler commented on Oct 12, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer

    The volume-client repair in #4744 is merged; GitHub records its delivery on 2026-10-12. This issue remains open because the final acceptance check also requires the protected init-image rollout tracked by #4194. Its delivery PR #4197 is still a draft outside the merge queue, so that final check cannot run yet.

    The prerequisite is now a native blocked-by relationship. The card returns from Verifying to Ready as a continuation of started work; its delivery date, acceptance criteria and earlier evidence are retained. Resume verification when #4194 has delivered its protected rollout and the evidence is available, with space in Verifying. Recheck driver registration, database readiness, volume health and the deployed init image separately before deciding completion.

    No new runtime acceptance, rollout or production change is claimed.

  15. added a commit that references this issue on Oct 12, 2026
  16. moved this from 📊 Verifying to 🫴 Ready in 🌊 Project Boardon Oct 12, 2026
  17. devantler commented on Oct 13, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer

    The pending rollout verification now passes. #4197 merged on 2026-10-13, and the protected main deployment passed the actual Talos image readback at 10:35 UTC. Independent OIDC reads this afternoon also match the corrected image with healthy, schedulable nodes.

    The remaining storage checks pass in separated live reads: the volume-client driver is registered on every eligible worker, both client DaemonSets are fully ready, all database replicas are ready with settled primaries and healthy continuous archiving, and every attached Longhorn volume is healthy. The compute-only worker has no replica disks and remains ineligible for replica scheduling. The database claim identities and bindings are unchanged between the separated reads, and none is being deleted.

    Together with the reviewed regression, rendered-chart proof, #4744 merge and protected maintenance/restoration evidence, this completes this issue's acceptance criteria. Closing it as completed without changing the existing delivery date or erasing the earlier failed attempts.

    #4194 remains open for the distinct kernel audit-message clearance checks. This closure confirms volume attachment, preserved replica-placement restrictions and the deployed init image; it does not claim that every init error or Coroot counter is clear. No direct production mutation was performed during this verification.

  18. moved this from 🫴 Ready to ✅ Done in 🌊 Project Boardon Oct 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Fields

Priority

None yet

Effort

None yet

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions