Skip to content

Commit

Permalink
Merge pull request etcd-io#7531 from heyitsanthony/fix-mem-remove-again
Browse files Browse the repository at this point in the history
e2e: force endpoint for member removal
  • Loading branch information
Anthony Romano committed Mar 20, 2017
2 parents fba8755 + 21ac657 commit cfdad38
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 17 deletions.
6 changes: 3 additions & 3 deletions e2e/ctl_v3_auth_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -487,17 +487,17 @@ func authTestMemberRemove(cx ctlCtx) {
cx.user, cx.pass = "root", "root"
authSetupTestUser(cx)

memIDToRemove, clusterID := cx.memberToRemove()
ep, memIDToRemove, clusterID := cx.memberToRemove()

// ordinal user cannot remove a member
cx.user, cx.pass = "test-user", "pass"
if err := ctlV3MemberRemove(cx, memIDToRemove, clusterID); err == nil {
if err := ctlV3MemberRemove(cx, ep, memIDToRemove, clusterID); err == nil {
cx.t.Fatalf("ordinal user must not be allowed to remove a member")
}

// root can remove a member
cx.user, cx.pass = "root", "root"
if err := ctlV3MemberRemove(cx, memIDToRemove, clusterID); err != nil {
if err := ctlV3MemberRemove(cx, ep, memIDToRemove, clusterID); err != nil {
cx.t.Fatal(err)
}
}
Expand Down
8 changes: 4 additions & 4 deletions e2e/ctl_v3_member_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,14 +71,14 @@ func getMemberList(cx ctlCtx) (etcdserverpb.MemberListResponse, error) {
}

func memberRemoveTest(cx ctlCtx) {
memIDToRemove, clusterID := cx.memberToRemove()
if err := ctlV3MemberRemove(cx, memIDToRemove, clusterID); err != nil {
ep, memIDToRemove, clusterID := cx.memberToRemove()
if err := ctlV3MemberRemove(cx, ep, memIDToRemove, clusterID); err != nil {
cx.t.Fatal(err)
}
}

func ctlV3MemberRemove(cx ctlCtx, memberID, clusterID string) error {
cmdArgs := append(cx.PrefixArgs(), "member", "remove", memberID)
func ctlV3MemberRemove(cx ctlCtx, ep, memberID, clusterID string) error {
cmdArgs := append(cx.prefixArgs([]string{ep}), "member", "remove", memberID)
return spawnWithExpect(cmdArgs, fmt.Sprintf("%s removed from cluster %s", memberID, clusterID))
}

Expand Down
14 changes: 4 additions & 10 deletions e2e/ctl_v3_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ func isGRPCTimedout(err error) bool {
return strings.Contains(err.Error(), "grpc: timed out trying to connect")
}

func (cx *ctlCtx) memberToRemove() (memberID string, clusterID string) {
func (cx *ctlCtx) memberToRemove() (ep string, memberID string, clusterID string) {
n1 := cx.cfg.clusterSize
if n1 < 2 {
cx.t.Fatalf("%d-node is too small to test 'member remove'", n1)
Expand All @@ -229,15 +229,9 @@ func (cx *ctlCtx) memberToRemove() (memberID string, clusterID string) {
cx.t.Fatalf("expected %d, got %d", n1, len(resp.Members))
}

ep = resp.Members[0].ClientURLs[0]
clusterID = fmt.Sprintf("%x", resp.Header.ClusterId)
memberID = fmt.Sprintf("%x", resp.Members[1].ID)

// remove one member that is not the one we connected to.
for _, m := range resp.Members {
if m.ID != resp.Header.MemberId {
memberID = fmt.Sprintf("%x", m.ID)
break
}
}

return memberID, clusterID
return ep, memberID, clusterID
}

0 comments on commit cfdad38

Please sign in to comment.