Commit Graph

92 Commits

Author SHA1 Message Date
Neville Cain 8bc394ce6e Add the pod name when we use `podman ps -p`
The pod name does not appear when doing `podman ps -p`.
It is missing as the documentation says:
-p, --pod              Print the ID and name of the pod the containers are associated with

The pod name is added in the ps output and checked in unit tests.

Closes #4703

Signed-off-by: NevilleC <neville.cain@qonto.eu>
2019-12-28 00:03:57 +01:00
baude a78c885397 golangci-lint pass number 2
clean up and prepare to migrate to the golangci-linter

Signed-off-by: baude <bbaude@redhat.com>
2019-07-11 09:13:06 -05:00
baude e053e0e05e first pass of corrections for golangci-lint
Signed-off-by: baude <bbaude@redhat.com>
2019-07-10 15:52:17 -05:00
baude 24e1eebde4 ps should use nostore when possible
when not using --size with ps, we do not need a store.  this should make
ps more effecient when the system is under heavy load.

also, prune unused ps functions as no longer needed.

Signed-off-by: baude <bbaude@redhat.com>
2019-07-03 13:21:58 -05:00
baude 2dfb744d8c fix podman-remote ps --ns
the namespace for the remote client was being incorrectly derived from
the "remote" client.

fixes: #2938

Signed-off-by: baude <bbaude@redhat.com>
2019-05-07 12:38:58 -05:00
Giuseppe Scrivano f49e0c19ed
runtime: pass down the context
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-04-26 22:23:49 +02:00
baude 55e630e787 podman-remote pause|unpause
Add the ability to pause and unpause containers with the remote client.

Also turned on the pause tests!

Signed-off-by: baude <bbaude@redhat.com>
2019-04-18 13:42:27 -05:00
baude 6fb0a706af Fix segfaults attribute to missing options
In cases where the remote client culls options to a command, we need to
be sure that the lookup for that flag does not result in a nil pointer.
To do so, we add a Remote attribute to the podman struct and then cli
helper funcs are now aware they are remote.

Signed-off-by: baude <bbaude@redhat.com>
2019-04-15 12:21:51 -05:00
OpenShift Merge Robot 2f2c7660c3
Merge pull request #2882 from baude/remoteps
podman-remote ps
2019-04-10 04:24:56 -07:00
baude 23cd1928ec podman-remote ps
add the ability to run ps on containers using the remote client.

Signed-off-by: baude <bbaude@redhat.com>
2019-04-09 15:00:35 -05:00
Ed Santiago cebb7ebbee ps: now works with --size and nonroot
Revert the error check from #2832. This is not strictly
necessary, since 'podman ps --size' now works perfectly
fine in nonroot because some recent change (Giuseppe's,
presumably) masked os.Geteuid() return 0... but removing
for maintainability's sake.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-04-09 12:55:19 -06:00
Brent Baude 23602de816 Revert "Switch to golangci-lint"
Signed-off-by: baude <bbaude@redhat.com>
2019-04-05 20:09:45 -05:00
Daniel J Walsh bc320be00b
Merge pull request #2742 from openSUSE/golangci-lint
Switch to golangci-lint
2019-04-05 11:02:41 -04:00
OpenShift Merge Robot 1759eb09e1
Merge pull request #2706 from giuseppe/rootless-single-usernamespace
rootless: single user namespace
2019-04-04 09:21:09 -07:00
Sascha Grunert 81a4451fea
Add deadcode linter
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2019-04-04 09:07:05 +02:00
Matthew Heon c1cd9a3c6d --size does not work with rootless at present
We'd need to join multiple container's user namespaces, which is
not possible for now. The rootless single userns patches under
development by Giuseppe will fix this, but won't land in 1.2.x.

For now, disable --size as rootless.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-04-03 10:57:03 -04:00
Giuseppe Scrivano ed326206f2
rootless: remove SkipStorageSetup()
in the few places where we care about skipping the storage
initialization, we can simply use the process effective UID, instead
of relying on a global boolean flag.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-04-01 13:24:04 +02:00
OpenShift Merge Robot f4d90a96cb
Merge pull request #2691 from baude/psdynamic
Add watch mode to podman ps
2019-03-29 07:59:11 -07:00
baude 3423c5a8c9 Add watch mode to podman ps
allows users to "watch" the output of podman ps on a set interval in
seconds. in watch mode, the screen is cleared between intervals as well.

podman -ps -w1 watches on 1 second intervals

Signed-off-by: baude <bbaude@redhat.com>
2019-03-28 08:34:27 -05:00
Matthew Heon 179a66f1a0 Use spaces instead of tab for JSON marshal indent
The jsoniterator library believes that panic() is a reasonable
response to being told to indent JSON with a tab. So use spaces
instead.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-03-27 20:00:31 -04:00
Matthew Heon 5ed62991dc Remove ulele/deepcopier in favor of JSON deep copy
We have a very high performance JSON library that doesn't need to
perform code generation. Let's use it instead of our questionably
performant, reflection-dependent deep copy library.

Most changes because some functions can now return errors.

Also converts cmd/podman to use jsoniter, instead of pkg/json,
for increased performance.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-03-27 20:00:31 -04:00
baude bb69004b8c podman health check phase3
podman will not start a transient service and timer for healthchecks.
this handles the tracking of the timing for health checks.

added the 'started' status which represents the time that a container is
in its start-period.

the systemd timing can be disabled with an env variable of
DISABLE_HC_SYSTEMD="true".

added filter for ps where --filter health=[starting, healthy, unhealthy]
can now be used.

Signed-off-by: baude <bbaude@redhat.com>
2019-03-22 14:58:44 -05:00
Matthew Heon 9516f28808 Make "stopped" a valid state that maps to "exited"
Fixes #2526

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-03-21 10:00:25 -04:00
Giuseppe Scrivano 3f96d3617b
rootless: fix ps command
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-03-19 15:01:50 +01:00
Qi Wang e3d8e79d95 move formats pkg to and vendor from buildah
Signed-off-by: Qi Wang <qiwan@redhat.com>
2019-03-11 14:44:59 -04:00
Matthew Heon fbd8f33a59 Remove 'podman ps' restarting filter and fix stopped
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>
2019-03-08 09:55:39 -05:00
Daniel J Walsh 9a39c60e46
Fix help commands to show short and long description.
Cleanup lots of help information to look good when displayed.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-03-07 13:46:59 -05:00
Daniel J Walsh d231cfba92
Fix aliased commands to actually work
The current aliased commands

podman container list

and

podman image list
podman image rm

Do not work properly.  The global storage options are broken.

This patch fixes this issue.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-03-03 06:14:20 -05:00
OpenShift Merge Robot e4746f9b4b
Merge pull request #2452 from edsantiago/no_more_args
Command-line input validation: reject unused args
2019-03-01 12:22:12 -08:00
baude 3fa1fdf711 fix up a number of misplace commands
* ps now on main command
* sign is no longer on main commmand
* ls, list no longer are valid main aliases for images
* ls, list does work for podman image

Signed-off-by: baude <bbaude@redhat.com>
2019-02-28 09:36:23 -06:00
Ed Santiago 9934507d74 Command-line input validation: reject unused args
Several podman commands accept no subcommands. Some
of those were not actually checking, though, which
could lead to user confusion. Added validation where
missing; and, refactored to minimize duplication.

(Side note: I decided against using cobra.NoArgs
because its error message, "unknown command",
misleadingly implies that there are known ones).

Also added validation to varlink

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-02-27 14:20:29 -07:00
baude 4a33ee2ab3 fix up a number of misplace commands
* ps now on main command
* sign is no longer on main commmand
* ls, list no longer are valid main aliases for images
* ls, list does work for podman image

Signed-off-by: baude <bbaude@redhat.com>
2019-02-27 12:29:41 -06:00
baude 6ab6e2c307 hide --latest on the remote-client
in the case of the remote-client, it was decided to hide the latest
flag to avoid confusion for end-users on what the "last" container,
volume, or pod are.

Signed-off-by: baude <bbaude@redhat.com>
2019-02-22 14:13:08 -06:00
Sebastian Jug 7141f97270 OpenTracing support added to start, stop, run, create, pull, and ps
Drop context.Context field from cli.Context

Signed-off-by: Sebastian Jug <sejug@redhat.com>
2019-02-18 09:57:08 -05:00
TomSweeneyRedHat 72b91eb87f Second chunk of Cobra help
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>

Adds examples to Cobra help for a second chunk of commands.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2019-02-15 14:38:46 -05:00
Daniel J Walsh ccbc4fb006
Don't show global flags except for podman command
Subcommands should not be showing the global flags.  This causes the important
information to scroll off the screen.

Also fixed a typo on runCommmand (Too many 'm's)

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-02-12 05:14:38 -07:00
baude 13d2354bc6 Separate remote and local commands
In the previous CLI, we had an accurate depiction of commands
available for the remote client and those available for the
local client.

Signed-off-by: baude <bbaude@redhat.com>
2019-02-11 12:53:21 -06:00
baude 25a3923b61 Migrate to cobra CLI
We intend to migrate to the cobra cli from urfave/cli because the
project is more well maintained.  There are also some technical reasons
as well which extend into our remote client work.

Signed-off-by: baude <bbaude@redhat.com>
2019-02-08 10:26:43 -06:00
baude ca53122338 Fix regression in ps with custom format
Using the table keyword in go templating had regressed and was
no longer working.

Fixes: 2221

Signed-off-by: baude <bbaude@redhat.com>
2019-01-30 08:32:28 -06:00
Daniel J Walsh a22f00d4c5
Allow alias for list, ls, ps to work
Allow multiple alias for listing containers and images.

Also fix documentation for umount and unmount

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2018-12-23 09:38:57 -05:00
Matthew Heon 28bead8be8 Add --sync flag to podman ps
The previous commit added support for --sync to podman rm to
ensure state inconsistencies would not prevent containers from
being removed.

Add the flag to podman ps as well, so that all containers can be
forcibly synced and all state inconsistencies resolved.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2018-12-06 09:10:45 -05:00
baude 82bcef3895 add pod short option to ps
podman ps has a flag --pod; simply adding a short option of -p

Signed-off-by: baude <bbaude@redhat.com>
2018-11-30 09:15:11 -06:00
OpenShift Merge Robot a1b961af50
Merge pull request #1724 from baude/psformatchanges
make various changes to ps output
2018-10-29 15:17:13 -07:00
baude 058f0e3681 make various changes to ps output
for backwards compatibility and auto-test, we needed a few changes
that slipped in when i reworked ps to be faster to be reverted. the
follow behaviours were reverted:

1. the is_infra column was redacted.  that appears to be a mistake on my
part.
2. a newline after ps prints its format was added
3. a newline prior to printing the headers was removed.

Signed-off-by: baude <bbaude@redhat.com>
2018-10-29 14:33:32 -05:00
baude 13b05ea476 Use two spaces to pad PS fields
Ed has asked that we revert to using two spaces for padding between PS fields.  I assume
this is for docker autotests.

Signed-off-by: baude <bbaude@redhat.com>
2018-10-29 12:08:41 -05:00
baude f641c2d938 fix bug in rm -fa parallel deletes
Signed-off-by: baude <bbaude@redhat.com>
2018-10-25 16:15:11 -05:00
baude 3e5a5c68da Add --max-workers and heuristics for parallel operations
add a global flag for --max-workers so users can limit the number
of parallel operations for a given function.  also, when not limited
by max-workers, we implement a heuristic function that returns the
number of preferred parallel workers based on the number of CPUs and
the given operation.

Signed-off-by: baude <bbaude@redhat.com>
2018-10-25 07:50:46 -05:00
baude ee8f19e7be Make podman ps fast
Like Ricky Bobby, we want to go fast.

Signed-off-by: baude <bbaude@redhat.com>
2018-10-23 08:26:21 -05:00
Qi Wang d73600626d Sort all command flags
Signed-off-by: Qi Wang <qiwan@redhat.com>
2018-10-11 13:17:14 -04:00
Matthew Heon 29dbab6440 Address review comments and fix ps output
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2018-10-02 12:05:22 -04:00