Port ctr to use client

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
Michael Crosby
2017-06-05 16:17:37 -07:00
parent bdf9f5f738
commit 4c1af8fdd8
26 changed files with 526 additions and 1179 deletions

View File

@@ -5,7 +5,6 @@ import (
"os"
"text/tabwriter"
"github.com/containerd/containerd/api/services/execution"
"github.com/pkg/errors"
"github.com/urfave/cli"
)
@@ -13,15 +12,9 @@ import (
var psCommand = cli.Command{
Name: "ps",
Usage: "list processes for container",
Flags: []cli.Flag{
cli.StringFlag{
Name: "id",
Usage: "id of the container",
},
},
Action: func(context *cli.Context) error {
var (
id = context.String("id")
id = context.Args().First()
ctx, cancel = appContext(context)
)
defer cancel()
@@ -29,34 +22,33 @@ var psCommand = cli.Command{
if id == "" {
return errors.New("container id must be provided")
}
pr := &execution.ProcessesRequest{
ContainerID: id,
client, err := newClient(context)
if err != nil {
return err
}
tasks, err := getTasksService(context)
container, err := client.LoadContainer(ctx, id)
if err != nil {
return err
}
resp, err := tasks.Processes(ctx, pr)
task, err := container.Task(ctx, nil)
if err != nil {
return err
}
processes, err := task.Processes(ctx)
if err != nil {
return err
}
w := tabwriter.NewWriter(os.Stdout, 10, 1, 3, ' ', 0)
fmt.Fprintln(w, "PID")
for _, ps := range resp.Processes {
if _, err := fmt.Fprintf(w, "%d\n",
ps.Pid,
); err != nil {
for _, ps := range processes {
if _, err := fmt.Fprintf(w, "%d\n", ps); err != nil {
return err
}
}
if err := w.Flush(); err != nil {
return err
}
return nil
},
}