8426 Commits

Author SHA1 Message Date
5460ea87d4 Bump to v2.0.0-rc7
Signed-off-by: Matthew Heon <mheon@redhat.com>
v2.0.0-rc7
2020-06-17 16:56:53 -04:00
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
30c0fc9f12 Makefile: install.varlink needs to create dirs
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2020-06-17 15:58:11 -04:00
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
70f6cf7ffa Merge pull request #6634 from baude/v2buildfixes
fix misc remote build issues
2020-06-17 15:36:02 -04:00
fde8040faa Bump Buildah to v1.15.0
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2020-06-17 15:32:22 -04:00
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
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
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
d97b5b04aa Merge pull request #6630 from ashley-cui/master
Show Anon, GID, UID in v2 volumes
2020-06-17 20:25:18 +02:00
96b4421723 Merge pull request #6641 from vrothberg/harden-units
generate systemd: `ExecStopPost` for all units
2020-06-17 20:19:33 +02:00
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
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
f293606480 Merge pull request #6631 from rhatdan/hooks
Fix handling of old oci hooks
2020-06-17 18:36:04 +02:00
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
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
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
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
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
78ad57ebd3 Merge pull request #6636 from mheon/add_warnings
Re-add resource limit warnings to Specgen
2020-06-17 16:51:51 +02:00
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
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
38391ed25f Merge pull request #6622 from goochjj/podman_fix_init
Fix --init and --init-path
2020-06-17 15:42:30 +02:00
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
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
4fb0f56063 Merge pull request #6638 from jwhonce/issues/6548
[CI:DOCS] Fixes #6548
2020-06-17 11:20:51 +02:00
4b2da3ed55 Merge pull request #6633 from rhatdan/VENDOR
Vendor containers/common v0.14.0
2020-06-17 08:35:04 +02:00
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
64d3508a94 [CI:DOCS] Fixes #6548
* Update swagger documentation

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-06-16 15:57:38 -07:00
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
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
89630adbc4 Merge pull request #6624 from rhatdan/mount
Fix podman-remote images
2020-06-16 23:02:41 +02:00
713287ce36 Vendor containers/common v0.14.0
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-06-16 16:44:55 -04:00
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
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
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
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
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
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
66b6697d0e Merge pull request #6610 from jwhonce/wip/varlink
Add deprecated message to varlink command
2020-06-16 17:12:47 +02:00
20345b1ec0 Revert "Change Varlink systemd unit to use system service"
This reverts commit 1bc992bfc3a983b4d9ab53f778a545d83bcde94d.

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
0968f25988 Merge pull request #6615 from vrothberg/auto-update-variant
auto-update: use image's arch
2020-06-16 16:08:58 +02:00
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
e0dd227912 Merge pull request #6605 from ypu/apiv2-pods
APIv2 tests: Add some tests for podman pods
2020-06-16 05:26:07 -04:00
af3c4d88b4 handlers/compat: fix lint error
Fix a lint error of an used parameter.  The error must have sneaked in
with a PR that was merged after the recent linter enablement.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-06-16 11:11:53 +02:00
2a565f49c2 auto-update: use image's arch
Use the architecture of the local image when looking for a new image on
a registry.  It seems to be common practice on ARM to tweak the
architecture choice to pull the correct image.

Fixes: #6613
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-06-16 10:52:13 +02:00
d072de6efc APIv2 tests: Add some tests for podman pods
Add some tests for podman pods subcommand:
  restart
  rm
  start
  stas
  stop
  top
  unpause

Signed-off-by: Yiqiao Pu <ypu@redhat.com>
2020-06-16 11:53:48 +08:00
2e22e18afb Add deprecated message to varlink command
* Remove varlink references from the man pages
* Fix signature for extractTarFile()

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-06-15 11:41:57 -07:00
2c7b39ddb8 Merge pull request #6589 from rhatdan/attach
Handle errors on attach properly
2020-06-15 14:11:00 -04:00
8a42a32c71 Merge pull request #6591 from jgallucci32/patch-1
Merged request to fix -f to stop following logs
2020-06-15 13:57:13 -04:00