diff --git a/nsinit/config.go b/nsinit/config.go new file mode 100644 index 000000000..e1f28fcc8 --- /dev/null +++ b/nsinit/config.go @@ -0,0 +1,29 @@ +package main + +import ( + "encoding/json" + "fmt" + "log" + + "github.com/codegangsta/cli" +) + +var configCommand = cli.Command{ + Name: "config", + Usage: "display the container configuration", + Action: configAction, +} + +func configAction(context *cli.Context) { + container, err := loadContainer() + if err != nil { + log.Fatal(err) + } + + data, err := json.MarshalIndent(container, "", "\t") + if err != nil { + log.Fatal(err) + } + + fmt.Printf("%s", data) +} diff --git a/nsinit/main.go b/nsinit/main.go index 20132de0e..a3d7bd101 100644 --- a/nsinit/main.go +++ b/nsinit/main.go @@ -30,7 +30,7 @@ func main() { execCommand, initCommand, statsCommand, - specCommand, + configCommand, nsenterCommand, } diff --git a/nsinit/spec.go b/nsinit/spec.go deleted file mode 100644 index beadc9d87..000000000 --- a/nsinit/spec.go +++ /dev/null @@ -1,40 +0,0 @@ -package main - -import ( - "encoding/json" - "fmt" - "log" - - "github.com/codegangsta/cli" - "github.com/docker/libcontainer" -) - -var specCommand = cli.Command{ - Name: "spec", - Usage: "display the container specification", - Action: specAction, -} - -func specAction(context *cli.Context) { - container, err := loadContainer() - if err != nil { - log.Fatal(err) - } - - spec, err := getContainerSpec(container) - if err != nil { - log.Fatalf("Failed to get spec - %v\n", err) - } - - fmt.Printf("Spec:\n%v\n", spec) -} - -// returns the container spec in json format. -func getContainerSpec(container *libcontainer.Config) (string, error) { - spec, err := json.MarshalIndent(container, "", "\t") - if err != nil { - return "", err - } - - return string(spec), nil -} diff --git a/nsinit/stats.go b/nsinit/stats.go index eae983380..331d27f2c 100644 --- a/nsinit/stats.go +++ b/nsinit/stats.go @@ -21,30 +21,19 @@ func statsAction(context *cli.Context) { log.Fatal(err) } - runtimeCkpt, err := libcontainer.GetState(dataPath) + state, err := libcontainer.GetState(dataPath) if err != nil { log.Fatal(err) } - stats, err := getStats(container, runtimeCkpt) - if err != nil { - log.Fatalf("Failed to get stats - %v\n", err) - } - - fmt.Printf("Stats:\n%v\n", stats) -} - -// returns the container stats in json format. -func getStats(container *libcontainer.Config, state *libcontainer.State) (string, error) { stats, err := libcontainer.GetStats(container, state) if err != nil { - return "", err + log.Fatal(err) } - - out, err := json.MarshalIndent(stats, "", "\t") + data, err := json.MarshalIndent(stats, "", "\t") if err != nil { - return "", err + log.Fatal(err) } - return string(out), nil + fmt.Printf("%s", data) }