mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
enhancement(ctlv3): display as learner when member add as learner
Signed-off-by: wafuwafu13 <mariobaske@i.softbank.jp>
This commit is contained in:
parent
a4c1b3a9e2
commit
0c67e318d7
@ -126,7 +126,11 @@ func (s *simplePrinter) Alarm(resp v3.AlarmResponse) {
|
||||
}
|
||||
|
||||
func (s *simplePrinter) MemberAdd(r v3.MemberAddResponse) {
|
||||
fmt.Printf("Member %16x added to cluster %16x\n", r.Member.ID, r.Header.ClusterId)
|
||||
asLearner := " "
|
||||
if r.Member.IsLearner {
|
||||
asLearner = " as learner "
|
||||
}
|
||||
fmt.Printf("Member %16x added%sto cluster %16x\n", r.Member.ID, asLearner, r.Header.ClusterId)
|
||||
}
|
||||
|
||||
func (s *simplePrinter) MemberRemove(id uint64, r v3.MemberRemoveResponse) {
|
||||
|
@ -28,6 +28,10 @@ import (
|
||||
|
||||
func TestCtlV3MemberList(t *testing.T) { testCtl(t, memberListTest) }
|
||||
func TestCtlV3MemberListWithHex(t *testing.T) { testCtl(t, memberListWithHexTest) }
|
||||
|
||||
func TestCtlV3MemberAdd(t *testing.T) { testCtl(t, memberAddTest) }
|
||||
func TestCtlV3MemberAddAsLearner(t *testing.T) { testCtl(t, memberAddAsLearnerTest) }
|
||||
|
||||
func TestCtlV3MemberUpdate(t *testing.T) { testCtl(t, memberUpdateTest) }
|
||||
func TestCtlV3MemberUpdateNoTLS(t *testing.T) {
|
||||
testCtl(t, memberUpdateTest, withCfg(*e2e.NewConfigNoTLS()))
|
||||
@ -137,12 +141,28 @@ func ctlV3MemberRemove(cx ctlCtx, ep, memberID, clusterID string) error {
|
||||
return e2e.SpawnWithExpectWithEnv(cmdArgs, cx.envMap, fmt.Sprintf("%s removed from cluster %s", memberID, clusterID))
|
||||
}
|
||||
|
||||
func memberAddTest(cx ctlCtx) {
|
||||
peerURL := fmt.Sprintf("http://localhost:%d", e2e.EtcdProcessBasePort+11)
|
||||
if err := ctlV3MemberAdd(cx, peerURL, false); err != nil {
|
||||
cx.t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func memberAddAsLearnerTest(cx ctlCtx) {
|
||||
peerURL := fmt.Sprintf("http://localhost:%d", e2e.EtcdProcessBasePort+11)
|
||||
if err := ctlV3MemberAdd(cx, peerURL, true); err != nil {
|
||||
cx.t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func ctlV3MemberAdd(cx ctlCtx, peerURL string, isLearner bool) error {
|
||||
cmdArgs := append(cx.PrefixArgs(), "member", "add", "newmember", fmt.Sprintf("--peer-urls=%s", peerURL))
|
||||
asLearner := " "
|
||||
if isLearner {
|
||||
cmdArgs = append(cmdArgs, "--learner")
|
||||
asLearner = " as learner "
|
||||
}
|
||||
return e2e.SpawnWithExpectWithEnv(cmdArgs, cx.envMap, " added to cluster ")
|
||||
return e2e.SpawnWithExpectWithEnv(cmdArgs, cx.envMap, fmt.Sprintf(" added%sto cluster ", asLearner))
|
||||
}
|
||||
|
||||
func memberUpdateTest(cx ctlCtx) {
|
||||
|
@ -1557,7 +1557,7 @@ func (c *Cluster) GetLearnerMembers() ([]*pb.Member, error) {
|
||||
return learners, nil
|
||||
}
|
||||
|
||||
// AddAndLaunchLearnerMember creates a leaner member, adds it to Cluster
|
||||
// AddAndLaunchLearnerMember creates a learner member, adds it to Cluster
|
||||
// via v3 MemberAdd API, and then launches the new member.
|
||||
func (c *Cluster) AddAndLaunchLearnerMember(t testutil.TB) {
|
||||
m := c.mustNewMember(t)
|
||||
|
Loading…
x
Reference in New Issue
Block a user