Skip to content

Exempt special satellites from the uname uniqueness check - #510

Open
mateo-moon wants to merge 1 commit into
LINBIT:masterfrom
mateo-moon:fix/special-satellite-duplicate-uname
Open

Exempt special satellites from the uname uniqueness check#510
mateo-moon wants to merge 1 commit into
LINBIT:masterfrom
mateo-moon:fix/special-satellite-duplicate-uname

Conversation

@mateo-moon

Copy link
Copy Markdown

Fixes #505.

Problem

Since the uname map was introduced (v1.31.1), only the first special satellite (e.g. EBS_TARGET) can authenticate. Special satellites run within the controller's process, so CtrlAuth reports the controller's uname (LinStor.getHostName()) for all of them, and updateUnameMap() de-authenticates every one after the first with DUPLICATE_UNAME. This makes the documented multi-AZ native-EBS setup (one EBS target per AZ) impossible to bootstrap on any release ≥ 1.31.1. Details in #505.

Fix

Skip the uname-map update and the uniqueness check for special node types. Special satellites never take part in DRBD, so the uname map — whose purpose is mapping DRBD peer unames to node names for replication-state reporting — does not apply to them. This mirrors the existing isSpecial() exemption for the node-name-mismatch info message a few lines below in the same class.

Testing

Since the uname map was introduced, only the first special satellite
(e.g. EBS_TARGET) can authenticate: special satellites run within the
controller's process, so they all report the controller's uname and
every one after the first is de-authenticated with DUPLICATE_UNAME.
This makes multi-AZ native EBS setups impossible to bootstrap.

Special satellites never take part in DRBD, so the uname map (mapping
DRBD peer unames to node names) does not apply to them. Skip the map
update and the uniqueness check for special node types, mirroring the
existing isSpecial() exemption for the node-name-mismatch info message
in the same class.

Fixes LINBIT#505
@mateo-moon

Copy link
Copy Markdown
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.

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.

Special satellites rejected with DUPLICATE_UNAME since v1.31.1 — uname uniqueness check has no special-satellite exemption

1 participant