ctr: add remove subcommand to snapshot

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
This commit is contained in:
Kenfe-Mickael Laventure 2017-06-23 18:24:46 -07:00
parent 5a02ae929c
commit de632b1084
No known key found for this signature in database
GPG Key ID: 40CF16616B361216

View File

@ -2,7 +2,6 @@ package main
import (
"context"
"errors"
"fmt"
"os"
"text/tabwriter"
@ -10,6 +9,7 @@ import (
"github.com/containerd/containerd/progress"
"github.com/containerd/containerd/rootfs"
"github.com/containerd/containerd/snapshot"
"github.com/pkg/errors"
"github.com/urfave/cli"
)
@ -20,6 +20,7 @@ var snapshotCommand = cli.Command{
archiveSnapshotCommand,
listSnapshotCommand,
usageSnapshotCommand,
removeSnapshotCommand,
},
}
@ -165,3 +166,30 @@ var usageSnapshotCommand = cli.Command{
return tw.Flush()
},
}
var removeSnapshotCommand = cli.Command{
Name: "remove",
Aliases: []string{"rm"},
ArgsUsage: "id [id] ...",
Usage: "remove snapshots",
Action: func(clicontext *cli.Context) error {
ctx, cancel := appContext(clicontext)
defer cancel()
client, err := newClient(clicontext)
if err != nil {
return err
}
snapshotter := client.SnapshotService()
for _, id := range clicontext.Args() {
err = snapshotter.Remove(ctx, id)
if err != nil {
return errors.Wrapf(err, "failed to remove %q", id)
}
}
return nil
},
}