summaryrefslogtreecommitdiff
path: root/cmd/podman/system/renumber.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2020-05-05 20:49:17 +0200
committerGitHub <noreply@github.com>2020-05-05 20:49:17 +0200
commit864aec8bb011a7a42cf0a2faca39f6e27118b805 (patch)
tree788d16fa62d44244150cab2105ac5fe937cd3c09 /cmd/podman/system/renumber.go
parentfb6eca50ba9e2dc652da0c33c72db70ab9da85e9 (diff)
parent25312bb5b4e2bd4e122703006fc85bbf080e5e7c (diff)
downloadpodman-864aec8bb011a7a42cf0a2faca39f6e27118b805.tar.gz
podman-864aec8bb011a7a42cf0a2faca39f6e27118b805.tar.bz2
podman-864aec8bb011a7a42cf0a2faca39f6e27118b805.zip
Merge pull request #6081 from baude/v2system
v2 system subcommand
Diffstat (limited to 'cmd/podman/system/renumber.go')
-rw-r--r--cmd/podman/system/renumber.go57
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)
+}