Open serathius opened 2 years ago
@serathius would be ok if I work on this?
Sure, to give you some context, most of etcd e2e tests either run 1 or 3 member cluster. Most test scenarios would benefit if we add a case where there is an additional learner in cluster. For examples of test code I would look into code in tests/common
.
Working on it
This issue has been automatically marked as stale because it has not had recent activity. It will be closed after 21 days if no further activity occurs. Thank you for your contributions.
@TinySong any progress?
want to work on this issue
kubeadm using etcd learner mode to join the control plane node.
@jmhbnz can u assign me please ?
Absolutely! Thanks for volunteering 🙏🏻
/assign @Elbehery
Hello @serathius
I need more context to resolve this, below are initial ideas
IsLearner
field to https://github.com/etcd-io/etcd/blob/f37a4365ee824825984fd0660f970eb596cb02d5/tests/framework/e2e/etcd_process.go#L80 AddMemberAsLearner
to e2e interfacei am quiet lost, where to start .. also could you inline some specific cases to cover ?
thanks :)
cc @ahrtr @jmhbnz
@Elbehery we would want to add learners to basic e2e tests scenarios that should not care that there is a learner in the cluster. Take a look into https://github.com/etcd-io/etcd/blob/main/tests/common/e2e_test.go on how we automatically generate subtests for different cluster configurations.
Thanks @serathius for your response ..
I reviewed the tests yesterday .. So for example, for https://github.com/etcd-io/etcd/blob/main/tests/common/member_test.go, we should add a test that adds a learner
member ?
also to create an etcd learner member server process, do i follow the same EtcdServerProcessConfig
while adding a boolean for IsLearner
?
wdyt ?
I reviewed the tests yesterday .. So for example, for https://github.com/etcd-io/etcd/blob/main/tests/common/member_test.go, we should add a test that adds a learner member ?
I think there already exists a test for adding a learner member. https://github.com/etcd-io/etcd/blob/58846bd8f3bedee3260623301d1c02a99580a2a9/tests/e2e/ctl_v3_member_test.go#L46 Context on why we have two directories with tests https://github.com/etcd-io/etcd/issues/13637
Any progress @Elbehery ?
No .. would you have sometime for a call to discuss it ?
You can reach me on K8s slack https://communityinviter.com/apps/kubernetes/community
Based on https://github.com/etcd-io/etcd/pull/13837 I expect we are missing some e2e testing.