Add cgroup delete opt for ns deletion

Closes #3305

This adds an opt and a `--cgroup,-c` flag to `ctr namespaces rm` to
remove the cgroup that is commonly created with runtimes.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
Michael Crosby
2019-07-01 14:48:48 -04:00
parent 041d8d7051
commit 844c58102e
7 changed files with 135 additions and 7 deletions

View File

@@ -146,6 +146,12 @@ var removeCommand = cli.Command{
Usage: "remove one or more namespaces",
ArgsUsage: "<name> [<name>, ...]",
Description: "remove one or more namespaces. for now, the namespace must be empty",
Flags: []cli.Flag{
cli.BoolFlag{
Name: "cgroup,c",
Usage: "delete the namespace's cgroup",
},
},
Action: func(context *cli.Context) error {
var exitErr error
client, ctx, cancel, err := commands.NewClient(context)
@@ -153,9 +159,11 @@ var removeCommand = cli.Command{
return err
}
defer cancel()
opts := deleteOpts(context)
namespaces := client.NamespaceService()
for _, target := range context.Args() {
if err := namespaces.Delete(ctx, target); err != nil {
if err := namespaces.Delete(ctx, target, opts...); err != nil {
if !errdefs.IsNotFound(err) {
if exitErr == nil {
exitErr = errors.Wrapf(err, "unable to delete %v", target)