etcd: a member that the join did not start is refused by every later apply (started marker missing) #188
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Keel-Linux/keel#188
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found in the rehearsal of the cross-site LNMP test, 2026-10-16 (keel 0.23.29, image lnmp 19.0-2, CTs 9101/9102 on BR1 and 9103 on BR2).
The first boot spec had
installation.mode: cloud_advanced,overlays.wireguard: disabledandoverlays.etcd: disabled(the spec has nonetwork.overlaybefore the join). The third node joined. The join tried to start etcd and could not:Then the operator set
wireguard: enabledandetcd: enabledand rankeel spec apply --system-only. That apply started etcd, and the cluster has 3 healthy voters. But the apply did not write/var/lib/keel/etcd/started. Each later apply refuses the etcd step and exits with a failure:Two causes:
keel mesh createandkeel mesh joinwritenetwork.overlaybut leaveoverlays.wireguard: disabledin the spec, sokeel.mesh.etcd.start()changes the spec to one that does not validate.plan_etcdstarts etcd when the cluster is known and no member directory is there, but nothing recordsstartedafter that start.Workaround: declare
wireguard: enabledandetcd: enabledin the first boot spec. Validation accepts it withoutnetwork.overlay.Possible fix, least power first: the apply that starts etcd for the cluster of
cluster.jsonwritesstarted; andstart()also setsoverlays.wireguard: enabled.The bridge mirrored this item to GitHub: https://github.com/Keel-Linux/keel/issues/164
Comments, labels and the open or closed state sync both ways.