12545 Commits

Author SHA1 Message Date
2f9bd63c9d Merge pull request #11267 from mheon/fix_11214
Volumes: Only remove from DB if plugin removal succeeds
2021-08-18 19:45:10 -04:00
92fcf91533 Merge pull request #11258 from containers/dependabot/go_modules/github.com/rootless-containers/rootlesskit-0.14.5
Bump github.com/rootless-containers/rootlesskit from 0.14.4 to 0.14.5
2021-08-18 16:47:53 -04:00
fa206e11ca Merge pull request #11180 from baude/buildplaykube
Add ability to build images in play kube
2021-08-18 15:06:19 -04:00
4ec2270790 Merge pull request #10829 from cevich/update_images
Update images
2021-08-18 14:41:15 -04:00
592fae4225 Volumes: Only remove from DB if plugin removal succeeds
Originally, Podman would unconditionally remove volumes from the
DB, even if they failed to be removed from the volume plugin;
this was a safety measure to ensure that `volume rm` can always
remove a volume from the database, even if the plugin is
misbehaving.

However, this is a significant deivation from Docker, which
refuses to remove if the plugin errors. These errors can be
legitimate configuration issues which the user should address
before the volume is removed, so Podman should also use this
behaviour.

Fixes #11214

Signed-off-by: Matthew Heon <mheon@redhat.com>
2021-08-18 14:19:11 -04:00
9dd088e555 Cirrus: Confirm CGv1 / CGv2 VM expectations
Signed-off-by: Chris Evich <cevich@redhat.com>
2021-08-18 12:04:07 -04:00
5c837fe5b0 Skip stats test in CGv1 container environments
These tests were originally enabled in a situation where CI provided
false-positive results.  Now that has been corrected, these tests all
fail under a CGv1 container environment with the error:

```
Error: unable to load cgroup at
/machine.slice/libpod-e4f...086.scope/libpod_parent/libpod-fbd...425:
cgroup deleted
```

This commit simply disables the tests under this specific environment.

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-08-18 12:04:06 -04:00
dc70382886 Fix AVC denials in tests of volume mounts
This becomes a problem on hosts with upgraded policies.  Ref:
https://github.com/containers/podman/issues/10522

Also, made a small change to compose-test setup to reduce runtime.

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-08-18 12:04:06 -04:00
77f665200b Restore buildah-bud test requiring new images
Ref:
https://github.com/containers/podman/pull/10829#issuecomment-881355983

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-08-18 12:04:06 -04:00
14f3658dad Revert ".cirrus.yml: use fresh images for all VMs"
This reverts commit 404d5edb1557e3d2cb255d38bd89274586c4c100.

The replacement (updated) images include a fix for:
https://github.com/containers/common/issues/631

Also minor update to an unrelated FIXME comment.

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-08-18 12:04:04 -04:00
cd40c875ac Add ability to build images in play kube
When playing a kube YAML file, it can be desirable to be able to build
an image on the fly.  This is good for development of an image and YAML
files and somewhat mocks what compose does.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2021-08-18 09:55:24 -05:00
f0247df89d Bump github.com/rootless-containers/rootlesskit from 0.14.4 to 0.14.5
Bumps [github.com/rootless-containers/rootlesskit](https://github.com/rootless-containers/rootlesskit) from 0.14.4 to 0.14.5.
- [Release notes](https://github.com/rootless-containers/rootlesskit/releases)
- [Commits](https://github.com/rootless-containers/rootlesskit/compare/v0.14.4...v0.14.5)

---
updated-dependencies:
- dependency-name: github.com/rootless-containers/rootlesskit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-18 12:25:27 +00:00
a3d8b48fd5 Merge pull request #11212 from flouthoc/check-valid-systemd-session
cgroup-manager-systemd: Warn early if user is rootless and no relevent user session is present.
2021-08-17 21:12:51 +00:00
d7f0d1f17c Merge pull request #11252 from cevich/remove_todo
Cirrus: Resolve two upgrade-test FIXMEs
2021-08-17 21:08:48 +00:00
856f1a2124 Merge pull request #11192 from ashley-cui/darwinwarn3
[NO TESTS NEEDED] Change connection error to be helpful for machine users
2021-08-17 19:46:04 +00:00
a7a55ea7fb Merge pull request #11231 from flouthoc/move-volume-dest-to-server
volume: move validating volume dest from client to server.
2021-08-17 19:05:42 +00:00
bfc9362614 Cirrus: Resolve two upgrade-test FIXMEs
I attempted to run the tests in a loop (one VM) but it fails with:

```
not ok 8 exec
 (from function `is' in file test/upgrade/../system/helpers.bash, line
474,
   in test file test/upgrade/test-upgrade.bats, line 222)
    `is "$output" "$RANDOM_STRING_1" "exec into myrunningcontainer"'
failed
   /var/tmp/go/src/github.com/containers/podman/bin/podman exec
myrunningcontainer cat /var/www/index.txt
  time="2021-08-17T13:34:21-05:00" level=warning msg="Failed to add
conmon to systemd sandbox cgroup: Invalid unit name '/libpod_parent'"
  uagHtpYnA47bkz3
   /vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
   |     FAIL: exec into myrunningcontainer
   | expected: 'uagHtpYnA47bkz3'
   |   actual: 'time="2021-08-17T13:34:21-05:00" level=warning
msg="Failed to add conmon to systemd sandbox cgroup: Invalid unit name
'/libpod_parent'"'
   |         > 'uagHtpYnA47bkz3'
   \^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
```

Since the current implementation doesn't reproduce this error, the
change isn't worth the cost of debugging/fixing.  OTOH, making the job
only run from the daily cirrus-cron builds is a simple change.

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-08-17 15:05:29 -04:00
7abc8d40d0 Merge pull request #11244 from containers/dependabot/go_modules/github.com/containers/storage-1.34.1
Bump github.com/containers/storage from 1.34.0 to 1.34.1
2021-08-17 18:59:03 +00:00
1f632f3572 fix: unifiedOverlays should be assigned if no conflicts found.
[NO TESTS NEEDED]

Signed-off-by: flouthoc <flouthoc.git@gmail.com>
2021-08-17 20:53:32 +05:30
edf9ec38e4 Merge pull request #11224 from xatier/master
Add space trimming check in ValidateSysctls
2021-08-17 13:38:19 +00:00
de4d7b2f7c Merge pull request #11240 from vrothberg/art
make sure that signal buffers are sufficiently big
2021-08-17 13:14:22 +00:00
e9f4d81790 Bump github.com/containers/storage from 1.34.0 to 1.34.1
Bumps [github.com/containers/storage](https://github.com/containers/storage) from 1.34.0 to 1.34.1.
- [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.34.0...v1.34.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-17 12:21:23 +00:00
e7ee15f8c3 cgroup-manager-systemd:Fail early if user:rootless and relevent session is not present.
[NO TESTS NEEDED]

Signed-off-by: flouthoc <flouthoc.git@gmail.com>
2021-08-17 16:18:54 +05:30
3cee85531c libpod/option.go remove error stutter from wrap/wraf
[NO TESTS NEEDED]
Signed-off-by: flouthoc <flouthoc.git@gmail.com>
2021-08-17 16:14:02 +05:30
fe2be7f886 make sure that signal buffers are sufficiently big
Dealing with os.Signal channels seems more like an art than science
since signals may get lost.  os.Notify doesn't block on an unbuffered
channel, so users are expected to know what they're doing or hope for
the best.

In the recent past, I've seen a number of flakes and BZs on non-amd64
architectures where I was under the impression that signals may got
lost, for instance, during stop and exec.

[NO TESTS NEEDED] since this is art.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-08-17 12:10:20 +02:00
8c228bdbd0 Merge pull request #11154 from cdoern/imagesPull
Libpod images pull changes
2021-08-16 15:46:33 +00:00
26b1dddda7 Merge pull request #11169 from cevich/enable_docker_py_testing
Enable docker-py compat. testing w/ ignored result
2021-08-16 15:04:54 +00:00
41fb06a251 Merge pull request #11195 from Luap99/xdg-root
rootful: unset XDG_RUNTIME_DIR
2021-08-16 12:51:14 +00:00
9ee9d4a072 Merge pull request #11230 from Luap99/rootless-dns
Fix rootless cni dns without systemd stub resolver
2021-08-16 12:47:13 +00:00
f985699460 volume: move validating volume dest from client to server.
[NO TESTS NEEDED]

Signed-off-by: flouthoc <flouthoc.git@gmail.com>
2021-08-16 16:36:39 +05:30
91e21bed48 rootful: unset XDG_RUNTIME_DIR
Depending how the user logs in to the root account, XDG_RUNTIME_DIR is
set to /run/user/0 or it is unset. For conmon we already set it always
to an empty string. The inconsistency is causing issues for the dnsname
plugin. To fix it unset XDG_RUNTIME_DIR for the podman process.

[NO TESTS NEEDED]

Fixes #10806
Fixes #10745

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-08-16 11:47:20 +02:00
a38d7530db Merge pull request #11228 from mlegenovic/main
Fixed healthcheck default values when container created via compat API
2021-08-16 09:35:58 +00:00
2a8c414488 Fix rootless cni dns without systemd stub resolver
When a host uses systemd-resolved but not the resolved stub resolver the
following symlinks are created: `/etc/resolv.conf` ->
`/run/systemd/resolve/stub-resolv.conf` -> `/run/systemd/resolve/resolv.conf`.
Because the code uses filepath.EvalSymlinks we put the new resolv.conf
to `/run/systemd/resolve/resolv.conf` but the `/run/systemd/resolve/stub-resolv.conf`
link does not exists in the mount ns.
To fix this we will walk the symlinks manually until we reach the first
one under `/run` and use this for the resolv.conf file destination.

This fixes a regression which was introduced in e73d4829900c.

Fixes #11222

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-08-16 11:30:11 +02:00
5592ac9e23 Merge pull request #11219 from baude/oneshottoonce
rename oneshot initcontainers to once
2021-08-15 11:02:36 +00:00
257d5e8a73 Fixed healthcheck default values when container created via compat API
Fixes #11225

Signed-off-by: Milivoje Legenovic <m.legenovic@gmail.com>
2021-08-14 13:10:28 +02:00
d997564342 Add space trimming check in ValidateSysctls
This is to catch invalid sysctl configs with extra spacing.

See
https://github.com/containers/common/issues/723#issuecomment-897395506

Signed-off-by: xatier <xatierlike@gmail.com>
2021-08-13 15:24:06 -05:00
bef26f2582 rename oneshot initcontainers to once
after the init containers pr merged, it was suggested to use `once`
instead of `oneshot` containers as it is more aligned with other
terminiology used similarily.

[NO TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2021-08-12 12:57:15 -05:00
94886d4aba Merge pull request #11206 from baude/gvproxynewpath
Set gvproxy path to /usr/libexec/podman/gvproxy
2021-08-12 15:39:51 +00:00
9fc9465630 Set gvproxy path to /usr/libexec/podman/gvproxy
We have reverted the previous patches to look for the gvproxy binary in
/usr/lib/podman and have again decided to use /usr/libexec/podman

[NO TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2021-08-12 09:11:09 -05:00
de043a5a02 Merge pull request #11203 from rhatdan/codespell
Run codespell to fix spelling
2021-08-12 07:22:48 +00:00
25ff04dcbe Merge pull request #11167 from jwhonce/issues/11012
For compatibility, ignore Content-Type
2021-08-12 01:45:47 +00:00
d594046410 Merge pull request #11190 from cevich/docs_update
[CI:DOCS] Fix multi-arch image docs
2021-08-11 21:10:29 +00:00
5a32946d61 For compatibility, ignore Content-Type
Endpoint /build logs an info entry when a client uses the wrong
Content-Type for build payload. Given Content-Type is ignored and
assumed to be "application/x-tar".

Endpoint /libpod/build will fail unless "application/x-tar" or
"application/tar" is given for Content-Type. "application/tar" will
be logged as an info entry.

Fixes #11012

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2021-08-11 13:50:51 -07:00
404488a087 Run codespell to fix spelling
[NO TESTS NEEDED] Just fixing spelling.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-08-11 16:41:45 -04:00
7e5a9fdbc0 Merge pull request #11164 from cevich/enhance_priv_dev_test
Enhance priv. dev. check
2021-08-11 19:41:25 +00:00
643178c1ec Revert "Use static path for gvproxy"
This reverts commit 4acc1d685066faa1dc102532ba76a81d3ec6bdc0.

[NO TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2021-08-11 14:39:00 -05:00
73a755eecb Fix device tests using ls test files
The `ls` command is not intended for this purpose and may behave in
unexpected ways, leading to false positive or negative results.  Update
the tests to use the purpose built `test` command instead.

Also added several *TODO* comments for possible future testing
enhancements.

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-08-11 13:07:00 -04:00
d0e3b3c3a9 Enhance priv. dev. check
Update test to confirm the negative-case, proving the `--privileged`
"option is required" for this character device to be present in a
container (including rootless).

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-08-11 13:07:00 -04:00
cfbbc38a5b Workaround host availability of /dev/kvm
This test has been failing for a long time but nobody noticed because CI
doesn't have the device node (nested-VM support was disabled).  After
having enabled nested VM support, tests fail due to some unknown
special-handling of this device.

Fix both problems by removing the `skip()` and switching to a more generic
device which is only present when `--privileged` is used.

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-08-11 13:07:00 -04:00
2e3ba9cd99 Change connection error to be helpful for machine users
If a podman-remote connection fails, remind the user to check their
linux system and podman machine vm

Signed-off-by: Ashley Cui <acui@redhat.com>
2021-08-11 09:07:24 -04:00