19008 Commits

Author SHA1 Message Date
ae5cbf37cf Fix documentation of --network-cmd-path CLI option
The `--network-cmd-path` CLI option only affects rootless networks using `slirp4netns(1)`, not `pasta(1)`.  Following #18568 Podman should rather use the more generic `r.config.FindHelperBinary()` method (and therefore honour the `helper_binaries_dir` config) to find the path to the `slirp4netns` binary and deprecate the misleading `--network-cmd-path` CLI option.  However, since this wasn't implemented yet we can't deprecate `--network-cmd-path` as of now.  Adding a note anyway.

Fixes #18560

Signed-off-by: Daniel Rudolf <github.com@daniel-rudolf.de>
2023-05-15 17:47:40 +02:00
71853319fd Skip rhel-release branch unnecessary CI tasks
RHEL release-branches potentially need to be maintained for a very long
time.  Improve reliability and CI-speed by skipping tasks which are not
needed for RHEL.  For example, there will (likely) never be RHEL
releases of the MacOS or Windows versions of podman-remote.  Also,
relocate the `win_installer_task` in the config. to better reflect it's
sequence among CI tasks.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-05-15 11:35:27 -04:00
ab29ff2f66 test/e2e: dedup Before/AfterEach nodes
There is no reason to define the same code every time in each file, just
use global nodes. This diff should speak for itself.

CleanupSecrets()/Volume() no longer call Cleanup() directly, as the
global AfterEach node will always call Cleanup() this is no longer
necessary. If one AfterEach() node fails it will still run the others.

Also always unset the CONTAINERS_CONF env vars. This prevents people
from forgetting to unset it. And fix the special CONTAINERS_CONF logic
in the system connection tests, we do not want to preserve
CONTAINERS_CONF anyway so just remove this logic.

Ginkgo orders the BeforeEach and AfterEach nodes. They will be executed
from the outer-most defined to inner-most. This means our global
BeforeEach is always first. Only then the inner one (in the Describe()
function in each file). For AfterEach it is inverted, from the inner to
the outer.
Also see https://onsi.github.io/ginkgo/#organizing-specs-with-container-nodes

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-05-15 16:56:18 +02:00
d01ae436ee remote-save: fix permissions and dir formats
Make sure that the directory formats are not just substituted with their
archive counterparts but actually tar'ed up directories.  Also make sure
that the clients don't get chown errors by setting rootless user and
group ID instead of O when running in the user namespace.

Fixes: #15897
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-05-15 15:30:57 +02:00
5a176f09c2 Set machine docker.sock according to rootful flag
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2023-05-14 23:56:15 -05:00
493aac69e0 Merge pull request #18535 from rhatdan/mount
Fix handling of .containenv on tmpfs
2023-05-14 07:03:32 -04:00
d989c63751 Merge pull request #18542 from mheon/remove_image_annotations
Do not include image annotations when building spec
2023-05-13 06:04:35 -04:00
13f787842d Fix handling of .containenv on tmpfs
Fixes: https://github.com/containers/podman/issues/18531

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-05-13 06:03:21 -04:00
2783651005 Merge pull request #18481 from tony84727/fix/initctr-restart-policy-overridden
fix: initContainer restart policy overridden by pod
2023-05-12 09:09:21 -04:00
2c0f404826 Do not include image annotations when building spec
These annotations can have security implications - crun, for
example, allows rootless containers to preserve the user's groups
through an annotation. We absolutely should not include
annotations from an untrusted image off the internet by default.

We may consider whitelisting some annotations (e.g. the legacy
WASM annotations), but given that there is now a more explicit
way of specifying an image uses the WASM runtime in the OCI image
spec, I'm just tearing this out entirely for now.

Signed-off-by: Matt Heon <mheon@redhat.com>
2023-05-11 23:48:23 -04:00
189b09d82e Merge pull request #18331 from TomSweeneyRedHat/dev/tsweeney/hooked
Add file switch for pre-exec hooks
2023-05-11 19:34:30 -04:00
dd5d22cb32 build(deps): bump github.com/docker/distribution
Bumps [github.com/docker/distribution](https://github.com/docker/distribution) from 2.8.1+incompatible to 2.8.2+incompatible.
- [Release notes](https://github.com/docker/distribution/releases)
- [Commits](https://github.com/docker/distribution/compare/v2.8.1...v2.8.2)

---
updated-dependencies:
- dependency-name: github.com/docker/distribution
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-11 20:46:08 +00:00
20b15f07ed Merge pull request #18538 from ygalblum/play-multiple-configmaps
Kube Play - Support multi-doc YAML files for configmap argument
2023-05-11 08:25:37 -04:00
26f1e95ab4 Kube Play - Support multi-doc YAML files for configmap argument
Read the entire YAML file in case of a multi-doc file
Adjust the unit test
Add a system test
Add comment in the man page

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2023-05-11 13:13:08 +03:00
50db10623c Merge pull request #18536 from edsantiago/instrument_systests_for_unlinkat
system tests: instrument, to try to catch unlinkat-ebusy
2023-05-11 04:42:27 -04:00
c33ba70f95 system tests: instrument, to try to catch unlinkat-ebusy
Several tweaks to see if we can track down #17216, the unlinkat-ebusy
flake:

 - teardown(): if a cleanup command fails, display it and its
   output to the debug channel. This should never happen, but
   it can and does (see #18180, dependent containers). We
   need to know about it.

 - selinux tests: use unique pod names. This should help when
   scanning journal logs.

 - many tests: add "-f -t0" to "pod rm"

And, several unrelated changes caught by accident:
 - images-commit-with-comment test: was leaving a stray image
   behind. Clean it up, and make a few more readability tweaks

 - podman-remote-group-add test: add an explicit skip()
   when not remote. (Otherwise, test passes cleanly on
   podman local, which is misleading)

 - lots of container cleanup and/or adding "--rm" to run commands,
   to avoid leaving stray containers

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-05-10 14:53:11 -06:00
d7f9ef253a Merge pull request #18532 from vrothberg/template
[CI:DOCS] issue template: mention `su`
2023-05-10 16:10:48 -04:00
6f7c9465b7 Merge pull request #18528 from mtrmac/rekor-bloat
Update sigstore/rekor after https://github.com/sigstore/rekor/pull/1469
2023-05-10 14:55:31 -04:00
74a5b92b3a test: check restart policy of init containers
make the sure restart policy is "no" for init containers created by
`podman kube play`

Signed-off-by: Tony Duan <tony.duan@gapp.nthu.edu.tw>
2023-05-10 23:23:07 +08:00
3aa6a792e6 Update sigstore/rekor after https://github.com/sigstore/rekor/pull/1469
> go get github.com/sigstore/rekor@ad288b385a44bc45d328627679988e2c99cd5e0f
> make vendor

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2023-05-10 16:55:27 +02:00
5bf82d6ece Merge pull request #18518 from Luap99/e2e
[CI:DOCS] test: update README for integration tests
2023-05-10 09:34:40 -04:00
ad7d034025 Merge pull request #18533 from edsantiago/fix_logtest_flake
e2e: logs test: fix flakes
2023-05-10 08:28:38 -04:00
04707f62d6 issue template: mention su
Mention that using `su` does not establish a proper login session
required for running rootless Podman.  It is a common and reoccurring
issue.  Mentioning that in the issue template may guide users into
resolving the issue before opening an issue.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-05-10 14:27:35 +02:00
14001ad48a e2e: logs test: fix flakes
Yet another case of missing podman-wait. In these two, I see
no reason to run containers detached, so I just removed "-d"

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-05-10 04:53:44 -06:00
c307aeba37 Merge pull request #18506 from nalind/so-much-diffsize
libpod/Container.rootFsSize(): use recorded image sizes
2023-05-10 06:08:12 -04:00
3c781c4cda Merge pull request #18517 from edsantiago/quadlet_timeout
system tests: timeoutize quadlet, systemd
2023-05-10 06:03:03 -04:00
7a5daa0df3 Merge pull request #18492 from daw1012345/main
Ensure the consistent setting of the HOME env variable on container start
2023-05-10 05:34:02 -04:00
c4e648faf4 Merge pull request #18529 from containers/renovate/github.com-containernetworking-plugins-1.x
fix(deps): update module github.com/containernetworking/plugins to v1.3.0
2023-05-10 04:26:10 -04:00
f8da6f0599 Merge pull request #18527 from edsantiago/wait_for_systemd_activate
e2e: stop podman.service test: wait for server
2023-05-10 04:09:20 -04:00
f05d32b38f Merge pull request #18526 from edsantiago/logformatter_handle_machine
logformatter: handle podman-machine test logs
2023-05-10 04:01:31 -04:00
b62ebde436 Merge pull request #18524 from cevich/disable_dependabot
[CI:DOCS] Disable Dependabot in favor of Renovate
2023-05-10 03:14:47 -04:00
ca2a0dec82 Merge pull request #18525 from containers/renovate/golang.org-x-tools-0.x
fix(deps): update module golang.org/x/tools to v0.9.1
2023-05-10 03:12:09 -04:00
6b329d8c9e fix(deps): update module github.com/containernetworking/plugins to v1.3.0
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-05-10 01:09:01 +00:00
ff37615bfd e2e: stop podman.service test: wait for server
Another low-hanging fruit: test flake because podman-remote
trying to contact a server that hadn't come up.

Fixes: #17940

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-05-09 14:34:47 -06:00
cb8e19677f logformatter: handle podman-machine test logs
With -p, ginkgo emits timing information on the first line
after dashes. Without -p, it's at the end.

Most tests use -p. Podman-machine does not. Deal with that.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-05-09 11:08:59 -06:00
58fd879596 fix(deps): update module golang.org/x/tools to v0.9.1
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-05-09 16:56:11 +00:00
2d8929d95d [CI:DOCS] Disable Dependabot in favor of Renovate
Fixes: #18139

Removing the Dependabot configuration file is a required prerequisite to
stopping it from opening update PRs.  Once this commit is merged, the
`Dependabot security updates` repo. setting may also be disabled.  Note:
The `Dependabot alerts` setting should remain enabled, this provides
security-data to renovate for opening important vulnerability fix PRs.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-05-09 12:45:52 -04:00
287a4193e7 Merge pull request #18520 from ygalblum/quadlet-test-notify
Quadlet system tests - fix socket notification
2023-05-09 12:09:14 -04:00
6613e50c10 Merge pull request #18519 from vrothberg/fix-18356
sqlite: disable WAL mode
2023-05-09 11:48:33 -04:00
dc01ce8768 Merge pull request #18515 from vrothberg/fix-18486
quadlet: support `HostName`
2023-05-09 11:21:28 -04:00
01e20818cc Ensure the consistent setting of the HOME env variable on container start
Signed-off-by: Dawid Kulikowski <git@dawidkulikowski.pl>
2023-05-09 16:34:28 +02:00
8aaa13accb Quadlet system tests - fix socket notification
In some tests use Notify=yes while in others remove the notification

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2023-05-09 17:27:47 +03:00
1fb3cdf8a8 sqlite: disable WAL mode
As shown in #17831, WAL mode plays a role in causing `database is locked`
errors.  Those are errors, in theory, should not happen as the DB should
busy wait.  mattn/go-sqlite3/issues/274 has some comments indicating
that the busy handler behaves differently in WAL mode which may be an
explanation to the error.

For now, let's disable WAL mode and only re-enable it when we have
clearer understanding of what's going on.  The upstream issue along with
the SQLite documentation do not give me the clear guidance that I would
need.

[NO NEW TESTS NEEDED] - flake is only reproducible in CI.

Fixes: #18356
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-05-09 15:54:26 +02:00
d24bec0d03 system tests: timeoutize quadlet, systemd
Run $QUADLET and all systemctl/journalctl commands using 'timeout'.
Nothing should ever, ever take more than the default 2 minutes.

Followup to #18514, in which quadlet tests are found to be
taking 9-10 minutes.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-05-09 07:46:12 -06:00
3d6894426c test: update README for integration tests
- document env vars that can be used
- list up to date dependencies
- remove unnecessary GOPATH mention, no longer needed with gomodules
- use make targets to tests everything (much faster due `-p` option)
- remove tests in container section as make shell is not a valid target

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-05-09 15:45:43 +02:00
c400cc7ead libpod/Container.rootFsSize(): use recorded image sizes
In rootFsSize(), instead of calculating the size of the diff for every
layer of the container's base image, ask the storage library for the sum
of the values it recorded when it first wrote those layers.

In a similar fashion, teach rwSize() to use the library's
ContainerSize() method instead of trying to roll its own.

Replace calls to pkg/util.SizeOfPath() with calls to
github.com/containers/storage/pkg/directory.Size(), which does the same
thing.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2023-05-09 09:33:37 -04:00
d49a537b8f Merge pull request #18513 from edsantiago/wait_wait
e2e: fix race in a play-kube test
2023-05-09 09:08:53 -04:00
1a78a4e16f Merge pull request #18489 from bachradsusi/quadlets-precedence
Fix preference of user quadlets directories
2023-05-09 08:29:42 -04:00
b97be3406b quadlet: support HostName
Add a new `HostName` field to Quadlet `.container` files.

Fixes: #18486
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-05-09 13:35:54 +02:00
9dc107e749 e2e: fix race in a play-kube test
Yet another case where tests expect play-kube to be synchronous.
There are probably dozens more of these.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-05-09 05:19:05 -06:00