Skip to content

docs(storage): note that the replicated class requires DRBD - #675

Open
myasnikovdaniil wants to merge 1 commit into
mainfrom
docs/linstor-drbd-disabled-note
Open

docs(storage): note that the replicated class requires DRBD#675
myasnikovdaniil wants to merge 1 commit into
mainfrom
docs/linstor-drbd-disabled-note

Conversation

@myasnikovdaniil

Copy link
Copy Markdown
Contributor

StorageClass examples in both install guides and in disk encryption page are copied verbatim by operators, and nothing next to them says layerList: "drbd storage" needs a kernel module that may not be there. On substrate without DRBD class is created fine and then every PVC on it stays Pending, so failure shows up several steps away from file that caused it.

Adds one paragraph next to each example and names the flag that goes with it - linstor package needs drbd.enabled: false there, and without it satellite pod never becomes Ready, so linstor registers no nodes and nothing binds at all, not only replicated class. LUKS is independent of DRBD and encryption page says so.

Depends on drbd.enabled landing in cozystack first, it is not in a released version yet.

The StorageClass examples in the two install guides and in the disk
encryption page are copied verbatim by operators, and nothing beside
them says that `layerList: "drbd storage"` is served by a kernel
module that may not be present. On a substrate without DRBD the class
is created successfully and then every PVC bound to it stays Pending,
so the failure surfaces several steps away from the file that caused
it.

Say it where the class is written, and name the flag that goes with
it. The `linstor` package needs `drbd.enabled: false` on such a
substrate, and without that the satellite pod never becomes Ready, so
LINSTOR registers no nodes and nothing binds at all -- not only the
replicated class. LUKS is orthogonal and is called out as such on the
encryption page.

Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
@netlify

netlify Bot commented Sep 1, 2026

Copy link
Copy Markdown

Deploy Preview for cozystack ready!

Name Link
🔨 Latest commit 2669d5d
🔍 Latest deploy log https://app.netlify.com/projects/cozystack/deploys/6a96c5eed9996f00079a75ab
😎 Deploy Preview https://deploy-preview-675--cozystack.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai

coderabbitai Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: cb98455e-08d2-495b-ae56-9d3e59bbbd53


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.

myasnikovdaniil added a commit to cozystack/cozystack that referenced this pull request Sep 3, 2026
On a substrate where the DRBD kernel module is unavailable the
drbd-logger sidecar exits immediately, the satellite pod is therefore
never Ready, and piraeus consequently registers zero nodes: LINSTOR
reports none, linstor-csi-node hangs in Init polling for a node that
does not exist, and every PVC stays Pending behind a cluster that looks
healthy. So this flag is the difference between working storage and no
storage at all there, not a cosmetic reduction in logging.

The concrete case is Talos nodes running as containers. DRBD's resource
registry is global per kernel, so three containers sharing one kernel
cannot represent three DRBD nodes -- the second new-resource for a given
name silently aliases the first instead of failing, which is worse than
an error because LINSTOR then records a replica it does not have. It
applies to kind equally; it is a property of one kernel, not of Talos.

Omitting the sidecar from Cozystack's own pod template is not enough,
because piraeus strategically merges satellite configurations and a
container another configuration contributes survives the omission. So a
LinstorSatelliteConfiguration deletes it from the effective DaemonSet as
well.

What the flag does NOT do is touch a StorageClass, and the comment says
so explicitly. Cozystack does not own them -- an operator writes them by
hand from the install guide -- so a class carrying layerList: "drbd
storage" still exists after setting this false and volumes on it will
never provision. The operator-facing half of that warning goes beside
the examples they copy, in cozystack/website#675.

Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.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