Split out of #1432 (item 7). Fixes 1–3 landed in #1439; this one is Rust broker behavior (node_control), not CLI, so it was kept separate.
Problem
With RELAY_WORKSPACE_KEY + RELAY_NODE_TOKEN + RELAY_NODE_ID set but no --broker-name, the broker takes the repo basename and tries to rename the enrolled node to it:
ERROR relay_broker::node_control: engine rejected a node control frame
code=node_name_conflict Node name "cloud" is already enrolled
ERROR relay_broker::node_control: … code=node_control_failed
Failed query: update "nodes" set "name" = ? where …
This repeats indefinitely and heartbeats never land.
Expected
Either derive the broker name from RELAY_NODE_ID when the node identity is already known, or do not attempt the rename at all. A rejected rename must not retry forever, and must not block heartbeats.
Working invocation today
RELAY_WORKSPACE_KEY='<workspace key>' \
RELAY_NODE_TOKEN='<nt_live_… from fleet-enrollments.json>' \
RELAY_NODE_ID='node_210851746276208640' \
relay node up --broker-name kjg-laptop --background
Refs #1432, #1439
Split out of #1432 (item 7). Fixes 1–3 landed in #1439; this one is Rust broker behavior (
node_control), not CLI, so it was kept separate.Problem
With
RELAY_WORKSPACE_KEY+RELAY_NODE_TOKEN+RELAY_NODE_IDset but no--broker-name, the broker takes the repo basename and tries to rename the enrolled node to it:This repeats indefinitely and heartbeats never land.
Expected
Either derive the broker name from
RELAY_NODE_IDwhen the node identity is already known, or do not attempt the rename at all. A rejected rename must not retry forever, and must not block heartbeats.Working invocation today
Refs #1432, #1439