expected member count
Gitea/etcdmtr/pipeline/head This commit looks good
Details
Gitea/etcdmtr/pipeline/head This commit looks good
Details
This commit is contained in:
parent
34f4337e78
commit
c49fea2c40
|
@ -24,7 +24,7 @@ type EtcdMtrArgs struct {
|
|||
Insecure bool `short:"i" long:"insecure" description:"Do not verify against CA"`
|
||||
Timeout int `short:"t" long:"timeout" description:"Operation timeout in seconds"`
|
||||
ExpectedMembers int `short:"m" long:"members" description:"Expect at least this many members"`
|
||||
Debug bool `long:"debug" description:"Show debug output and etcd messages"`
|
||||
Debug bool `long:"debug" description:"Show debug output and etcd messages"`
|
||||
}
|
||||
|
||||
type Client struct {
|
||||
|
@ -149,6 +149,8 @@ func main() {
|
|||
|
||||
fmt.Printf("found member list of: %d\n", numMembers)
|
||||
|
||||
memberErrors := make([]error, 0)
|
||||
|
||||
for _, member := range members.Members {
|
||||
endpoint := member.ClientURLs[0]
|
||||
log.Printf("trying to reach %s", endpoint)
|
||||
|
@ -158,10 +160,22 @@ func main() {
|
|||
is_leader, err := contactMember(contextCtx, client, endpoint)
|
||||
if err != nil {
|
||||
log.Printf("couldn't reach member %s: %s", endpoint, err)
|
||||
memberErrors = append(memberErrors, err)
|
||||
continue
|
||||
}
|
||||
log.Printf("reached member %s - is leader? %v", endpoint, is_leader)
|
||||
}
|
||||
|
||||
if args.ExpectedMembers > 0 {
|
||||
if numMembers != args.ExpectedMembers {
|
||||
log.Printf("found different number of members than expected: %d", numMembers)
|
||||
os.Exit(1)
|
||||
}
|
||||
if len(memberErrors) > 0 {
|
||||
log.Printf("encountered an error when contacting %d members", len(memberErrors))
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func contactMember(ctx context.Context, client *Client, endpoint string) (bool, error) {
|
||||
|
|
Loading…
Reference in New Issue