etcdctl: return non-zero exit code if defrag fails on any endpoint

This commit is contained in:
Anthony Romano
2016-04-13 11:31:47 -07:00
parent 15e865e024
commit 721ed6ba2b

View File

@@ -31,6 +31,7 @@ func NewDefragCommand() *cobra.Command {
}
func defragCommandFunc(cmd *cobra.Command, args []string) {
failures := 0
c := mustClientFromCmd(cmd)
for _, ep := range c.Endpoints() {
ctx, cancel := commandCtx(cmd)
@@ -38,8 +39,13 @@ func defragCommandFunc(cmd *cobra.Command, args []string) {
cancel()
if err != nil {
fmt.Fprintf(os.Stderr, "Failed to defragment etcd member[%s] (%v)\n", ep, err)
failures++
} else {
fmt.Printf("Finished defragmenting etcd member[%s]\n", ep)
}
}
if failures != 0 {
os.Exit(ExitError)
}
}