3152 Commits

Author SHA1 Message Date
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
4e553cfd46 Merge pull request #2471 from baude/clifixups
fix up a number of misplace commands
2019-02-27 22:15:31 +01:00
4042528067 Merge pull request #2464 from mheon/build_test_no_varlink
Add a task to Cirrus gating to build w/o Varlink
2019-02-27 21:54:04 +01:00
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
bd9a18df15 Add a task to Cirrus gating to build w/o Varlink
We had a regression on master where we broke the build for
non-Varlink builds. Catch this in CI in the future.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-02-27 12:21:57 -05:00
f1f26f4442 Merge pull request #2465 from mheon/fix_build_varlink
Fix build for non-Varlink-tagged Podman
2019-02-27 17:39:13 +01:00
fd16be5c00 Merge pull request #2431 from baude/remotereadme
podman remote-client readme
2019-02-27 16:56:14 +01:00
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
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
f7f266e361 Merge pull request #2456 from edsantiago/better_synopses
Better usage synopses for subcommands
2019-02-27 13:49:29 +01:00
87f0b36787 Merge pull request #2460 from adrianreber/restore
Remove restore as podman subcommand
2019-02-27 13:36:08 +01:00
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
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
623fcfab84 Merge pull request #2458 from mheon/bump-1.1.0
Bump to 1.1.0
2019-02-27 00:46:56 +01:00
86141f9eba Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-02-26 17:33:45 -05:00
e130657e28 Bump to v1.2.0-dev
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-02-26 17:33:45 -05:00
006206abe1 Bump to v1.1.0
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
v1.1.0
2019-02-26 17:33:45 -05:00
174e8997aa Merge pull request #2434 from mheon/release_notes_v1.1
Update release notes for v1.1.0
2019-02-26 23:23:30 +01:00
22c885c730 Merge pull request #2440 from rhatdan/buildah
Vendor in buildah v1.7.1
2019-02-26 22:49:01 +01:00
f68a243f8e Centralize setting default volume path
No reason to do it in util/ anymore. It's always going to be a
subdirectory of c/storage graph root by default, so we can just
set it after the return.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-02-26 15:44:46 -05:00
5511cdc487 Ensure volume path is set appropriately by default
There are some cases where we might not be properly adjusting the
volume path after setting the storage graph root. Ensure that we
always set volume path to be a child of graph root.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-02-26 15:39:13 -05:00
e3b428686d Vendor in latest buildah 1.7.1
This release updates buildah to use containers/image v1.5
Which fixes a crash issue when pulling container images.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-02-26 15:37:23 -05:00
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
ee667dcf97 Merge pull request #2448 from giuseppe/volumes-skip-user-binds
volume: do not create a volume if there is a bind
2019-02-26 19:52:23 +01:00
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
1ad0d29fc2 Merge pull request #2443 from baude/playstartrecursive
start pod containers recursively
2019-02-26 18:46:36 +01:00
21bc766ee3 volume: do not create a volume if there is a bind
if there is already a bind mount specified for the target, do not
create a new volume.

Regression introduced by 52df1fa7e054d577e8416d1d46db1741ad324d4a

Closes: https://github.com/containers/libpod/issues/2441

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-02-26 18:42:04 +01:00
7c27c44629 Merge pull request #2444 from adrianreber/logs
Fix podman logs -l
2019-02-26 18:29:44 +01:00
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
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
0e252f0437 Merge pull request #2439 from vrothberg/vendor-image
vendor containers/image v1.5
2019-02-26 17:20:44 +01:00
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
4848aae587 podman remote-client readme
addition of a remote-client readme.

Signed-off-by: baude <bbaude@redhat.com>
2019-02-26 10:03:16 -06:00
36df2e7073 Merge pull request #2397 from mheon/volume_path_fixes
Volume path fixes
2019-02-26 17:02:03 +01:00
6a47073b7f Update release notes for v1.1.0
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-02-26 10:29:55 -05:00
507ab29cfe Merge pull request #2289 from 4383/improve-hacking
[skip ci]Introduce how to start to hack on libpod.
2019-02-26 10:10:05 -05:00
ffe7e49698 vendor containers/image v1.5
Fixes are race condition in the blobinfocache when copying images
leading to a panic().

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-02-26 15:55:20 +01:00
ba6f1acf07 Record when volume path is explicitly set in config
This ensures we won't overwrite it when it's set in the config we
load from disk.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-02-26 09:38:02 -05:00
5a0a9dfa23 Add debug information when overriding paths with the DB
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-02-26 09:38:02 -05:00
0d697573a6 Add path for named volumes to podman info
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-02-26 09:38:02 -05:00
5fcbe5baab Add volume path to default libpod.conf (and manpage)
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-02-26 09:38:02 -05:00
d41d8d090e Validate VolumePath against DB configuration
If this doesn't match, we end up not being able to access named
volumes mounted into containers, which is bad. Use the same
validation that we use for other critical paths to ensure this
one also matches.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-02-26 09:37:00 -05:00
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
8a5e103876 Merge pull request #2438 from vrothberg/scope-v2
[skip ci] readme/docs update
2019-02-26 15:27:11 +01:00
7fea0d7077 docs: cross-reference podman-{generate,play}-kube
Addresses: https://github.com/containers/libpod/pull/2428#discussion_r260200694
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-02-26 15:07:05 +01:00
2ce8a1c890 README: refine "Out of scope" section
Based on user feedback, refine the "Out of scope" section regarding
`docker-compose`:

* Explain why Podman uses Kubernetes YAML.
* Explain how `podman-play-kube` and `podman-generate-kube` fit into the
  picture.

Addresses: https://github.com/containers/libpod/pull/2428#discussion_r259996507
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-02-26 15:02:40 +01:00
02988f17f6 Merge pull request #2382 from adrianreber/selinux
Fix one (of two) SELinux denials during checkpointing
2019-02-26 14:26:48 +01:00
865fc27075 Merge pull request #2437 from giuseppe/runtime-nice-error
oci: improve error message when the OCI runtime is not found
2019-02-26 14:09:15 +01:00
446d333783 oci: improve error message when the OCI runtime is not found
We were previously returning the not so nice error directly from
conmon.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-02-26 11:40:34 +01:00
0a8a1deed1 Label CRIU log files correctly
CRIU creates a log file during checkpointing in .../userdata/dump.log.
The problem with this file is, is that CRIU injects a parasite code into
the container processes and this parasite code also writes to the same
log file. At this point a process from the inside of the container is
trying to access the log file on the outside of the container and
SELinux prohibits this. To enable writing to the log file from the
injected parasite code, this commit creates an empty log file and labels
the log file with c.MountLabel(). CRIU uses existing files when writing
it logs so the log file label persists and now, with the correct label,
SELinux no longer blocks access to the log file.

Signed-off-by: Adrian Reber <areber@redhat.com>
2019-02-26 11:28:54 +01:00