talos/internal/pkg/etcd
Andrey Smirnov bec89bf6e5
fix: use 'no block' etcd dial with multiple endpoints
The problem showed up on 'reset' of the Talos node which had multiple
endpoints for other control plane nodes, many of which weren't actually
available.

When 'grpc.WithBlock()' is used, etcd will try to dial the first
endpoint and return an error if the dial fails.

Use noblock mode by default with multiple endpoints, and blocking mode
with a single endpoint.

Pass the context to etcd to properly abort dial operations if the
context get canceled.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-03-21 15:35:31 +04:00
..
certs.go chore: rename talos-systems/talos to siderolabs/talos 2022-11-03 16:50:32 +04:00
endpoints.go chore: rename talos-systems/talos to siderolabs/talos 2022-11-03 16:50:32 +04:00
etcd.go fix: use 'no block' etcd dial with multiple endpoints 2023-03-21 15:35:31 +04:00
local.go fix: improve etcd leave on reset process 2023-03-01 14:51:49 +04:00
lock.go fix: use 'no block' etcd dial with multiple endpoints 2023-03-21 15:35:31 +04:00