MakeAvailable: Do not force the DRBD client role onto EBS initiators - #514
Open
mateo-moon wants to merge 1 commit into
Open
MakeAvailable: Do not force the DRBD client role onto EBS initiators#514mateo-moon wants to merge 1 commit into
mateo-moon wants to merge 1 commit into
Conversation
Since 'Drbd: Add client role', make-available passes drbdClient=true and createResource coerces any resource on a backing-device-less storage pool into DRBD_DISKLESS + client. EBS_INIT pools report no backing device, so EBS initiator resources - despite make-available correctly selecting the EBS_INITIATOR diskless type - additionally received DRBD_DISKLESS and the client role. Such a resource never binds a target EBS volume (no EBSVlmId), never attaches, and its DRBD device has no data source, so every mount fails; EBS-backed CSI volumes are unusable on v1.34. Skip the client coercion when the resource is flagged EBS_INITIATOR: the satellite attaches the EBS volume of a target replica locally, so the resource acts as a diskful DRBD node.
This was referenced Jul 21, 2026
Author
|
E2E-validated live on a 3-AZ Kubernetes cluster (arm64/Nitro, v1.34.1 base + all four of our EBS fix PRs): full validation report in #506 (comment) (latest comment). Highlights relevant to this PR are listed there; the four fixes together make native EBS work end-to-end on latest. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #513.
CtrlRscMakeAvailableApiCallHandlerhardcodesdrbdClient=true; since69eae9987("Drbd: Add client role", first in v1.34.0)CtrlRscCrtApiHelpercoerces any resource on a backing-device-less storage pool intoDRBD_DISKLESS+ client.EBS_INITpools report no backing device, so EBS initiator resources — despite make-available correctly selecting theEBS_INITIATORdiskless type — additionally receivedDRBD_DISKLESS, never bound a target EBS volume, and every mount failed. This makes EBS-backed CSI volumes unusable on v1.34.Skip the coercion when the requested flags carry
EBS_INITIATOR: the satellite attaches a target replica's EBS volume locally, so the resource acts as a diskful DRBD node, not a client.Testing:
:controller:compileJava+ checkstyle clean; behavior validated live on the reproducing cluster — the identical resource created manually with--ebs-initiator(i.e. without the coerced flags) binds, attaches, syncs and mounts correctly; E2E of this patch on a v1.34.1-based build is running now, results to follow in #513.