summaryrefslogtreecommitdiff
path: root/cmd
Commit message (Collapse)AuthorAge
* Make 'podman rm' exit with 125 if it had a bogus & a running containerDebarshi Ray2019-03-15
| | | | | | | | | | | | | | | | | | | Getting a list of containers, and then deleting them are two separate fallible steps that can run into different sets of errors. eg., in the case of a bogus missing container and a container that's running or paused, the first step will only trigger libpod.ErrNoSuchCtr. At this point it might appear that the exit code ought to be 1. However, when attempting the deletion, it will fail once more due to the status of the running or paused container. Since libpod.ErrNoSuchCtr is no longer the only error encountered, the exit code should be reset to 125. This problem is currently masked for rootless usage due to commit 35432ecaae4a8372 ("rootless: fix rm when uid in the container != 0"). Fixes: 85db895012bead6b ("rm: set exit code to 1 if a specified ...") e41279b902a334e5 ("Change exit code to 1 on podman rm ...") Signed-off-by: Debarshi Ray <rishi@fedoraproject.org>
* Merge pull request #2646 from giuseppe/fix-build-orderOpenShift Merge Robot2019-03-15
|\ | | | | build: fix build DIR -t TAG
| * build: fix build DIR -t TAGGiuseppe Scrivano2019-03-15
| | | | | | | | | | | | | | | | accept also the order "build DIR -t TAG" Closes: https://github.com/containers/libpod/issues/2636 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | Merge pull request #2633 from edsantiago/default_defaultOpenShift Merge Robot2019-03-15
|\ \ | |/ |/| Usage messages: deduplicate '(default true)' et al
| * save-load-export: clear cli-parsing defaultEd Santiago2019-03-14
| | | | | | | | | | | | | | | | | | | | | | | | ...in order to silence Cobra's usually-helpful "(default xxx)" message. Initialization is now done in code, by testing for empty string and setting that to /dev/std{in,out} as appropriate; make special note of load.go where there's mild duplication between a local variable and cliconfig. Signed-off-by: Ed Santiago <santiago@redhat.com>
| * Usage messages: deduplicate '(default true)' et alEd Santiago2019-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove hardcoded '(default: true)' strings from bool flags, and '(default this-or-that)' from string flags. First because it's unmaintainable duplication that would cause confusion should someone ever change the default and not notice the message. Second, because cobra[1] already prints '(default XXXX)' for all options with non-false non-nil default. So in each of these cases, current podman help behavior is: $ podman login --help ... --tls-verify Require HTTPS ... (default: true) (default true) This PR eliminates that duplication. [1] actually spf13/pflag/flag.go The only nontrivial one of these is start.go, where the default for sigProxy depends on the --attach flag. Solution: change the command-line default to false, and implement the new conditional default in logic. Bonus: removed unnecessary check, because now if sigProxy is set without --attach, we can guarantee that it was done by the user. But please pay close scrutiny to this particular section in case there's something I missed. Signed-off-by: Ed Santiago <santiago@redhat.com>
* | Merge pull request #1642 from kunalkushwaha/image-treeOpenShift Merge Robot2019-03-14
|\ \ | | | | | | Tree implementation for podman images
| * | Tree implementation for podman imagesKunal Kushwaha2019-03-14
| | | | | | | | | | | | Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
* | | Merge pull request #2638 from jwhonce/issue/1959OpenShift Merge Robot2019-03-14
|\ \ \ | | | | | | | | Corrected detach man pages and code comments
| * | | Corrected detach man pages and code commentsJhon Honce2019-03-13
| | | | | | | | | | | | | | | | | | | | | | | | * Updated documentation to match code Signed-off-by: Jhon Honce <jhonce@redhat.com>
* | | | Merge pull request #2624 from edsantiago/inspect_usabilityOpenShift Merge Robot2019-03-14
|\ \ \ \ | |_|_|/ |/| | | Usability cleanup for 'inspect'
| * | | Usability cleanup for 'inspect'Ed Santiago2019-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the usage messages (and options) different between podman inspect, podman image inspect, and podman container inspect. Disable inapplicable options (-l, -s) for podman image inspect Disable -t (type) when the type is implicit through the subcommand. Update man page to reflect differences in usage. Fix broken test. Uglier than desirable due to Go and Cobra limitations Signed-off-by: Ed Santiago <santiago@redhat.com>
* | | | rm: fix cleanup raceGiuseppe Scrivano2019-03-13
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | we fire the cleanup process asynchronously so we might race with a command like: podman run --rm --name foo ... && podman run --rm --name foo Fix it by ensuring the container is deleted before we exit. This will race with the "cleanup" process, but it is fine as one of the two commands will fail with ErrNoSuchCtr while the other succeeds. Closes: https://github.com/containers/libpod/issues/2619 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | | Add 'podman events' to podman(1)Ed Santiago2019-03-13
|/ / | | | | | | | | | | | | | | | | Also: enforce noSubArgs for podman events Also: remove unnecessary '[flags]' from Use message (Cobra adds it automatically) Signed-off-by: Ed Santiago <santiago@redhat.com>
* / minor typo fix in 'podman top' usageEd Santiago2019-03-12
|/ | | | Signed-off-by: Ed Santiago <santiago@redhat.com>
* Merge pull request #2562 from baude/healtcheckphase2OpenShift Merge Robot2019-03-12
|\ | | | | healthcheck phase 2
| * healtcheck phase 2baude2019-03-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | integration of healthcheck into create and run as well as inspect. healthcheck enhancements are as follows: * add the following options to create|run so that non-docker images can define healthchecks at the container level. * --healthcheck-command * --healthcheck-retries * --healthcheck-interval * --healthcheck-start-period * podman create|run --healthcheck-command=none disables healthcheck as described by an image. * the healthcheck itself and the healthcheck "history" can now be observed in podman inspect * added the wiring for healthcheck history which logs the health history of the container, the current failed streak attempts, and log entries for the last five attempts which themselves have start and stop times, result, and a 500 character truncated (if needed) log of stderr/stdout. The timings themselves are not implemented in this PR but will be in future enablement (i.e. next). Signed-off-by: baude <bbaude@redhat.com>
* | Merge pull request #2585 from giuseppe/build-honor-netOpenShift Merge Robot2019-03-12
|\ \ | | | | | | build: honor --net
| * | build: honor --netGiuseppe Scrivano2019-03-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when --net is specified, pass it down to Buildah. Depends on: https://github.com/containers/buildah/pull/1395 Closes: https://github.com/containers/libpod/issues/2572 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | | Merge pull request #2612 from KKoukiou/api-doc-fixOpenShift Merge Robot2019-03-11
|\ \ \ | | | | | | | | Fix broken link in API.md
| * | | Fix broken link in io.podman.varlinkKaterina Koukiou2019-03-11
| | |/ | |/| | | | | | | | | | | | | Link to InspectImage was broken. Signed-off-by: Katerina Koukiou <kkoukiou@redhat.com>
* | | Merge pull request #2527 from baude/eventsOpenShift Merge Robot2019-03-11
|\ \ \ | | | | | | | | Add event logging to libpod, even display to podman
| * | | Add event logging to libpod, even display to podmanbaude2019-03-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In lipod, we now log major events that occurr. These events can be displayed using the `podman events` command. Each event contains: * Type (container, image, volume, pod...) * Status (create, rm, stop, kill, ....) * Timestamp in RFC3339Nano format * Name (if applicable) * Image (if applicable) The format of the event and the varlink endpoint are to not be considered stable until cockpit has done its enablement. Signed-off-by: baude <bbaude@redhat.com>
* | | | Merge pull request #2609 from QiWang19/moveformatsOpenShift Merge Robot2019-03-11
|\ \ \ \ | |_|/ / |/| | | move formats pkg to and vendor from buildah
| * | | move formats pkg to and vendor from buildahQi Wang2019-03-11
| |/ / | | | | | | | | | Signed-off-by: Qi Wang <qiwan@redhat.com>
* | | Merge pull request #2578 from baude/movecreateOpenShift Merge Robot2019-03-11
|\ \ \ | |/ / |/| | preparation for remote-client create container
| * | preparation for remote-client create containerbaude2019-03-11
| |/ | | | | | | | | | | | | | | | | to prepare for being able to remotely run a container, we need to perform a refactor to get code out of main because it is not reusable. the shared location is a good starting spot though eventually some will likely end up in pkg/spec/ at some point. Signed-off-by: baude <bbaude@redhat.com>
* | Merge pull request #2583 from giuseppe/rootless-fix-pod-rmOpenShift Merge Robot2019-03-11
|\ \ | | | | | | rootless: fix stop and rm when the container is running with uid != 0
| * | rootless: fix pod stop|rm if uid in the container != 0Giuseppe Scrivano2019-03-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | join the user namespace where the pod is running, so that we can both manage the storage and correctly send the kill signal to a process which is not running as root in the namespace. Closes: https://github.com/containers/libpod/issues/2577 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
| * | rootless: fix rm when uid in the container != 0Giuseppe Scrivano2019-03-11
| | | | | | | | | | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
| * | rootless: disable pod statsGiuseppe Scrivano2019-03-11
| | | | | | | | | | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
| * | rootless: do not create automatically a userns for pod killGiuseppe Scrivano2019-03-11
| |/ | | | | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* / libpod: allow to configure path to the network-cmd binaryGiuseppe Scrivano2019-03-11
|/ | | | | | | | | | | | | allow to configure the path to the network-cmd binary, either via an option flag --network-cmd-path or through the libpod.conf configuration file. This is currently used to customize the path to the slirp4netns binary. Closes: https://github.com/containers/libpod/issues/2506 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* Merge pull request #2591 from baude/issue2209OpenShift Merge Robot2019-03-08
|\ | | | | podman play kube defaults
| * podman play kube defaultsbaude2019-03-08
| | | | | | | | | | | | | | | | | | | | if an input YAML file lacks securitycontext and working dir for a container, we need to be able to handle that. if no default for working dir is provided, we use a default of "/". fixes issue #2209 Signed-off-by: baude <bbaude@redhat.com>
* | Merge pull request #2589 from baude/issue2171OpenShift Merge Robot2019-03-08
|\ \ | |/ |/| container runlabel respect $PWD
| * container runlabel respect $PWDbaude2019-03-08
| | | | | | | | | | | | | | | | | | When doing environment variable substitution, we need to make sure $PWD is replaced with the current working directory. fixes issue #2171 Signed-off-by: baude <bbaude@redhat.com>
* | Merge pull request #2557 from QiWang19/filter2241OpenShift Merge Robot2019-03-08
|\ \ | | | | | | fix bug in podman images list all images with same name
| * | fix bug in podman images list all images with same nameQi Wang2019-03-07
| | | | | | | | | | | | Signed-off-by: Qi Wang <qiwan@redhat.com>
* | | Merge pull request #2569 from giuseppe/rootless-fix-exec-with-userOpenShift Merge Robot2019-03-08
|\ \ \ | | | | | | | | rootless: exec join the user+mount namespace
| * | | create: join also the mount ns of the dependencyGiuseppe Scrivano2019-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when we are creating a container that depends on another one, be sure we also join its mount namespace in addition to the user namespace. Closes: https://github.com/containers/libpod/issues/2556 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
| * | | rootless: exec join the user+mount namespaceGiuseppe Scrivano2019-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it is not enough to join the user namespace where the container is running. We also need to join the mount namespace so that we can correctly look-up inside of the container rootfs. This is necessary to lookup the mounted /etc/passwd file when --user is specified. Closes: https://github.com/containers/libpod/issues/2566 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | | | Merge pull request #2586 from mheon/fix_ps_statesOpenShift Merge Robot2019-03-08
|\ \ \ \ | |_|_|/ |/| | | Remove 'podman ps' restarting filter and fix stopped
| * | | Remove 'podman ps' restarting filter and fix stoppedMatthew Heon2019-03-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Podman has no concept of a "restarting" container - such a container is just transitioning from running to stopped and then back to running through our ordinary state machine. As such, filtering "restarting" containers doesn't work and does nothing. Also, make "stopped" containers show as exited - this is a momentary state we transition to before proper exited. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | | | Merge pull request #2582 from baude/issue2574OpenShift Merge Robot2019-03-08
|\ \ \ \ | |/ / / |/| | | label parsing in non-quoted field
| * | | label parsing in non-quoted fieldbaude2019-03-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | switch from a stringslice to a stringarray for labels to handle quoted input. fixes issue #2574 Signed-off-by: baude <bbaude@redhat.com>
* | | | More cleanup for failures on missing commands.Daniel J Walsh2019-03-08
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently in podman if a user specifies a command that does not exist the tool shows the help information. This patch changes it to show information like: $ ./bin/podman foobar Error: unrecognized command 'podman foobar' Try 'podman --help' for more information. $ ./bin/podman volume foobar Error: unrecognized command `podman volume foobar` Try 'podman volume --help' for more information. $ ./bin/podman container foobar Error: unrecognized command `podman container foobar` Try 'podman container --help' for more information. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* / / Fix help commands to show short and long description.Daniel J Walsh2019-03-07
|/ / | | | | | | | | | | Cleanup lots of help information to look good when displayed. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* | Merge pull request #2565 from edsantiago/healthcheck_run_usage_fixOpenShift Merge Robot2019-03-07
|\ \ | |/ |/| Yet another seemingly minor tweak to usage message
| * Yet another seemingly minor tweak to usage messageEd Santiago2019-03-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add explicit [flags] to podman healthcheck run Use message. Reason: Cobra checks for the string '[flags]' in the Use text. If absent, and command has options, Cobra appends it. This is misleading to humans, because the --help output looks like: podman healthcheck run CONTAINER [flags] ...when of course that won't work. Signed-off-by: Ed Santiago <santiago@redhat.com>