12379 Commits

Author SHA1 Message Date
724d048234 rootless: avoid zombie process on first launch
avoid a zombie process if on the first launch Podman creates a long
living process, such as "podman system service -t 0".

The `r` variable was overriden thus causing the waitpid to fail and
not clean up the intermediate process.

Closes: https://github.com/containers/podman/issues/10575

[NO TESTS NEEDED]

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-07-29 11:07:17 +02:00
1bf7a9ed9c Merge pull request #11066 from infiniteregrets/cp-md
[CI:DOCS] Update podman-cp manpage
2021-07-28 15:50:45 +02:00
91b5472af4 Merge pull request #11065 from vrothberg/cp-cleanups
cp: consolidate and simplify
2021-07-28 15:07:27 +02:00
1176c41a60 Merge pull request #11056 from giuseppe/warning-root-no-shared
rootless: check that / is mounted as shared
2021-07-28 15:06:27 +02:00
6c5966cf3c Merge pull request #10910 from adrianreber/2021-07-12-checkpoint-restore-into-pod
Add support for checkpoint/restore into and out of pods
2021-07-28 14:48:28 +02:00
e3b0ba9283 [CI:DOCS] Update podman-cp manpage
Signed-off-by: Mehul Arora <aroram18@mcmaster.ca>
2021-07-28 17:05:06 +05:30
013267006c cp: consolidate and simplify
Consolidate and simplify code in `podman cp` a bit.  PR #11049
introduced some code duplicates that were worth tackling.

[NO TESTS NEEDED]

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-07-28 11:18:47 +02:00
67d439197e rootless: check that / is mounted as shared
if the root mount '/' is not mounted as MS_SHARED, print a
warning, otherwise new mounts that are created in the host won't be
propagated to the rootless mount namespace.

Closes: https://github.com/containers/podman/issues/10946

[NO TESTS NEEDED]

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-07-28 11:04:36 +02:00
a5de831418 Merge pull request #11049 from vrothberg/fix-7370
support container to container copy
2021-07-27 22:20:45 +02:00
22b3fe59e8 Merge pull request #11060 from containers/dependabot/go_modules/github.com/containers/storage-1.33.0
Bump github.com/containers/storage from 1.32.6 to 1.33.0
2021-07-27 22:17:45 +02:00
a6a0f6c192 Merge pull request #11061 from giuseppe/migrate-no-move-to-cgroup
command: migrate doesn't move process to cgroup
2021-07-27 20:46:46 +02:00
60b9e8c0da Added tests for out of and into pod checkpoint and restore support
Signed-off-by: Adrian Reber <areber@redhat.com>
2021-07-27 16:10:45 +02:00
eb94467780 Support checkpoint/restore with pods
This adds support to checkpoint containers out of pods and restore
container into pods.

It is only possible to restore a container into a pod if it has been
checkpointed out of pod. It is also not possible to restore a non pod
container into a pod.

The main reason this does not work is the PID namespace. If a non pod
container is being restored in a pod with a shared PID namespace, at
least one process in the restored container uses PID 1 which is already
in use by the infrastructure container. If someone tries to restore
container from a pod with a shared PID namespace without a shared PID
namespace it will also fail because the resulting PID namespace will not
have a PID 1.

Signed-off-by: Adrian Reber <areber@redhat.com>
2021-07-27 16:10:44 +02:00
3375cbb198 Vendor in go-criu v5.1.0 for Pod checkpoint/restore support
Signed-off-by: Adrian Reber <areber@redhat.com>
2021-07-27 16:10:44 +02:00
92dce3e2fe Prepare CRIU version check to work with multiple versions
The upcoming commit to support checkpointing out of Pods requires CRIU
3.16. This changes the CRIU version check to support checking for
different versions.

Signed-off-by: Adrian Reber <areber@redhat.com>
2021-07-27 16:10:44 +02:00
b090738328 Bump github.com/containers/storage from 1.32.6 to 1.33.0
Bumps [github.com/containers/storage](https://github.com/containers/storage) from 1.32.6 to 1.33.0.
- [Release notes](https://github.com/containers/storage/releases)
- [Changelog](https://github.com/containers/storage/blob/main/docs/containers-storage-changes.md)
- [Commits](https://github.com/containers/storage/compare/v1.32.6...v1.33.0)

---
updated-dependencies:
- dependency-name: github.com/containers/storage
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-27 13:46:11 +00:00
0aec93edca cp system tests: reduce number of exec's
Reduce the amount of `podman exec`s in the cp system tests.
Exec is expensive and a number of them could easily be combined
into the container command.

This cuts down the costs of running the tests by around 25 percent
on my local machine.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-07-27 15:32:23 +02:00
6fe03b25ab support container to container copy
Implement container to container copy.  Previously data could only be
copied from/to the host.

Fixes: #7370
Co-authored-by: Mehul Arora <aroram18@mcmaster.ca>
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-07-27 15:32:23 +02:00
b6c279be22 Merge pull request #11055 from vrothberg/fix-10701
exec: fix cleanup
2021-07-27 15:31:26 +02:00
27a487929e Merge pull request #11028 from containers/dependabot/go_modules/github.com/containers/image/v5-5.14.0
Bump github.com/containers/image/v5 from 5.13.2 to 5.14.0
2021-07-27 15:26:24 +02:00
508dc031c6 Merge pull request #10861 from jmguzik/until-prune-volume-cmd
Add prune until filter test for podman volume cli
2021-07-27 14:50:24 +02:00
63ef5576ed command: migrate doesn't move process to cgroup
add a new annotation for the "system migrate" command to not move the
pause process to a separate cgroup.

The operation is not needed since "system migrate" destroys the pause
process, so there won't be any process left to move to a cgroup.

[NO TESTS NEEDED]

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-07-27 14:26:23 +02:00
a0313ef92b rootless: do not overwrite err variable
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-07-27 14:26:22 +02:00
684f15edee Merge pull request #11025 from rhatdan/dockerfile
[CI:DOCS] Fix handling of shadow-utils
2021-07-27 13:58:22 +02:00
7689783ae5 exec: fix cleanup
Commit 341e6a1 made sure that all exec sessions are getting cleaned up.
But it also came with a peformance penalty.  Fix that penalty by
spawning the cleanup process to really only cleanup the exec session
without attempting to remove the container.

[NO TESTS NEEDED] since we have no means to test such performance
issues in CI.

Fixes: #10701
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-07-27 12:00:15 +02:00
d7b2f03f8a Merge pull request #10983 from vrothberg/fix-dangling
refine dangling checks
2021-07-27 10:57:21 +02:00
7fa4d2cb18 Add prune until filter test for podman volume cli
This commit follows work started in #10756. Changes made in #11015
enabled cli support for volume prune --filter until. Adding e2e test
closes #10579.

Signed-off-by: Jakub Guzik <jakubmguzik@gmail.com>
2021-07-26 22:37:45 +02:00
4f5b19c508 Merge pull request #11047 from Luap99/fix-11032
dual-stack network: fix duplicated subnet assignment
2021-07-26 16:09:21 +02:00
89853a30eb Merge pull request #11036 from caarlos0/fix-podman-manifest-push
fix: podman manifest push respect --tls-verify flag
2021-07-26 16:01:21 +02:00
8d5d5face5 dual-stack network: fix duplicated subnet assignment
Make sure podman network create reads all subnets from existing cni configs
and not only the first one.

Fixes #11032

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-07-26 14:05:33 +02:00
5473490c6e fix: podman manifest push respect --tls-verify flag
[NO TESTS NEEDED]

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2021-07-26 08:56:30 -03:00
5ef78c0bfa Merge pull request #11019 from boaz0/test_cors
Add tests to verify CORs is enabled
2021-07-26 13:56:19 +02:00
21e1c3175d Merge pull request #11044 from vrothberg/play
play kube: support capitalized pull policy
2021-07-26 12:48:20 +02:00
c197d19fe8 play kube: support capitalized pull policy
Pull policies in K8s yaml may be capitalized, so lower them before
parsing.

Fixes: bugzilla.redhat.com/show_bug.cgi?id=1985905
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-07-26 10:28:45 +02:00
1b6423e9f1 refine dangling checks
By proxy by vendoring containers/common. Previously, a "dangling" image
was an untagged image; just a described in the Docker docs. The
definition of dangling has now been refined to an untagged image without
children to be compatible with Docker.

Further update a redundant image-prune test.

Fixes: #10998
Fixes: #10832
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-07-26 09:28:17 +02:00
23a938fa26 Bump github.com/containers/image/v5 from 5.13.2 to 5.14.0
Bumps [github.com/containers/image/v5](https://github.com/containers/image) from 5.13.2 to 5.14.0.
- [Release notes](https://github.com/containers/image/releases)
- [Commits](https://github.com/containers/image/compare/v5.13.2...v5.14.0)

---
updated-dependencies:
- dependency-name: github.com/containers/image/v5
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-25 04:54:29 -04:00
1a188f6223 Add tests to verify CORS is enabled
Signed-off-by: Boaz Shuster <boaz.shuster.github@gmail.com>
2021-07-25 05:48:16 +03:00
ec5c7c1f6a Merge pull request #10895 from rhatdan/devices
Support DeviceCgroupRules to actually get added.
2021-07-24 06:09:17 -04:00
d956500743 Merge pull request #10996 from cdoern/untilLog
Implemented --until flag for Libpod's Container Logs
2021-07-24 05:56:18 -04:00
c44c298ae7 Merge pull request #11018 from vrothberg/fix-10994
import: write stdin to tmp file
2021-07-24 05:53:16 -04:00
2c9f18100f Fix handling of shadow-utils
There seems to be a bug in rpm, where it fails silently if you specify
rpm --restore --quiet shadow-utils.

rpm --restore shadow-utils 2> /dev/null

Does the right thing.

[NO TESTS NEEDED] Might add tests from buildah, once we have them
working correctly.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-07-24 05:45:10 -04:00
dcb5c92c0d import: write stdin to tmp file
If importing an archive via stdin write it to a temporary file such that
the temporary file can be opened multiple times later on.  Otherwise, we
may end up with an empty image.

Also fix a bug in the URL parsing code; we need to check whether there's
actually a scheme.

Add system tests for `podman import` exercising the basics.

Fixes: #10994
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-07-23 10:21:37 +02:00
2f79497aba Merge pull request #11027 from edsantiago/bats
Networking test: fix silent breakage
2021-07-23 04:15:14 -04:00
8f9d33b7f7 Networking test: fix silent breakage
Wow did I screw up. #10982 introduced (at my suggestion) a
new wait_for_port() helper, with the goal of eliminating a
race condition. It didn't work.

First: wait_for_port() tests by connecting to the port, which
is a Bad Idea when you have a one-shot server that exits upon
the first connection closing. We should've caught that, but:

Second: I wrote wait_for_port() for a non-BATS test framework,
and used the conventional file descriptor 3. BATS uses fd3
for internal control. Overriding that made the test silently
just disappear, no "not ok" message, no warnings, nothing
except vanishing into the ether.

Third: this was caught by my log-colorizer script, which
loudly yelled "WARNING: expected 234" (tests) at the
bottom of the log. Unfortunately, since this wasn't
my PR, I didn't actually look at the test logs.

Solution: we can't use wait_for_port() in the network port
test. Use wait_for_output() instead, triggering on the
'listening' message emitted by netcat in the container.

Also: fix wait_for_port() to use fd5 instead of 3. Although
no code currently uses wait_for_port() as of this PR, it's
a useful helper that we may want to keep.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-07-22 18:27:13 -06:00
e6fb92f478 Merge pull request #11013 from hshiina/cgroupsv2
[CI:DOCS] Add notes to flags not supported on cgroups V2
2021-07-22 14:36:26 -04:00
c522dc2f09 Merge pull request #11022 from xordspar0/patch-1
[CI:DOCS] Fix broken remote client link
2021-07-22 14:12:25 -04:00
365775489f Merge pull request #11015 from jmguzik/until-list-volume
Add until filter to volume ls filters list
2021-07-22 14:11:24 -04:00
0f708efd8b Implemented --until flag for libpod's container logs
compat containers/logs was missing actual usage of until query param.
This led me to implement the until param for libpod's container logs as well. Added e2e tests.

Signed-off-by: cdoern <cdoern@redhat.com>
2021-07-22 10:56:56 -04:00
9c659b3bc9 docs: fix broken remote client link
Signed-off-by: Jordan Christiansen <jordan.christiansen@target.com>
2021-07-22 08:48:11 -05:00
2d8e837a9b Add until filter to volume ls filters list
As a conclusion of a discussion in #10861, until filter is added
by this commit to volume ls filters.

Signed-off-by: Jakub Guzik <jakubmguzik@gmail.com>
2021-07-22 00:01:07 +02:00