talos/internal/integration/api
Andrey Smirnov 5ecddf2866 feat: add round-robin LB policy to Talos client by default
Handling of multiple endpoints has already been implemented in #2094.

This PR enables round-robin policy so that grpc picks up new endpoint
for each call (and not send each request to the first control plane
node).

Endpoint list is randomized to handle cases when only one request is
going to be sent, so that it doesn't go always to the first node in the
list.

gprc handles dead/unresponsive nodes automatically for us.

`talosctl cluster create` and provision tests switched to use
client-side load balancer for Talos API.

On the additional improvements we got:

* `talosctl` now reports correct node IP when using commands without
`-n`, not the loadbalancer IP (if using multiple endpoints of course)

* loadbalancer can't provide reliable handling of errors when upstream
server is unresponsive or there're no upstreams available, grpc returns
much more helpful errors

Fixes #1641

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-07-09 08:35:15 -07:00
..
api.go test: add integration test framework 2019-11-05 17:21:38 +03:00
dmesg.go chore: enable godot linter 2020-06-30 10:39:56 -07:00
events.go feat: add round-robin LB policy to Talos client by default 2020-07-09 08:35:15 -07:00
logs.go feat: add round-robin LB policy to Talos client by default 2020-07-09 08:35:15 -07:00
reboot.go test: fix and improve reboot/reset tests 2020-06-29 13:56:48 -07:00
recover.go feat: add recovery API 2020-05-04 19:38:30 -07:00
reset.go test: fix and improve reboot/reset tests 2020-06-29 13:56:48 -07:00
version.go chore: enable godot linter 2020-06-30 10:39:56 -07:00