Commit graph

26363 commits

Author SHA1 Message Date
Paul Holzinger
a406485aef
test/system: fix "stop container when healthcheck runs" flake
This is a long standing flake but I see it again in the lima CI, the
problem seems to happen when we stop the container before the background
healthcheck fires.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit 90ba6562d5)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-04 17:53:12 +02:00
Paul Holzinger
6d157d08c4
test/system: fix "podman stop - unlock while waiting for timeout"
In highly parallel runs this can fail its timeout due the fact that we
run podman ps -a which takes all contianer locks, even the ones from
unrelated tests. thus this command can take a long time, from a CI log I
see:
[18:22:30.932958589] # /var/tmp/podman/bin/podman  ps -a
[18:22:34.338904713] CONTAINER ID  IMAGE

So like a 4s delay just on that and hence the test later failed with
"Operations took too long" as it took 7 seconds overall.

So since we know podman inspect takes the lock just keep that and not
try to get all containers for no reason.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit 34137c40f6)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-04 17:53:12 +02:00
Paul Holzinger
1561b9b9b7
test/e2e: fix static port assignment
This seems to flake in the parallel CI runs as another process might
also use 8080 already.

We can use any port here so use GetPort() which should give us a
conflict free one.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit 472c53b122)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-04 17:53:12 +02:00
Paul Holzinger
7457537b30
test/system: skip one new pasta flake
I saw this already in openQA and now with the new rawhide images we hit
it in upstream as well. Skip this for now to not cause so many flakes.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit 0dbe00d272)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-04 17:53:12 +02:00
Paul Holzinger
59e6a27236
test/e2e: fix some duplciated network subnets
This is really not nice but it is a quick fix to avoid more flakes.

The 10.11.12.0/24 was used by several tests and podman will only allow
the network to be created once with a given subnet so we need to ensure
they are conflict free, otherwise in parallel runs they will fail
randomly.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit 97d0279e94)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-04 17:53:11 +02:00
Paul Holzinger
c1b5268d44
test/e2e: skip "podman run --shm-size-systemd" as root
The container prints "Failed to set RLIMIT_CORE: Operation not permitted"
I do not know why this fails when run with sudo but lets just skip it it
for now.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit 07e257e7f6)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-04 17:53:11 +02:00
Paul Holzinger
df5c24982a
test/e2e: skip "sshd and API services required"
The test assumes a local id_ed25519 ssh key exists and is setup to
connect to its own user. That is basically never the case locally so the
test is broken by design.

If the test should run in some special CI setup where that is the case
we need to enable it and guard based on that later.

For now I just like to get the lima VM tests passing.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit 1de60ebf7b)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-04 17:53:11 +02:00
Paul Holzinger
b075a84897
test/system: fix "add username to /etc/passwd if --userns=keep-id"
The test assumed /home/$USER == $HOME which may not be the case. In fact
it is not the case in the new lima VM runners.

Fix the test to actually use the path we want to test for, $HOME.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit 39ee9baf66)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-04 17:53:11 +02:00
Paul Holzinger
a3506d4365
test/system: skip "IPv6 default address assignment"
It is not working in all ipv6 setups. In the new lima testing env
default_addr is just null causing the test to fail because the container
address was "fec0::5055:55ff:fe2b:6cc9".

For now skip this until we can figure something better out.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit 9aca6010ee)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-04 17:53:10 +02:00
Paul Holzinger
08de490d1a
Merge pull request #28622 from Luap99/v5.8
[v5.8] test/system: fix quadlet - rootfs on kernel 7.1
2026-05-08 17:23:30 +02:00
Paul Holzinger
53c9a7f77a
test/system: fix quadlet - rootfs on kernel 7.1
As found in fedora openQA testing on the kernel update this test fails
due a selinux denial.

The kernel now correctly checks the backing fs selinux context in all
cases. See kernel commit 82544d36b172 (selinux: fix overlayfs mmap()
and mprotect() access checks).

The test tries to access another container so the selinux level will
be different from the quadlet roofs container and therefore fail to
access the files.

To fix this we should be able to just use the regular image mount which
has a level all containers can access. The comment that this is not
parallel safe is untrue, mounts are reference counted so this should not
get unmounted all of the sudden by another test.

In fact we have another  --rootfs test case where we do this and it
passed in openQA, see "podman run - check workdir".

Fixes: #28602

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit 12d40777f0)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-30 12:54:01 +02:00
Matt Heon
d400de1078
Merge pull request #28615 from baude/58gomodulemove
[v5.8] Cite go module change
2026-04-29 15:19:47 -04:00
Brent Baude
2c2f1328b7
Cite go module change
The go module for podman is changing and we want a deprecation notice in
the 5.8 branch.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2026-04-29 12:55:14 -05:00
Paul Holzinger
88c5aaeec6
Merge pull request #28510 from podmanbot/bump-5.8.3-dev
Bump Podman to v5.8.3-dev
2026-04-15 12:01:24 +02:00
Paul Holzinger
28d04eeb8e
Merge pull request #28512 from l0rd/install-wix-version-5-cp
[v5.8] Install WiX v5.0.2 to build the Windows installer
2026-04-14 19:33:21 +02:00
Mario Loriedo
78da75528f Install WiX v5.0.2 to build the Windows installer
To avoid failures such as

https://github.com/containers/podman/actions/runs/24401569105/job/71274410909#step:10:78

use version v5.0.2 of WiX as we do in CI images:

fe80516848/win_images/win_packaging.ps1 (L27)

Related to issue https://github.com/containers/podman/issues/27042

Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
(cherry picked from commit 53fc1d902e)
2026-04-14 18:51:33 +02:00
mheon
7a47175665 Bump Podman to v5.8.3-dev
Signed-off-by: mheon <7735048+mheon@users.noreply.github.com>
2026-04-14 13:26:25 +00:00
Brent Baude
84e3443b6e
Merge pull request #28501 from mheon/bump_582
Bump to v5.8.2
2026-04-14 08:24:29 -05:00
Matt Heon
5b263b5f5b
Bump to v5.8.2
Signed-off-by: Matt Heon <mheon@redhat.com>
2026-04-13 18:06:58 -04:00
Matt Heon
884cd28228 Release notes for v5.8.2
Signed-off-by: Matt Heon <mheon@redhat.com>
2026-04-13 18:06:38 -04:00
Paul Holzinger
eeb4c6bf51
Merge commit from fork
[v5.8] hyperV: fix powershell path escape
2026-04-13 19:20:23 +02:00
Paul Holzinger
6cffe93d88
hyperV: fix powershell path escape
To avoid special chars from being interpreted.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit 571c842bd3)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-13 19:06:26 +02:00
Paul Holzinger
825eed6357
Merge pull request #28475 from Luap99/v5.8-backports
[v5.8] some bugfix backports
2026-04-10 16:46:14 +02:00
Paul Holzinger
f13de01b6d
cirrus: bump linux machine aarch64 test timeout
Bump the timeout to 60 minutes. We already bumped to 40 minutes a while
ago in commit 623cb5f but it seems this is not enough.

The x86_64 test needs only 25 minutes so I am confused why aarch64 got
so much slower, they used to be around the same time.
Of course our tests should not take that long so we really need to
figure out what is actually causing this slow down.

Looking at logs a test that boots and stops a VM takes 30s on x86_64
while it takes 50s on aarch64.
However at the same time the aarch64 test on the macs with libkrun and
applehv are quite fast (15-17m) so it seems unlikely to me that it is
something inside the aarch64 machine image that causes but rather
related to the host side.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit 938d677ad9)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-09 15:08:07 +02:00
Mario Loriedo
d1cf366b0f
Remove iptables references in upgrade tests
Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
(cherry picked from commit aa5361ac53)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-09 15:01:57 +02:00
Paul Holzinger
add385e31c
bindings: artifact extract reject invalid names
The server already does validate this so this is not strictly needed and
the client must trust the server no matter what.

But adding an extra check here does not hurt and may help prevent future
bugs.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit 12bec19426)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-09 14:23:52 +02:00
Paul Holzinger
a49ad4be81
use chrootarchive over plain archive package
Just as additional hardening.

Note chrootarchive does not work on macos/windows, in that case it still
falls back to the regular pkg/archive.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit 25aee24cbd)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-09 14:23:52 +02:00
Paul Holzinger
92cd24903f
fix symlink handling in checkpoint restore
Under normal circumstances this is not a problem as the archive file
created podman container checkpoint will no create symlinks.
However if a user passes a custom archive they could contain symlinks
that point outside our root. To resolve them within the root use
securejoin.

Note this is not a security problem because the full archive must be
trusted by a user to begin with as it contain the full container config.

Fixes: #27977

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit abb5120624)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-09 14:23:52 +02:00
Paul Holzinger
0fa3043415
add missing O_CLOEXEC to open calls
The go std os package to will always make sure to use O_CLOEXEC, however
in cases where we directly call unix.Open() we need to pass that flag
explicitly.

I looked at this as there was a report of a leaked fd on the pasta list,
though I am not sure this will address it.

But anyway doing this should be rather safe and avoid leaks into other
processes.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit d20933df02)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-09 14:23:52 +02:00
Jan Rodák
9c262736e4
Fix Quadlet Lookup() stripping unmatched quotes
Fixes: https://github.com/containers/podman/issues/28409

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
(cherry picked from commit cf6404f387)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-09 14:23:52 +02:00
Joe Doss
75820ddac5
Add e2e test for shell driver DriverOpts cross-contamination fix
Verify that creating a secret with driver=shell and no --driver-opts
does not inherit the file driver's default path option. Before the fix,
this produced "invalid shell driver option"; after, it correctly fails
with "missing config value" for unconfigured shell commands.

Signed-off-by: Joe Doss <joe@solidadmin.com>
(cherry picked from commit 8b905613b5)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-09 14:23:51 +02:00
Joe Doss
e9fe245626
Fix shell driver DriverOpts cross-contamination in secret creation
When creating a secret with driver=shell via the API, the file driver's
default DriverOpts (including path) were applied because DriverOpts was
empty. The shell driver rejects path as an unknown option, making it
impossible to create shell-driver secrets via the REST API or
podman-remote.

Only apply default DriverOpts from config when the requested driver
matches the configured default driver.

Signed-off-by: Joe Doss <joe@solidadmin.com>
(cherry picked from commit 667f55c2ce)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-09 14:23:51 +02:00
crawfordxx
7250b06e25
libpod: fix data race on deferredErr in attachExecHTTP
ExecContainerHTTP returns attachChan to its caller before attachExecHTTP
finishes. The caller's deferred close(holdConnOpen) can therefore fire
while attachExecHTTP is still running (including its own deferred
cleanups), which races with the goroutine inside attachExecHTTP that
reads deferredErr after <-holdConnOpen unblocks.

Fix this by introducing an errCh channel: deferred functions write
deferredErr into it, and the goroutine reads from it after
<-holdConnOpen unblocks, ensuring the read happens-after all writes to
the named return value.

Fixes: #28277
Signed-off-by: crawfordxx <crawfordxx@users.noreply.github.com>
(cherry picked from commit 497185c14b)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-09 14:23:51 +02:00
Jan Rodák
51b5c59310
Consolidate build secret tests and assert no podman-build-secret leak
Signed-off-by: Jan Rodák <hony.com@seznam.cz>
(cherry picked from commit 765ffb9a2e)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-09 14:23:51 +02:00
Jan Rodák
15a2a7d605
Remote build: nTar secrets with relative paths and ignore bypass
When `podman-remote` tars the context, extra `podman-build-secret*` paths were
either dropped by `.dockerignore` (#25314) or archived as absolute paths so
`COPY . .` pulled host-shaped trees into the image (#28334).

Use relative names under the primary context for extra sources and do not apply
`.dockerignore` to those forced entries.

Fixes: https://github.com/containers/podman/issues/25314
Fixes: https://github.com/containers/podman/issues/28334

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
(cherry picked from commit e18bb9ea8b)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-09 14:23:51 +02:00
crawfordxx
e5fe3fdf69
api: fix missing return after error in SystemCheck handler
In the SystemCheck HTTP handler, when parsing the
unreferenced_layer_max_age query parameter fails, the error response is
sent but execution continues to `unreferencedLayerMaximumAge = &duration`
where `duration` is the zero value. This causes the system check to run
with a zero duration instead of returning the 400 error to the client.

Add the missing `return` after the error response.

Fixes #28350

Signed-off-by: crawfordxx <crawfordxx@users.noreply.github.com>
(cherry picked from commit 29d80a26af)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-09 14:23:51 +02:00
Ricardo Branco
c91cd99291
test: relax rootless runc pid namespace assertion
runc may or may not issue a warning here.

https://github.com/opencontainers/runc/issues/4732

Signed-off-by: Ricardo Branco <rbranco@suse.de>
(cherry picked from commit b77531879b)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-09 14:23:50 +02:00
Paul Holzinger
26047f43b5
New images 2026-03-19
From https://github.com/containers/automation_images/pull/438

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit f2bc5b86de)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-09 14:23:50 +02:00
Paul Holzinger
d49a9208bd
cirrus: ensure NOTIFY_SOCKET is properly unset for all tests
Podman uses this env toi do various things, we don't want the external
env to affect our tests here.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit 7e3caaed84)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-09 14:22:29 +02:00
Tim Zhou
1a9ae9dcba
update fedoral base image to 43 and related tests
Signed-off-by: Tim Zhou <tizhou@redhat.com>
(cherry picked from commit 5d79adbd6a)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-09 14:21:13 +02:00
Tim Zhou
759df25a88
new image sfx for debian 14
Signed-off-by: Tim Zhou <tizhou@redhat.com>
(cherry picked from commit 98c398b666)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-09 14:20:47 +02:00
Paul Holzinger
d79d0cb534
Merge pull request #28471 from TomSweeneyRedHat/dev/tsweeney/buildah-1.43.1-podman-5.8
[v5.8] Bump Buildah to 1.43.1, c/common v0.67.1, c/image v5.39.2
2026-04-09 14:01:40 +02:00
Doug Rabson
28a39dd1ba
libpod: Don't dereference ctrSpec.Linux if it is nil
This prevents a nil pointer crash when running network=host containers
on a FreeBSD host using podman-remote.

Fixes: #28289
Signed-off-by: Doug Rabson <dfr@rabson.org>
(cherry picked from commit 9a10cefd18)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-09 13:41:53 +02:00
umut-polat
7f37fbd6af
quadlet: allow empty Entrypoint to clear image default
Setting Entrypoint= (empty value) in a quadlet .container file should
produce --entrypoint "" in the generated podman command, which clears
the image's default entrypoint. Previously this was silently ignored
because lookupAndAddString skips empty values.

Move the Entrypoint key out of the generic stringKeys map and handle
it separately so that an empty value is passed through.

Closes #28213

Signed-off-by: umut-polat <52835619+umut-polat@users.noreply.github.com>
(cherry picked from commit 926f562bd5)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-09 13:41:52 +02:00
Tom Sweeney
24fd9eb605 [v5.8] Bump Buildah to 1.43.1, c/common v0.67.1, c/image v5.39.2
As the title says.  Bump:

Buildah to v1.43.1
c/common to v0.67.1
c/image to v5.39.2

Signed-off-by: Tom Sweeney <tsweeney@redhat.com>
2026-04-08 15:38:44 -04:00
Paul Holzinger
1a39a54dc4
Merge pull request #28457 from lsm5/v5.8-go-jose-update
[v5.8] bump go-jose/go-jose to v4.1.4
2026-04-08 20:35:50 +02:00
Lokesh Mandvekar
42ac589e4d
bump go-jose/go-jose to v4.1.4
Ref: https://github.com/containers/podman/pull/28443

Fixes: CVE-2026-34986

Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2026-04-07 15:45:28 -04:00
Matt Heon
b97310e2a9
Merge pull request #28328 from TomSweeneyRedHat/dev/tsweeney/0day-rhel-129405-v5.8
[v5.8] Fix `unless-stopped` containers not restarting after ...
2026-03-24 09:57:32 -04:00
Jan Rodák
fcc6ae217c [v5.8] Fix unless-stopped containers not restarting after ...
`podman-restart.service` stop them

When `podman-restart.service` stops containers, it marks them as "stopped by
user" which breaks the `unless-stopped` restart policy. Add hidden
`--not-stopped-by-user` flag to prevent this, allowing `unless-stopped`
containers to restart on next boot.

Fixes: https://github.com/containers/podman/issues/28152
Fixes: https://issues.redhat.com/browse/RUN-4357

Cherry pick fixes: https://redhat.atlassian.net/browse/RHEL-157746, https://redhat.atlassian.net/browse/RHEL-157747

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
(cherry picked from commit 7326b862e3)
Signed-off-by: Tom Sweeney <tsweeney@redhat.com>
2026-03-19 19:40:30 -04:00
Paul Holzinger
21071ebb13
Merge pull request #28254 from podmanbot/bump-5.8.2-dev
Bump Podman to v5.8.2-dev
2026-03-16 13:11:20 +01:00