diff options
author | baude <bbaude@redhat.com> | 2020-05-01 12:57:41 -0500 |
---|---|---|
committer | baude <bbaude@redhat.com> | 2020-05-05 12:24:33 -0500 |
commit | 25312bb5b4e2bd4e122703006fc85bbf080e5e7c (patch) | |
tree | f2728cef53f71fcf1c04ff76ab928770fc5c9e50 /cmd/podman/system/renumber.go | |
parent | 4a1331d0afd9a21ff9465916d4006ff7297ae07c (diff) | |
download | podman-25312bb5b4e2bd4e122703006fc85bbf080e5e7c.tar.gz podman-25312bb5b4e2bd4e122703006fc85bbf080e5e7c.tar.bz2 podman-25312bb5b4e2bd4e122703006fc85bbf080e5e7c.zip |
v2 system subcommand
add system df, info, load, renumber, and migrate
Refactor for specialized libpod engines
add the ability to prune images, volumes, containers, and pods
Signed-off-by: baude <bbaude@redhat.com>
Diffstat (limited to 'cmd/podman/system/renumber.go')
-rw-r--r-- | cmd/podman/system/renumber.go | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/cmd/podman/system/renumber.go b/cmd/podman/system/renumber.go new file mode 100644 index 000000000..5ee6b3be6 --- /dev/null +++ b/cmd/podman/system/renumber.go @@ -0,0 +1,57 @@ +package system + +import ( + "fmt" + "os" + + "github.com/containers/libpod/cmd/podman/registry" + "github.com/containers/libpod/cmd/podman/validate" + "github.com/containers/libpod/pkg/domain/entities" + "github.com/containers/libpod/pkg/domain/infra" + "github.com/spf13/cobra" +) + +var ( + renumberDescription = ` + podman system renumber + + Migrate lock numbers to handle a change in maximum number of locks. + Mandatory after the number of locks in libpod.conf is changed. +` + + renumberCommand = &cobra.Command{ + Use: "renumber", + Args: validate.NoArgs, + Short: "Migrate lock numbers", + Long: renumberDescription, + Run: renumber, + } +) + +func init() { + registry.Commands = append(registry.Commands, registry.CliCommand{ + Mode: []entities.EngineMode{entities.ABIMode}, + Command: renumberCommand, + Parent: systemCmd, + }) + +} +func renumber(cmd *cobra.Command, args []string) { + // Shutdown all running engines, `renumber` will hijack all methods + registry.ContainerEngine().Shutdown(registry.Context()) + registry.ImageEngine().Shutdown(registry.Context()) + + engine, err := infra.NewSystemEngine(entities.RenumberMode, registry.PodmanConfig()) + if err != nil { + fmt.Println(err) + os.Exit(125) + } + defer engine.Shutdown(registry.Context()) + + err = engine.Renumber(registry.Context(), cmd.Flags(), registry.PodmanConfig()) + if err != nil { + fmt.Println(err) + os.Exit(125) + } + os.Exit(0) +} |