Update cli package

The old one has bug when showing help message for IntFlags.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
This commit is contained in:
Qiang Huang
2016-05-10 13:58:09 +08:00
parent be46e644f6
commit 8477638aab
32 changed files with 2259 additions and 306 deletions
+9 -7
View File
@@ -4,6 +4,7 @@ package main
import (
"encoding/json"
"fmt"
"os"
"sync"
"time"
@@ -106,17 +107,17 @@ information is displayed once every 5 seconds.`,
cli.DurationFlag{Name: "interval", Value: 5 * time.Second, Usage: "set the stats collection interval"},
cli.BoolFlag{Name: "stats", Usage: "display the container's stats then exit"},
},
Action: func(context *cli.Context) {
Action: func(context *cli.Context) error {
container, err := getContainer(context)
if err != nil {
fatal(err)
return err
}
status, err := container.Status()
if err != nil {
fatal(err)
return err
}
if status == libcontainer.Destroyed {
fatalf("container with id %s is not running", container.ID())
return fmt.Errorf("container with id %s is not running", container.ID())
}
var (
stats = make(chan *libcontainer.Stats, 1)
@@ -136,12 +137,12 @@ information is displayed once every 5 seconds.`,
if context.Bool("stats") {
s, err := container.Stats()
if err != nil {
fatal(err)
return err
}
events <- &event{Type: "stats", ID: container.ID(), Data: convertLibcontainerStats(s)}
close(events)
group.Wait()
return
return nil
}
go func() {
for range time.Tick(context.Duration("interval")) {
@@ -155,7 +156,7 @@ information is displayed once every 5 seconds.`,
}()
n, err := container.NotifyOOM()
if err != nil {
fatal(err)
return err
}
for {
select {
@@ -177,6 +178,7 @@ information is displayed once every 5 seconds.`,
}
}
group.Wait()
return nil
},
}