Skip to content

docs(cluster-upgrade): add DRBD-aware Talos node-upgrade runbook#16

Draft
Andrei Kvapil (kvaps) wants to merge 1 commit into
mainfrom
docs/talos-node-upgrade-runbook
Draft

docs(cluster-upgrade): add DRBD-aware Talos node-upgrade runbook#16
Andrei Kvapil (kvaps) wants to merge 1 commit into
mainfrom
docs/talos-node-upgrade-runbook

Conversation

@kvaps

Copy link
Copy Markdown
Member

What

Adds a Talos / node OS upgrade runbook to the cluster-upgrade skill and
documents the LINSTOR auto-diskful block-size failure that can pause VMs on
DRBD 9.2.16.

  • references/talos-node-upgrade.md — node-by-node Talos upgrade: layer
    ordering (Talos → Kubernetes → Cozystack), storage pre-flight, the
    one-node-at-a-time / wait-for-UpToDate rule, and the auto-diskful exposure
    note.
  • known-failures.md cozy-bump: SKILL.md backtick sequence breaks slash-command preprocessor #8 — the diskless(512)/diskful(4096) block-size mismatch:
    root cause (queue_limits_commit_update() failing on DRBD 9.2.16 + kernel
    6.x), mitigations (virtctl restart, auto-block-size=False for new
    volumes, replica placement), and the DRBD 9.2.17 / Talos 1.13 fix path.
  • SKILL.md — new "Node / Talos OS upgrades" section, a red-flag row, and the
    reference link.

Why

The skill covered only the cozy-installer Helm upgrade. The OS layer —
control-plane vs worker ordering, draining, and waiting for DRBD resync between
nodes — was undocumented, which is exactly where a production cluster hit a
VM-availability bug during an upgrade. This captures both the runbook and the
failure mode so the next operator has them.

Validation

tools/check-refs.sh passes (cross-references, --context usage, no private
cluster names).

The skill previously covered only the cozy-installer Helm upgrade; the OS
layer (control-plane vs worker ordering, drain, waiting for DRBD resync
between nodes) was undocumented, and a real cluster hit a VM-availability
bug during that gap.

- Add references/talos-node-upgrade.md: node-by-node Talos upgrade with
  the one-node-at-a-time / wait-for-UpToDate rule, storage pre-flight, and
  the auto-diskful exposure note.
- Add known-failure #8: LINSTOR auto-diskful block-size mismatch that
  pauses VMs on DRBD 9.2.16 (setting new queue limits failed), with the
  virtctl-restart and auto-block-size mitigations and the DRBD 9.2.17 /
  Talos 1.13 fix path.
- Wire both into SKILL.md (new section, red-flag row, references).

Assisted-By: Claude
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
@coderabbitai

coderabbitai Bot commented Jul 6, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 5ea0e79b-968c-4c4e-af2a-7ae98b7033da

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/talos-node-upgrade-runbook

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@gemini-code-assist

Copy link
Copy Markdown

Warning

Gemini encountered an error creating the review. You can try again by commenting /gemini review.

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