Commit Graph

1583 Commits

Author SHA1 Message Date
Matthew Heon
ad6988be32 Add debugging for errors to Cobra compatibility macros
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-02-27 16:26:12 -05: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
Matthew Heon
512245afcb Fix ignored --stop-timeout flag to 'podman create'
Also add some extra debug information to help figure out what's
going on when stop goes bad.

Fixes: #2472

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-02-27 16:20:11 -05:00
Ed Santiago
2c0909bccc fixup! Incorporate review feedback
Per tsweeney, add back the original examples

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-02-27 14:19:02 -07:00
Ed Santiago
7a66ad7fee fixup! missed some more:
- [flags] in generate-kube
- optional [IMAGE] in images

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-02-27 14:19:02 -07:00
Ed Santiago
69808ff320 fixup! Correction to 'checkpoint'
...it's a subcommand of 'podman container'

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-02-27 14:18:15 -07:00
Ed Santiago
9a3a59c3a5 Followup to #2456: update examples, add trust
- belatedly incorporate review feedback from baude
- add usage synopsis for trust-set and trust-show

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-02-27 14:18:15 -07:00
OpenShift Merge Robot
4e553cfd46 Merge pull request #2471 from baude/clifixups
fix up a number of misplace commands
2019-02-27 22:15:31 +01:00
Ed Santiago
5c08ff58d7 podman create: disable interspersed opts
With the change to cobra, the following command fails:

   # podman create alpine sh -c /bin/true
   Error: unknown shorthand flag: 'c' in -c

(Correct behavior is to pass '-c' to the container command)

This PR corrects that.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-02-27 14:08:58 -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
Matthew Heon
ffefbda694 Fix build for non-Varlink-tagged Podman
Fixes #2459

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-02-27 10:27:08 -05:00
OpenShift Merge Robot
70d3cc2e73 Merge pull request #2454 from mheon/all_your_defaults_belong_to_libpod
Move all storage configuration defaults into libpod
2019-02-27 14:25:16 +01:00
OpenShift Merge Robot
f7f266e361 Merge pull request #2456 from edsantiago/better_synopses
Better usage synopses for subcommands
2019-02-27 13:49:29 +01:00
OpenShift Merge Robot
87f0b36787 Merge pull request #2460 from adrianreber/restore
Remove restore as podman subcommand
2019-02-27 13:36:08 +01:00
Adrian Reber
17135cb00b Remove restore as podman subcommand
The commands checkpoint and restore should only be available under
'podman container'. This is probably a result of the recent cobra
migration.

Signed-off-by: Adrian Reber <areber@redhat.com>
2019-02-27 07:46:29 +01:00
Ed Santiago
a20ff42134 Better usage synopses for subcommands
Conceptually simple: include, where applicable, a brief
description of command-line options for each subcommand.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-02-26 18:10:36 -07:00
Matthew Heon
b8e6ef618b Move all storage configuration defaults into libpod
Instead of passing in defaults via WithStorageConfig after
computing them in cmd/podman/libpodruntime, do all defaults in
libpod itself.

This can alleviate ordering issues which caused settings in the
libpod config (most notably, volume path) to be ignored.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-02-26 15:32:53 -05:00
OpenShift Merge Robot
6352f19d88 Merge pull request #2446 from mheon/add_image_volume
Only remove image volumes when removing containers
2019-02-26 19:20:08 +01:00
baude
ed1ea8dea1 rename pod when we have a name collision with a container
when podman generate kube runs, it names the pod based on the first
container it finds. the resulting yaml file is perfectly acceptable
in a kubernetes environment.  But when replaying the YAML file
with podman, we cannot have a container and pod with the same name.
therefore, we rename the pod if find a collision to name_pod.

Signed-off-by: baude <bbaude@redhat.com>
2019-02-26 12:13:12 -06:00
OpenShift Merge Robot
1ad0d29fc2 Merge pull request #2443 from baude/playstartrecursive
start pod containers recursively
2019-02-26 18:46:36 +01:00
Matthew Heon
83db80ce17 Only remove image volumes when removing containers
When removing volumes with rm --volumes we want to only remove
volumes that were created with the container. Volumes created
separately via 'podman volume create' should not be removed.

Also ensure that --rm implies volumes will be removed.

Fixes #2441

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-02-26 12:16:58 -05:00
Adrian Reber
f5b72b8c44 Fix podman logs -l
'podman logs -l' was no longer working. This fixes it by replacing
&waitCommand.Latest with &logsCommand.Latest.

Signed-off-by: Adrian Reber <areber@redhat.com>
2019-02-26 17:33:17 +01:00
baude
c79c641da1 start pod containers recursively
when using the play kube command, we need to make sure that containers
with dependancies are started in proper order.  in this case, the infra
container must be started first.

Signed-off-by: baude <bbaude@redhat.com>
2019-02-26 10:19:08 -06:00
Matthew Heon
da70c9db6f When location of c/storage root changes, set VolumePath
We want named volumes to be created in a subdirectory of the
c/storage graph root, the same as the libpod root directory is
now. As such, we need to adjust its location when the graph root
changes location.

Also, make a change to how we set the default. There's no need to
explicitly set it every time we initialize via an option - that
might conflict with WithStorageConfig setting it based on graph
root changes. Instead, just initialize it in the default config
like our other settings.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-02-26 09:37:00 -05:00
baude
0416b3afc4 podman-remote pod pause|unpause|restart
enable the ability for the remote client to pause, unpause, and
restart pods.

Signed-off-by: baude <bbaude@redhat.com>
2019-02-25 16:14:06 -06:00
OpenShift Merge Robot
cf521449e5 Merge pull request #2422 from baude/remotepodcreate
podman-remote create|ps
2019-02-25 21:57:42 +01:00
Daniel J Walsh
fe4c0c3780 Change exit code to 1 on podman rmi nosuch image
Make it easy for scripts to determine if an image removal
failure.   If only errors were no such image exit with 1
versus 125.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-02-25 12:49:27 -05:00
OpenShift Merge Robot
73cfb9f127 Merge pull request #2423 from rhatdan/rm
Change exit code to 1 on podman rm nosuch container
2019-02-25 18:16:50 +01:00
Daniel J Walsh
e41279b902 Change exit code to 1 on podman rm nosuch container
Make it easy for scripts to determine if a container removal
fails versus the container did not exist.

If only errors were no such container exit with 1 versus 125.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-02-25 10:31:04 -05:00
baude
43a1686598 podman-remote create|ps
enable the podman-remote client to be able to create and list
pods on a remote system.

Signed-off-by: baude <bbaude@redhat.com>
2019-02-25 09:10:09 -06:00
baude
06cbf60d41 remove duplicate commands in main
kube was erronously being added as main subcommand multiple
times. it should not be a subcommand as it should live under
either play or generate.

also removing the addition of the volume command from the commands.go
to eliminate a duplicate.

Signed-off-by: baude <bbaude@redhat.com>
2019-02-25 08:54:11 -06:00
OpenShift Merge Robot
553ac800c8 Merge pull request #2419 from rhatdan/play
Fix play to show up in podman help
2019-02-24 21:33:15 +01:00
OpenShift Merge Robot
53b147d215 Merge pull request #2416 from rhatdan/network
Allow dns settings with --net=host
2019-02-24 21:33:05 +01:00
OpenShift Merge Robot
cc4adddeb7 Merge pull request #2413 from baude/remotepodstop
Enable more podman-remote pod commands
2019-02-24 03:13:25 +01:00
OpenShift Merge Robot
8e4be923b8 Merge pull request #2400 from rhatdan/pull
Switch defaults for podman build versus buildah
2019-02-23 23:01:07 +01:00
Daniel J Walsh
3642ce837f Fix play to show up in podman help
Also change generate cli calls to match other commands.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-02-23 16:16:41 -05:00
OpenShift Merge Robot
3825db5aee Merge pull request #2404 from baude/remoteerrors
make remote-client error messaging more robust
2019-02-23 22:10:03 +01:00
Daniel J Walsh
bcc6b773e6 Switch defaults for podman build versus buildah
Switch defaults for --layers, --force-rm and --pull-always
from buildah to podman.

Only override default values.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-02-23 15:57:24 -05:00
Daniel J Walsh
ba62683cbf Allow dns settings with --net=host
This seems to be a needless restriction.  We make a copy of the
hosts /etc/resolv.conf file, so these changes to not modify the
host.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-02-23 07:19:30 -05:00
baude
4bf973a9f6 Enable more podman-remote pod commands
enable pod start, stop, and kill subcommands for the remote-client.

Signed-off-by: baude <bbaude@redhat.com>
2019-02-22 17:00:24 -06:00
OpenShift Merge Robot
b223d4e136 Merge pull request #2401 from TomSweeneyRedHat/dev/tsweeney/buildah1.7
Vendor Buildah v1.7
2019-02-22 23:56:06 +01:00
OpenShift Merge Robot
c00bf28f24 Merge pull request #2406 from rhatdan/errors
Exit with errors not just logging error
2019-02-22 23:30:13 +01:00
OpenShift Merge Robot
e6cc5706cd Merge pull request #2410 from giuseppe/cp-rootless-support
cmd: support rootless mode for cp command
2019-02-22 22:52:39 +01:00
TomSweeneyRedHat
ff0b4652ef Vendor Buildah v1.7
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>

Vendors in Buildah 1.7 into Podman.
Also the latest imagebuilder and changes for
`build --target`

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2019-02-22 16:40:05 -05:00
Daniel J Walsh
3775c6dc63 Exit with errors not just logging error
Several commands were logging errors but exiting with a 0
exit code.  This patch cleans these up.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-02-22 16:28:42 -05:00
OpenShift Merge Robot
84b3f2a7f6 Merge pull request #2386 from baude/cobravalidation
Improve command line validation
2019-02-22 22:10:07 +01:00
Giuseppe Scrivano
d47a9a6c4d cmd: support rootless mode for cp command
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-02-22 21:36:46 +01: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
baude
328250e7be Improve command line validation
Use the checkallandlatest function to validate flag usage as part
of the cobra command args validation.

Signed-off-by: baude <bbaude@redhat.com>
2019-02-22 14:13:08 -06:00
OpenShift Merge Robot
c757cb23ca Merge pull request #2402 from baude/remotepodinspect
podman-remote pod inspect|exists
2019-02-22 21:12:49 +01:00