Commit Graph

8483 Commits

Author SHA1 Message Date
OpenShift Merge Robot 6e410ede70
Merge pull request #6647 from rhatdan/caps
Handle dropping capabilities correctly when running as non root user
2020-06-17 21:19:14 -04:00
Matthew Heon 43ead88e81 Podman system service is no longer experimental
As such, we can remove the warnings logs that previously printed
every time it was run.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-06-17 17:39:49 -04:00
Daniel J Walsh fe69aa9ba3
Handle dropping capabilties correctly when running as non root user
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-06-17 17:20:53 -04:00
OpenShift Merge Robot 7b00e49f65
Merge pull request #6560 from mheon/fix_exec_logdriver
Do not share container log driver for exec
2020-06-17 17:17:27 -04:00
OpenShift Merge Robot daabbc1a1e
Merge pull request #6657 from mheon/bump-2.0.0-rc7
[CI:DOCS] Bump to v2.0.0-RC7
2020-06-17 17:14:21 -04:00
Daniel J Walsh c385e6d363
Don't ignore --user flag in rootless --userns keepid
Currently podman run --userns keep-id --user root:root fedora id

The --user flag is ignored.  Removing this makes the code work correctly.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-06-17 17:13:58 -04:00
Matthew Heon 4b08d9ea57 Bump to v2.0.0-dev
Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-06-17 16:56:56 -04:00
Matthew Heon 5460ea87d4 Bump to v2.0.0-rc7
Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-06-17 16:56:53 -04:00
OpenShift Merge Robot 7b5073b46e
Merge pull request #6655 from TomSweeneyRedHat/dev/tsweeney/b1_15_0
Bump Buildah to v1.15.0
2020-06-17 16:43:06 -04:00
Lokesh Mandvekar 30c0fc9f12 Makefile: install.varlink needs to create dirs
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2020-06-17 15:58:11 -04:00
OpenShift Merge Robot a76bf114d1
Merge pull request #6620 from jgallucci32/api-logs-separate
Move logs functionality to separate file for APIv2
2020-06-17 15:50:05 -04:00
OpenShift Merge Robot 70f6cf7ffa
Merge pull request #6634 from baude/v2buildfixes
fix misc remote build issues
2020-06-17 15:36:02 -04:00
TomSweeneyRedHat fde8040faa Bump Buildah to v1.15.0
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2020-06-17 15:32:22 -04:00
OpenShift Merge Robot fd184fa4a1
Merge pull request #6522 from mheon/unless-stopped
Add support for the unless-stopped restart policy
2020-06-17 15:25:09 -04:00
jgallucci32 585b14a9f8 Move logs functionality to separate file for APIv2
This simply moves the function for the log handler for
APIv2 to a separate file to be consistent with other parts
of the code base.

Signed-off-by: jgallucci32 <john.gallucci.iv@gmail.com>
2020-06-17 11:48:53 -07:00
OpenShift Merge Robot 5694104c24
Merge pull request #6644 from jgallucci32/revert-log-follow
Revert #6591 to fix issue with failed tests
2020-06-17 14:40:05 -04:00
OpenShift Merge Robot d97b5b04aa
Merge pull request #6630 from ashley-cui/master
Show Anon, GID, UID in v2 volumes
2020-06-17 20:25:18 +02:00
OpenShift Merge Robot 96b4421723
Merge pull request #6641 from vrothberg/harden-units
generate systemd: `ExecStopPost` for all units
2020-06-17 20:19:33 +02:00
OpenShift Merge Robot 6645e0d6f3
Merge pull request #6648 from vrothberg/vendor-image
vendor github.com/containers/image/v5@v5.5.1
2020-06-17 20:16:44 +02:00
Valentin Rothberg e5c3432944 generate systemd: `ExecStopPost` for all units
Add an `ExecStopPost` run even for units generated without `--new`.
Although it may seem redundant to run `container/pod stop` twice at
first glance, we really need the post run.  If the main PID (i.e.,
conmon) is killed, systemd will not execute `ExecStop` but only the
post one.  We made this obeservation in a customer issue and could
reproduce the behavior consistently.  Hence, the post run is needed
to properly clean up when conmon is killed and it's pretty much a
NOP in all other cases.

Credits to Ulrich Obergfell for throrough and detailed analyses,
which ultimately lead to this fix.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-06-17 18:52:44 +02:00
OpenShift Merge Robot f293606480
Merge pull request #6631 from rhatdan/hooks
Fix handling of old oci hooks
2020-06-17 18:36:04 +02:00
jgallucci32 03e99c9b40 Revert #6591 to fix issue with failed tests
Signed-off-by: jgallucci32 <john.gallucci.iv@gmail.com>
2020-06-17 08:31:09 -07:00
Valentin Rothberg ac4f4b1482 vendor github.com/containers/image/v5@v5.5.1
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-06-17 17:27:04 +02:00
Matthew Heon 6f1440a3ec Add support for the unless-stopped restart policy
We initially believed that implementing this required support for
restarting containers after reboot, but this is not the case.
The unless-stopped restart policy acts identically to the always
restart policy except in cases related to reboot (which we do not
support yet), but it does not require that support for us to
implement it.

Changes themselves are quite simple, we need a new restart policy
constant, we need to remove existing checks that block creation
of containers when unless-stopped was used, and we need to update
the manpages.

Fixes #6508

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-06-17 11:16:12 -04:00
Matthew Heon 0e171b7b33 Do not share container log driver for exec
When the container uses journald logging, we don't want to
automatically use the same driver for its exec sessions. If we do
we will pollute the journal (particularly in the case of
healthchecks) with large amounts of undesired logs. Instead,
force exec sessions logs to file for now; we can add a log-driver
flag later (we'll probably want to add a `podman logs` command
that reads exec session logs at the same time).

As part of this, add support for the new 'none' logs driver in
Conmon. It will be the default log driver for exec sessions, and
can be optionally selected for containers.

Great thanks to Joe Gooch (mrwizard@dok.org) for adding support
to Conmon for a null log driver, and wiring it in here.

Fixes #6555

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-06-17 11:11:46 -04:00
OpenShift Merge Robot 1acd2adccb
Merge pull request #6640 from edsantiago/fix_flaky_logs_test
"streaming output" logs test: fix flake
2020-06-17 17:06:16 +02:00
OpenShift Merge Robot 78ad57ebd3
Merge pull request #6636 from mheon/add_warnings
Re-add resource limit warnings to Specgen
2020-06-17 16:51:51 +02:00
OpenShift Merge Robot 200afe7a94
Merge pull request #6583 from mheon/inspect_ctr_before_img
Fix podman inspect on overlapping/missing objects
2020-06-17 16:27:15 +02:00
Brent Baude 65c3a56602 fix misc remote build issues
address problem when multiple -t were sent.  and rework remote build's tarball if a context dir is given other than ".".

Fixes: #6578
Fixes: #6577

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-06-17 09:01:43 -05:00
OpenShift Merge Robot 38391ed25f
Merge pull request #6622 from goochjj/podman_fix_init
Fix --init and --init-path
2020-06-17 15:42:30 +02:00
Ed Santiago 6d5a432c2e "streaming output" logs test: fix flake
Test has been flaking excessively. A quick look shows that
the test itself is broken, making a bad assumption.

'podman logs -f' is guaranteed to exit when a container
terminates. This does not (and should not) mean that the
container has been cleaned up. It is undefined and unsafe
to run 'podman run -n same-name-as-terminated-container'
immediately after 'podman logs' exits.

Solution: instead of 'podman run', do 'podman inspect'.
This, too, is unsafe, but we can expect to see one of
two possible conditions:

  1) command succeeds, in which case we require that
     container State.Status be "exited"; or
  2) command fails, in which case we expect "no such
     container" in error output

For full coverage we should add a small delay-check test
to (1) to ensure that the container is cleaned up after
a short amount of time. Leaving that as a TODO because
it's more than my Go skills can handle, and I want to
get this checked in ASAP to get rid of the flake hassle.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-06-17 07:04:00 -06:00
Daniel J Walsh a36bc15266
Fix handling of old oci hooks
Podman is blowing up with oci-umount hook, because
it was never rewritten to support the v1.0.0 value.

This PR adds support for the older version and cleans
up the hook handling.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-06-17 05:39:57 -04:00
OpenShift Merge Robot 4fb0f56063
Merge pull request #6638 from jwhonce/issues/6548
[CI:DOCS] Fixes #6548
2020-06-17 11:20:51 +02:00
OpenShift Merge Robot 4b2da3ed55
Merge pull request #6633 from rhatdan/VENDOR
Vendor containers/common v0.14.0
2020-06-17 08:35:04 +02:00
OpenShift Merge Robot e4e10dfc3e
Merge pull request #6635 from rhatdan/logs
Add <return> to lines returned in podman-remote logs
2020-06-17 01:14:00 +02:00
Jhon Honce 64d3508a94 [CI:DOCS] Fixes #6548
* Update swagger documentation

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-06-16 15:57:38 -07:00
Matthew Heon c51c593ff6 Re-add resource limit warnings to Specgen
These were part of Podman v1.9, but were lost in the transition
to using Specgen to create containers. Most resource limits are
checked via the sysinfo package to ensure they are safe to use
(the cgroup is mounted, kernel support is present, etc) and
removed if not safe. Further, bounds checks are performed to
ensure that values are valid.

Ensure these warnings are printed client-side when they occur.
This part is a little bit gross, as it happens in pkg/infra and
not cmd/podman, which is largely down to how we implemented
`podman run` - all the work is done in pkg/infra and it returns
only once the container has exited, and we need warnings to print
*before* the container runs. The solution here, while inelegant,
avoid the need to extensively refactor our handling of run.

Should fix blkio-limit warnings that were identified by the FCOS
test suite.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-06-16 17:32:01 -04:00
Daniel J Walsh e67dd9ffab
Add <return> to lines returen in podman-remote logs
Every line is sent back individually over the APIv2 as
logs, but we are not adding the '\n' to give us line breaks.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-06-16 17:21:43 -04:00
OpenShift Merge Robot 89630adbc4
Merge pull request #6624 from rhatdan/mount
Fix podman-remote images
2020-06-16 23:02:41 +02:00
Daniel J Walsh 713287ce36
Vendor containers/common v0.14.0
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-06-16 16:44:55 -04:00
Ashley Cui e867fe5c3e Show Anon, GID, UID in v2 volumes
Anon, GID, UID parameters previously hidden if empty in podman volume for API v2.

Signed-off-by: Ashley Cui <acui@redhat.com>
2020-06-16 15:48:53 -04:00
Matthew Heon 6589d75565 Fix podman inspect on overlapping/missing objects
This started as a small fix to `podman inspect` where a container
and image, with the same name/tag, were present, and
`podman inspect` was run on that name. `podman inspect` in 1.9
(and `docker inspect`) will give you the container; in v2.0, we
gave the image. This was an easy fix (just reorder how we check
for image/container).

Unfortunately, in the process of testing this fix, I determined
that we regressed in a different area. When you run inspect on
a number of containers, some of which do not exist,
`podman inspect` should return an array of inspect results for
the objects that exist, then print a number of errors, one for
each object that could not be found. We were bailing after the
first error, and not printing output for the containers that
succeeded. (For reference, this applied to images as well). This
required a much more substantial set of changes to properly
handle - signatures for the inspect functions in ContainerEngine
and ImageEngine, plus the implementations of these interfaces,
plus the actual inspect frontend code needed to be adjusted to
use this.

Fixes #6556

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-06-16 14:33:33 -04:00
OpenShift Merge Robot d6965da26d
Merge pull request #6616 from containers/dependabot/go_modules/github.com/containers/conmon-2.0.18incompatible
Bump github.com/containers/conmon from 2.0.17+incompatible to 2.0.18+incompatible
2020-06-16 19:40:37 +02:00
Joseph Gooch eb8bfdad3e Fix --init and --init-path
Init properly passed into specgen
Allow --init with --systemd=true but not --systemd=always.

Signed-off-by: Joseph Gooch <mrwizard@dok.org>
2020-06-16 17:37:39 +00:00
Daniel J Walsh fb4148bc41
Fix podman-remote images
Looks like we went too far with the linters.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-06-16 12:29:25 -04:00
OpenShift Merge Robot 908bc3fba3
Merge pull request #6619 from mheon/revert_systemd_varlinkchange
[CI:DOCS] Revert "Change Varlink systemd unit to use `system service`"
2020-06-16 17:29:41 +02:00
OpenShift Merge Robot 66b6697d0e
Merge pull request #6610 from jwhonce/wip/varlink
Add deprecated message to varlink command
2020-06-16 17:12:47 +02:00
Matthew Heon 20345b1ec0 Revert "Change Varlink systemd unit to use `system service`"
This reverts commit 1bc992bfc3.

We originally thought `podman varlink` was entirely removed, but
that was not true. We originally thought that
`podman system service --varlink` worked the same as
`podman varlink` but that was also not true. `system service` is
broken when used under systemd units, and `podman varlink` still
exists and works. Revert the change to `podman system service` to
fix socket-activated Varlink under systemd.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-06-16 11:09:48 -04:00
OpenShift Merge Robot 0968f25988
Merge pull request #6615 from vrothberg/auto-update-variant
auto-update: use image's arch
2020-06-16 16:08:58 +02:00
dependabot-preview[bot] 51febc510a
Bump github.com/containers/conmon
Bumps [github.com/containers/conmon](https://github.com/containers/conmon) from 2.0.17+incompatible to 2.0.18+incompatible.
- [Release notes](https://github.com/containers/conmon/releases)
- [Changelog](https://github.com/containers/conmon/blob/master/changelog.txt)
- [Commits](https://github.com/containers/conmon/compare/v2.0.17...v2.0.18)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-06-16 06:37:43 -04:00