diff options
Diffstat (limited to 'cmd/podman')
-rw-r--r-- | cmd/podman/commands_remoteclient.go | 6 | ||||
-rw-r--r-- | cmd/podman/containers_prune.go | 4 | ||||
-rw-r--r-- | cmd/podman/main.go | 4 | ||||
-rw-r--r-- | cmd/podman/main_local.go | 1 | ||||
-rw-r--r-- | cmd/podman/runlabel.go | 33 | ||||
-rw-r--r-- | cmd/podman/service.go | 10 | ||||
-rw-r--r-- | cmd/podman/service_dummy.go | 1 | ||||
-rw-r--r-- | cmd/podman/shared/create.go | 8 | ||||
-rw-r--r-- | cmd/podman/varlink.go | 2 | ||||
-rw-r--r-- | cmd/podman/varlink_dummy.go | 1 |
10 files changed, 50 insertions, 20 deletions
diff --git a/cmd/podman/commands_remoteclient.go b/cmd/podman/commands_remoteclient.go index ef523ffb1..11baeb4ae 100644 --- a/cmd/podman/commands_remoteclient.go +++ b/cmd/podman/commands_remoteclient.go @@ -14,7 +14,7 @@ func getMainCommands() []*cobra.Command { } // commands that only the remoteclient implements -func getAppCommands() []*cobra.Command { +func getAppCommands() []*cobra.Command { // nolint:varcheck,deadcode,unused return []*cobra.Command{} } @@ -29,7 +29,7 @@ func getContainerSubCommands() []*cobra.Command { } // commands that only the remoteclient implements -func getGenerateSubCommands() []*cobra.Command { +func getGenerateSubCommands() []*cobra.Command { // nolint:varcheck,deadcode,unused return []*cobra.Command{} } @@ -126,7 +126,7 @@ func getDefaultPidsDescription() string { return "Tune container pids limit (set 0 for unlimited, -1 for server defaults)" } -func getDefaultShareNetwork() string { +func getDefaultShareNetwork() string { // nolint:varcheck,deadcode,unused return "" } diff --git a/cmd/podman/containers_prune.go b/cmd/podman/containers_prune.go index cd9817e7e..3953a489d 100644 --- a/cmd/podman/containers_prune.go +++ b/cmd/podman/containers_prune.go @@ -19,12 +19,12 @@ var ( pruneContainersDescription = ` podman container prune - Removes all exited containers + Removes all stopped | exited containers ` _pruneContainersCommand = &cobra.Command{ Use: "prune", Args: noSubArgs, - Short: "Remove all stopped containers", + Short: "Remove all stopped | exited containers", Long: pruneContainersDescription, RunE: func(cmd *cobra.Command, args []string) error { pruneContainersCommand.InputArgs = args diff --git a/cmd/podman/main.go b/cmd/podman/main.go index 5134448da..4435b036e 100644 --- a/cmd/podman/main.go +++ b/cmd/podman/main.go @@ -24,8 +24,8 @@ import ( var ( exitCode = define.ExecErrorCodeGeneric Ctx context.Context - span opentracing.Span - closer io.Closer + span opentracing.Span // nolint:varcheck,deadcode,unused + closer io.Closer // nolint:varcheck,deadcode,unused ) // Commands that the remote and local client have diff --git a/cmd/podman/main_local.go b/cmd/podman/main_local.go index a65e6acf8..e71dbbf97 100644 --- a/cmd/podman/main_local.go +++ b/cmd/podman/main_local.go @@ -253,7 +253,6 @@ func executeCommandInUserNS(cmd *cobra.Command) bool { case _migrateCommand, _mountCommand, _renumberCommand, - _infoCommand, _searchCommand, _versionCommand: return false diff --git a/cmd/podman/runlabel.go b/cmd/podman/runlabel.go index 1ec4da650..193cc5aec 100644 --- a/cmd/podman/runlabel.go +++ b/cmd/podman/runlabel.go @@ -13,11 +13,11 @@ import ( "github.com/containers/libpod/cmd/podman/shared" "github.com/containers/libpod/libpod/define" "github.com/containers/libpod/libpod/image" - "github.com/containers/libpod/pkg/util" "github.com/containers/libpod/utils" "github.com/pkg/errors" "github.com/sirupsen/logrus" "github.com/spf13/cobra" + "github.com/spf13/pflag" ) var ( @@ -157,7 +157,7 @@ func runlabelCmd(c *cliconfig.RunlabelValues) error { return errors.Errorf("%s does not have a label of %s", runlabelImage, label) } - globalOpts := util.GetGlobalOpts(c) + globalOpts := GetGlobalOpts(c) cmd, env, err := shared.GenerateRunlabelCommand(runLabel, imageName, c.Name, opts, extraArgs, globalOpts) if err != nil { return err @@ -193,3 +193,32 @@ func runlabelCmd(c *cliconfig.RunlabelValues) error { return utils.ExecCmdWithStdStreams(stdIn, stdOut, stdErr, env, cmd[0], cmd[1:]...) } + +// GetGlobalOpts checks all global flags and generates the command string +func GetGlobalOpts(c *cliconfig.RunlabelValues) string { + globalFlags := map[string]bool{ + "cgroup-manager": true, "cni-config-dir": true, "conmon": true, "default-mounts-file": true, + "hooks-dir": true, "namespace": true, "root": true, "runroot": true, + "runtime": true, "storage-driver": true, "storage-opt": true, "syslog": true, + "trace": true, "network-cmd-path": true, "config": true, "cpu-profile": true, + "log-level": true, "tmpdir": true} + const stringSliceType string = "stringSlice" + + var optsCommand []string + c.PodmanCommand.Command.Flags().VisitAll(func(f *pflag.Flag) { + if !f.Changed { + return + } + if _, exist := globalFlags[f.Name]; exist { + if f.Value.Type() == stringSliceType { + flagValue := strings.TrimSuffix(strings.TrimPrefix(f.Value.String(), "["), "]") + for _, value := range strings.Split(flagValue, ",") { + optsCommand = append(optsCommand, fmt.Sprintf("--%s %s", f.Name, value)) + } + } else { + optsCommand = append(optsCommand, fmt.Sprintf("--%s %s", f.Name, f.Value.String())) + } + } + }) + return strings.Join(optsCommand, " ") +} diff --git a/cmd/podman/service.go b/cmd/podman/service.go index bcb37eac5..0280b01a4 100644 --- a/cmd/podman/service.go +++ b/cmd/podman/service.go @@ -91,7 +91,7 @@ func resolveApiURI(c *cliconfig.ServiceValues) (string, error) { if len(c.InputArgs) > 0 { apiURI = c.InputArgs[0] - } else if ok := systemd.SocketActivated(); ok { + } else if ok := systemd.SocketActivated(); ok { // nolint: gocritic apiURI = "" } else if rootless.IsRootless() { xdg, err := util.GetRuntimeDir() @@ -155,13 +155,11 @@ func runREST(r *libpod.Runtime, uri string, timeout time.Duration) error { } }() - err = server.Serve() - logrus.Debugf("%d/%d Active connections/Total connections\n", server.ActiveConnections, server.TotalConnections) - return err + return server.Serve() } func runVarlink(r *libpod.Runtime, uri string, timeout time.Duration, c *cliconfig.ServiceValues) error { - var varlinkInterfaces = []*iopodman.VarlinkInterface{varlinkapi.New(&c.PodmanCommand, r)} + var varlinkInterfaces = []*iopodman.VarlinkInterface{varlinkapi.New(c.PodmanCommand.Command, r)} service, err := varlink.NewService( "Atomic", "podman", @@ -182,7 +180,7 @@ func runVarlink(r *libpod.Runtime, uri string, timeout time.Duration, c *cliconf if err = service.Listen(uri, timeout); err != nil { switch err.(type) { case varlink.ServiceTimeoutError: - logrus.Infof("varlink service expired (use --timeout to increase session time beyond %d ms, 0 means never timeout)", timeout.String()) + logrus.Infof("varlink service expired (use --timeout to increase session time beyond %s ms, 0 means never timeout)", timeout.String()) return nil default: return errors.Wrapf(err, "unable to start varlink service") diff --git a/cmd/podman/service_dummy.go b/cmd/podman/service_dummy.go index a774c34de..a726f21c1 100644 --- a/cmd/podman/service_dummy.go +++ b/cmd/podman/service_dummy.go @@ -5,6 +5,7 @@ package main import "github.com/spf13/cobra" var ( + // nolint:varcheck,deadcode,unused _serviceCommand = &cobra.Command{ Use: "", } diff --git a/cmd/podman/shared/create.go b/cmd/podman/shared/create.go index 68a36d967..94b1e63dc 100644 --- a/cmd/podman/shared/create.go +++ b/cmd/podman/shared/create.go @@ -783,10 +783,12 @@ func ParseCreateOpts(ctx context.Context, c *GenericCLIResults, runtime *libpod. Sysctl: sysctl, } + var securityOpt []string if c.Changed("security-opt") { - if err := secConfig.SetSecurityOpts(runtime, c.StringArray("security-opt")); err != nil { - return nil, err - } + securityOpt = c.StringArray("security-opt") + } + if err := secConfig.SetSecurityOpts(runtime, securityOpt); err != nil { + return nil, err } // SECCOMP diff --git a/cmd/podman/varlink.go b/cmd/podman/varlink.go index 20334ec96..be882d497 100644 --- a/cmd/podman/varlink.go +++ b/cmd/podman/varlink.go @@ -85,7 +85,7 @@ func varlinkCmd(c *cliconfig.VarlinkValues) error { } defer runtime.DeferredShutdown(false) - var varlinkInterfaces = []*iopodman.VarlinkInterface{varlinkapi.New(&c.PodmanCommand, runtime)} + var varlinkInterfaces = []*iopodman.VarlinkInterface{varlinkapi.New(c.PodmanCommand.Command, runtime)} // Register varlink service. The metadata can be retrieved with: // $ varlink info [varlink address URI] service, err := varlink.NewService( diff --git a/cmd/podman/varlink_dummy.go b/cmd/podman/varlink_dummy.go index 430511d72..0c7981f1a 100644 --- a/cmd/podman/varlink_dummy.go +++ b/cmd/podman/varlink_dummy.go @@ -5,6 +5,7 @@ package main import "github.com/spf13/cobra" var ( + // nolint:varcheck,deadcode,unused _varlinkCommand = &cobra.Command{ Use: "", } |