aws / aws/eks-anywhere

Make etcdadm join retry options configurable

Open
#1,370 0 comments 0 reactions 0 assignees View on GitHub
area/etcd kind/enhancement team/cli
Dominant language
Go
Stars
2.1k
Forks
328
Avg merge
1d 4h
Merged PRs (30d)
9

Description

Etcdadm retries the join command by default. It has certain [default configuration values for number of retries, duration etc](https://github.com/kubernetes-sigs/etcdadm/blob/master/constants/constants.go#L163-L165).
Sometimes when etcd leader is changing and a new member joins at the same time, the initial join command could fail, and retries are helpful in that case. This is the reason why retries were originally added in etcdadm.
We should make these retries configurable in terms of number of retries and duration. This includes:

- [ ] Making a change in etcdadm and adding a patch for it to [build-tooling repo](https://github.com/aws/eks-anywhere-build-tooling/tree/main/projects/kubernetes-sigs/etcdadm/patches)
- [ ] Updating etcdadm-bootstrap-provider to accept these retry options
- [ ] Updating eks-anywhere to accept retry values for EtcdadmCluster

For now, we want to have more retries, so we're [merging a patch](https://github.com/aws/eks-anywhere-build-tooling/pull/515) to increase the default number of retries

Contributor guide

Open the contributing guide

Research direction

Start with etcdadm's constants/constants.go and the existing patch area in the aws/eks-anywhere-build-tooling repository. Trace how retry count and duration could pass through etcdadm-bootstrap-provider into EtcdadmCluster. Done means all three components accept the retry options and the build-tooling patch is added.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
devops, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.