Commit Graph
7878 Commits
Author SHA1 Message Date
Jan Rodák 6394caebcd Merge pull request #29417 from sahilnyk/quadlet-umask
quadlet: add Umask= key to set container umask without PodmanArgs
2026-08-11 14:05:30 +02:00
Giuseppe Scrivano 49e4020add Merge pull request #29446 from Atishyy27/fix-tagoutputtomap-panic-v2
test/utils: handle empty image output
2026-08-11 12:22:15 +02:00
Giuseppe Scrivano 36e2d12650 Merge pull request #27988 from vmsh0/idmappings_defaults
set up default IDMappings when none are set and userns=auto
2026-08-11 09:00:11 +02:00
Atishay Jain f8b6c23caa test/utils: handle empty image output
Handle empty image output before skipping the header row in tagOutputToMap. This prevents a slice bounds panic when imagesOutput is empty and adds coverage for the empty-output case.

Signed-off-by: Atishay Jain <sethatishayjain@gmail.com>
2026-08-11 03:19:13 +05:30
Matt Heon 2ded88e563 Merge pull request #29302 from prayag0one4/fix-testvol-mount-check
testvol: return error in Path endpoint when volume is unmounted
2026-08-10 13:03:22 -04:00
Riccardo Paolo Bestetti 86d1507130 set up default IDMappings when none are set and userns=auto
Signed-off-by: Riccardo Paolo Bestetti <pbl@bestov.io>
2026-08-10 17:52:03 +02:00
Riccardo Paolo Bestetti 020e02d4a6 return usernsmode=private for created containers with userns=auto
Signed-off-by: Riccardo Paolo Bestetti <pbl@bestov.io>
2026-08-10 14:30:43 +02:00
Salih Muhammed aec2f54ec6 quadlet: expand %N specifier in the Pod key
The Pod key of a .container unit accepts systemd specifiers, but handlePod
looked the referenced pod up in the units map using the raw value, so
"Pod=%N.pod" failed with "quadlet pod unit %N.pod does not exist" instead
of resolving to the pod named after the container's service.

Expand %N to the container's service name before the lookup, matching the
existing handling in GetContainerResourceName. Since %N is the service
name, setting ServiceName= lets the container and pod unit files use
different names.

Add e2e cases for both combinations: a pod named after the container
file, and a pod named after a ServiceName that differs from the file
name.

Fixes: #29108
Signed-off-by: Salih Muhammed <root@lr0.org>
2026-08-09 04:23:53 -04:00
Paul Holzinger a5c3046135 test/e2e: update quay.io/libpod/volume-plugin-test-img
Use a new image I build which is also multi-arch so we can remove the
test skip.

Fixes: #28270

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-08-07 15:42:44 +02:00
Paul Holzinger e3b0409e5d test/testvol: fix build
Building without go modules fails as we use different import paths now.
But also there is no reason to to use GO111MODULE=off anymore so just
remove it to make the build work.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-08-07 15:30:56 +02:00
Prayag bf8feb87c1 testvol: return error in Path endpoint when volume is unmounted
Check if volume has active mounts in Path() endpoint and return an error if unmounted, resolving TODO.

Signed-off-by: Prayag <rajprayag014@gmail.com>
2026-08-07 15:17:46 +02:00
Matt Heon 55c2d1c490 Merge pull request #25161 from danishprakash/empty-ignore-file
build: pass ignore file to buildah to consider empty ignore files
2026-08-07 07:57:30 -04:00
Sahil NayakandTom Sweeney bda5521804 quadlet: add Umask= key to set container umask without PodmanArgs
Fixes: #25278

Co-authored-by: Tom Sweeney <tsweeney@redhat.com>
Signed-off-by: Sahil Nayak <contactsahilpnayak@gmail.com>
2026-08-07 16:17:35 +05:30
Matt Heon 0ad5459fab Merge pull request #29145 from ROKUMATE/feat-playkube-warn-unknown-keys
podman kube play: add --validate=ignore|warn|strict flag
2026-08-06 18:21:03 -04:00
Danish Prakash a411828811 Merge pull request #29380 from ricardobranco777/criu_tcp
test/e2e: accept RESTORE in checkpoint tcp error match
2026-08-06 11:05:31 +05:30
ROKUMATE 0d09e609e4 add validate flag to podman kube play
ignore warn and strict modes for unknown yaml fields and kinds
ignore is the default and skips them warn reports them strict fails
warnings are returned in the play report so they show up in the cli and over the api for tools like podman desktop

Closes #18332

Signed-off-by: ROKUMATE <rohitkumawat0110@gmail.com>
2026-08-05 17:42:40 +05:30
Brent Baude 80bf6e6a10 Merge pull request #29227 from ashley-cui/dnsnames
Add dnsnames field & fix alias field
2026-08-04 08:49:33 -05:00
Ashley Cui d05eddd683 Add dnsnames field & fix alias field
Docker now reserves alias specfically for user-defined aliases, and uses another field, dnsnames, to hold all aliases, including container ID and name.
Part of docker v1.45 compat work, but this touches the cli too, since they updated it there too.

Signed-off-by: Ashley Cui <acui@redhat.com>
2026-08-03 16:19:14 -04:00
Ricardo Branco 8555cffd1f test/e2e: skip tcp-close restore test on non-crun runtimes
runc doesn't support --tcp-close, so this test always failed there
once the flag hit the runtime. Skip it entirely for non-crun since
since --tcp-established already covers runc above.

Signed-off-by: Ricardo Branco <rbranco@suse.de>
2026-08-03 15:49:44 +02:00
Ricardo Branco e421a366f5 test/e2e/healthcheck: skip ignore-result test on non-amd64
The badhealthcheck image is available only on amd64.

Skip the test on non-amd64 hosts.

Signed-off-by: Ricardo Branco <rbranco@suse.de>
2026-08-03 15:10:35 +02:00
Ricardo Branco b93e731c51 test/e2e: accept RESTORE in checkpoint tcp error match
Both the tcp-established and tcp-close checkpoint/restore tests expect
a restore rejected due to an established TCP connection to fail with
"runc: criu failed: type NOTIFY errno 0". criu's RPC server actually
reports this failure as type RESTORE, not NOTIFY. Widen the regex in
both tests to accept RESTORE while still tolerating NOTIFY.

Signed-off-by: Ricardo Branco <rbranco@suse.de>
2026-08-03 14:40:03 +02:00
Lokesh Mandvekar 30234265b2 Merge pull request #29242 from Honny1/pesto-addtional-tests
Add pesto port forwarding with source IP preservation
2026-07-29 10:29:40 -04:00
Paul Holzinger 956e77bc39 Merge pull request #29316 from podman-container-tools/renovate/github.com-go-swagger-go-swagger-0.x
Update module github.com/go-swagger/go-swagger to v0.35.3
2026-07-29 11:30:19 +02:00
Tushar Verma 505dfc2e1b test/system: drop the conmon pid debugging
The echo and ls were added to help debug #7580, which was closed in
November 2020. The readlink check right below them is the actual
assertion and it prints the pid on failure anyway.

Signed-off-by: Tushar Verma <tusharmyself06@gmail.com>
2026-07-28 23:34:09 +05:30
Tushar Verma 75c07f5949 test/system: drop the metacopy instrumentation
The comment asks for this to be removed once #15488 is fixed. That was
closed in December 2022. I grepped four recent system test job logs and
the warning does not appear in any of them.

It sits in run_podman so it ran on every podman call, and it writes to
fd 3 which means the output shows up even when the test passes.

Signed-off-by: Tushar Verma <tusharmyself06@gmail.com>
2026-07-28 23:34:09 +05:30
Paul Holzinger aab2abf646 test/buildah-bud: update buildah diff
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-07-28 18:29:59 +02:00
Jan Rodák dc5c3b0c55 Skip pesto IPv6 forwarding tests pending pasta release
pasta's IPv6 local-mode forwarding requires an unreleased upstream
patch. Skip the affected E2E tests until the fix ships in a pasta
release.

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-07-28 18:29:59 +02:00
Jan Rodák 99274534ca Add pesto port forwarding tests for IPv6 and multi-IP routing
Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2026-07-28 18:29:59 +02:00
renovate[bot] 64cad97fe3 Update module github.com/go-swagger/go-swagger to v0.35.3
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-28 09:38:19 +00:00
Danish Prakash e31bb4d170 Merge pull request #29306 from vtushar06/fix-rfc1918-subnet
test/system: fix random_rfc1918_subnet operator precedence
2026-07-28 09:38:21 +05:30
Tushar Verma 7880bc24b2 test/system: fix random_rfc1918_subnet operator precedence
In bash arithmetic + binds tighter than &, so

    16 + $RANDOM & 15

is (16 + RANDOM) & 15, which gives 0..15. The helper has been handing
out 172.0.x through 172.15.x, which is not in 172.16/12 at all, since
9e3363c5e swapped % 16 for & 15.

subnet_in_use() only checks whether a subnet collides with a host route,
not whether it is private, so nothing caught it.

Add a regression test to helpers.t. It fails on the old expression
(saw 0..15) and passes on the new one (saw 16..31).

Signed-off-by: Tushar Verma <tusharmyself06@gmail.com>
2026-07-27 14:42:50 +05:30
Satwik Sai Prakash Sahoo 6d057f585a test: fix cgroups=split flake by adding Delegate=yes to scope
The cgroups=split e2e test wraps podman in systemd-run --scope but does not request cgroup delegation. Without Delegate=yes, systemd does not guarantee that controllers like pids are written to cgroup.subtree_control for child cgroups. Whether they appear depends on the systemd session state at that moment, causing flaky crun failures when it tries to use unavailable controllers.

Fixes: #28944
Signed-off-by: Satwik Sai Prakash Sahoo <sahoospsatwik@gmail.com>
2026-07-26 12:44:16 +05:30
Paul Holzinger e36e1a41c6 Merge pull request #28809 from podman-container-tools/renovate/github.com-go-swagger-go-swagger-0.x
Update module github.com/go-swagger/go-swagger to v0.35.0
2026-07-24 17:58:43 +02:00
Paul Holzinger cc8c07d72b Merge pull request #29230 from i-OmSharma/fix-kube-generate-selinux-note
fix(kube): gate SELinux volume warning note on host SELinux state
2026-07-24 14:07:32 +02:00
Tom Sweeney 0f5cd32096 Merge pull request #29260 from jiwahn/fix-init-failure-rollback
libpod: cleanup after failed container init
2026-07-23 11:31:09 -04:00
Jiwoo Ahn f85047302c libpod: cleanup after failed container init
Fixes: #26143

Signed-off-by: Jiwoo Ahn <ikwydls1314@gmail.com>
2026-07-23 22:42:14 +09:00
Danish Prakash f4b1f46cd6 Merge pull request #29254 from Honny1/rm-duplicate-test
Remove duplicate memAvailable sanity check
2026-07-23 13:55:01 +05:30
Danish Prakash 94a98b18cb Merge pull request #29033 from mvanhorn/docs/28947-document-hack-ci-lima
docs: document hack/ci/ci.sh lima workflow in test/README.md
2026-07-23 09:22:10 +05:30
Matt Van Horn ad09a77141 docs(test): document hack/ci/ci.sh lima workflow
Add a copy-paste-friendly section to test/README.md covering how to run
the hack/ci/ci.sh workflow under Lima, including templatized ci.sh usage,
so contributors can reproduce the CI environment locally. Drop the
contradictory machine bullet.

Fixes #28947

Signed-off-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
2026-07-22 16:03:48 -07:00
Jan Rodák 832d3ea247 Remove duplicate memAvailable sanity check
Already covered by test/e2e/info_test.go.

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2026-07-22 13:30:50 +02:00
Paul Holzinger d79cff0799 test/e2e: do not assume /etc/containers/policy.json
With the new config work we expect policy.json to be shipped under
/usr/share/containers/policy.json. However the CI VMs and local users
might still have it in /etc so instead of assuming any host path lets
just create our own files for the --signature-policy tests.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-07-22 12:40:02 +02:00
i-OmSharma cfd3a3f7ba kube generate: gate SELinux volume NOTE on host state and rootless
The SELinux volume-permissions NOTE only applies to unprivileged,
rootless containers on an SELinux-enabled host. Emit it only when
both conditions hold, instead of on every volume-bearing object.

Add an e2e case generating from a standalone container with a volume,
asserting the NOTE appears only when rootless and SELinux is enabled.

Fixes: #17743
Signed-off-by: i-OmSharma <sharmaom1201@gmail.com>
2026-07-22 14:21:01 +05:30
Jan Rodák c0fb461475 Merge pull request #29237 from gastoner/add-memavailable-support
feat(info): add memAvailable to host info
2026-07-22 10:15:52 +02:00
Evzen GastaandClaude Sonnet 5 a19b696de1 feat(info): add memAvailable to host info
Expose MemAvailable alongside MemFree/MemTotal in `podman info` host
section, sourced from libpod/define/info.go's MemInfo.

Fixes: #29116 https://github.com/podman-container-tools/podman/issues/29116

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Evzen Gasta <evzen.ml@seznam.cz>

test(info): add coverage for host.memAvailable

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Evzen Gasta <evzen.ml@seznam.cz>
2026-07-22 08:41:59 +02:00
Jan Rodák f2ad52c492 Merge pull request #28713 from simek-m/test/api-chunked-pullprogress
test: Add API test for partial pull with pullProgress flag
2026-07-21 16:24:50 +02:00
zjuzhongwen 2c8a7acbeb chore: fix some comments to improve readability
Signed-off-by: zjuzhongwen <zjuzhongwen@outlook.com>
2026-07-19 22:18:33 +08:00
Danish Prakash 41a8ccf5a3 Merge pull request #29209 from Prachi-Gupta2808/fix-28940-nproc-ulimit-flake
test system: increase nproc ulimit value to avoid flake
2026-07-17 15:39:47 +05:30
Prachi Gupta 74d18c7572 test system: increase nproc ulimit to avoid flake
RLIMIT_NPROC is enforced per user namespace, not per container. On
remote with rootless, leaked conmon exec-session processes (which
sleep ~300s) can push the process count in the shared user namespace
high enough that a low nproc ulimit like 512 causes crun to fail with
'clone: Resource temporarily unavailable'. Bump the test value to
10000, with a comment explaining why, so it isn't quietly lowered
again.

Verified locally with:
hack/bats --rootless 280:"podman update - set ulimits"

Fixes: #28940
Signed-off-by: Prachi Gupta <prachig2808@gmail.com>
2026-07-17 03:44:48 +00:00
Giuseppe Scrivano 760ce081a6 Merge pull request #29192 from Luap99/flakes
three flakes fixes for system tests
2026-07-15 13:42:21 +02:00
Jan Rodák bb4695870e Merge pull request #28984 from stefan8/test/apiv2-manifest-create-images-query
test: add apiv2 coverage for the manifest-create images query param
2026-07-15 13:10:40 +02:00