Commit Graph

2054 Commits

Author SHA1 Message Date
Ricardo Branco
2d5f5395c2 test/system: Fix 260-sdnotify being silently skipped
PODMAN_CMD is uninitialized until basic_setup() runs, causing
podman_runtime() to invoke an empty command and fall back to [null].

Call basic_setup() before the runtime check to ensure PODMAN_CMD is
populated before use.

Signed-off-by: Ricardo Branco <rbranco@suse.de>
2026-04-05 16:43:40 +02:00
Himanshu Jaiswal
04935fe867 Add a Status filter to podman quadlet list
Adds --filter status=<value> support to podman quadlet list.
Also adds shell completion for the status filter values.

Signed-off-by: Himanshu Jaiswal <himanshu.bw5@gmail.com>
2026-03-28 12:05:46 +00:00
Ricardo Branco
b77531879b 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>
2026-03-21 21:43:37 +01:00
Miloslav Trmač
85d9999c45 Merge pull request #28194 from Luap99/storage-conf
vendor container-libs with storage.conf rework
2026-03-20 14:03:53 +01:00
Danish Prakash
9565002257 feat: add support for changing default host IPs via containers.conf
Add support for `default_host_ips` in containers.conf to set default
host IP(s) if no IP is set when forwarding ports. Multiple IPs can be
configured, and passing explicit IP with -p will always override
the configured defaults.

Signed-off-by: Danish Prakash <contact@danishpraka.sh>
2026-03-20 13:54:48 +05:30
Paul Holzinger
6be50cbb38 test/system: fix empty default test
We no longer generate a warning for an empty driver in storage.conf so
remove that.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-03-19 21:49:20 +01:00
Paul Holzinger
46502be750 Merge pull request #28234 from Honny1/add-format-for-scp
Add `--format` to `podman image scp`
2026-03-19 19:50:16 +01:00
Paul Holzinger
5d7bc4e947 Merge pull request #28323 from giuseppe/detect-stale-pause-process
rootless: detect and remove stale pause.pid with recycled PIDs
2026-03-19 18:33:53 +01:00
Jan Rodák
da3c4aa21a Add --format to image scp
Add --format (oci-archive, docker-archive) to pass through to podman save.
Default is unchanged (no --format) so podman save uses its own default.
Document that scp is not storage-to-storage and only archive formats
are supported.

Fixes: https://github.com/containers/podman/issues/28183
Fixes: https://issues.redhat.com/browse/RUN-4403

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2026-03-19 17:42:33 +01:00
Giuseppe Scrivano
a2db18f35c rootless: detect and remove stale pause.pid with recycled PIDs
When a pause process dies and its PID gets recycled by an unrelated
process, the stale pause.pid file causes join failures.  Detect this
by checking /proc/<pid>/environ for _PODMAN_PAUSE=1 after a failed
join attempt.

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

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2026-03-19 14:46:29 +01:00
Jan Rodák
d887a8146a Fix creating unnamed volumes as anonymous
Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2026-03-19 13:40:47 +01:00
Jan Rodák
339acf880c volume prune: match Docker default and add --all
Fixes: https://github.com/containers/podman/issues/24597
Fixes: https://issues.redhat.com/browse/RUN-4404

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2026-03-19 13:40:45 +01:00
Matt Heon
5a40e02c81 Merge pull request #27980 from amyssnippet/fix/27977
fix(quadlet): correct replace behavior and prevent duplicates in .app files
2026-03-18 14:24:38 -04:00
Bruce Fan
ffeb0d103b Improve OOMKilled visibility in podman events and in podman inspect docs
Signed-off-by: Bruce Fan <brucexfan@gmail.com>
2026-03-11 10:15:56 -05:00
Matt Heon
aefdaf317d Merge pull request #28170 from StaticRocket/bugfix/quadlet-list
fix(cmd/podman/quadlet): Behave like container ls
2026-03-03 13:03:07 -05:00
Randolph Sapp
33a36bd56b fix(cmd/podman/quadlet): Behave like container ls
Quadlet list always reports the heading, even when using custom
formatting strings. This doesn't follow the behavior of other podman
list commands. Borrow some logic and the "--noheading" flag from the
container list command to make this behavior uniform.

Signed-off-by: Randolph Sapp <rs@ti.com>
2026-03-03 10:04:37 -06:00
Amol Yadav
a38a9b7d20 fix(quadlet): fix race condition, duplicates, and permissions
Signed-off-by: Amol Yadav <amyssnipet@yahoo.com>
2026-03-03 10:01:44 +05:30
Kir Kolyshkin
2ab78a8d82 test/system: fix some teardown error logging
Statement

	for line in "${lines[*]}"

does not make sense since line will be a single value consisting of
all elements of lines array, space-separated.

It should be

	for line in "${lines[@]}"

if we want to iterate through each value.

Fixes: 00292ae1c4 ("systests: test instrumentation")
Fixes: c33ba70f95 ("system tests: instrument, to try to catch unlinkat-ebusy")
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2026-03-02 12:58:27 -08:00
Ricardo Branco
960165b8c5 test/system: fix pod inspect ordering test leak
Add missing cleanup.

Signed-off-by: Ricardo Branco <rbranco@suse.de>
2026-02-24 22:46:08 +01:00
Ricardo Branco
476ca11994 test: Use yq for yaml2json when available
Signed-off-by: Ricardo Branco <rbranco@suse.de>
2026-02-22 11:29:27 +01:00
Ashley Cui
6cabddb091 Merge pull request #28097 from m-horky/mhorky/quadlet-ls
feat(cmd/podman/quadlet): Add 'ls' as 'list' alias
2026-02-16 12:08:22 -05:00
mhorky
901ac1b416 feat(cmd/podman/quadlet): Add 'ls' as 'list' alias
All other commands support 'ls' for itemized listing.

Signed-off-by: mhorky <mhorky@redhat.com>
Assisted-By: Claude Code
2026-02-16 14:02:56 +01:00
Paul Holzinger
0778bdaffe podman info: remove storage.conf path
Given the new config file logic will read many files pritning one
specific one here has no meaning anymore, just delete it.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-02-16 13:47:56 +01:00
Paul Holzinger
89b646d8a3 Merge pull request #27946 from kairosci/fix/27747-artifact-volume-validation
libpod: move artifact volume validation to creation phase
2026-02-12 20:22:32 +01:00
Alessio Attilio
df0e3b6ec7 libpod: validate artifact volume on create
Fixes: #27747
Signed-off-by: Alessio Attilio <attilio.alessio@protonmail.com>
2026-02-12 18:24:16 +01:00
Šimon Brauner
9727a43f5a Added setting UID and GID for volumes in quadlet
Related: https://issues.redhat.com/browse/RHEL-145863

Signed-off-by: Šimon Brauner <sbrauner@redhat.com>
2026-02-11 18:16:30 +01:00
Patrick Wicki
2828965a75 healthcheck_linux: avoid failing transient units
The main purpose of the transient services/timers is to trigger the
healthcheck execution in regular intervals, their own state should
not depend on the result of the healthchecks. This way there are no
failing systemd services unless there is actually a fatal error.

Signed-off-by: Patrick Wicki <patrick.wicki@siemens.com>
2026-02-09 19:52:29 +01:00
Patrick Wicki
3856389fc9 podman-healthcheck-run: add --ignore-result flag
This is useful for triggering the execution of a healthcheck
without caring about it's result as long as no fatal error occured.

Signed-off-by: Patrick Wicki <patrick.wicki@siemens.com>
2026-02-09 19:52:29 +01:00
Paul Holzinger
246a4acde1 test/system: update module error messages
With the config file rewrite we now get other error messages so fix the
tests.

Also note the shell completion test is skipped for now as the logic to
get the directories is not yet exposed in container-libs. I enable that
later.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-02-05 15:53:08 +01:00
Paul Holzinger
ff7406b733 Merge pull request #27927 from kairosci/fix/27823-host-gateway-localhost
fix: use localhost for host.containers.internal in host network mode
2026-02-03 20:08:43 +01:00
Alessio Attilio
fae93fe483 fix: use localhost for host.containers.internal in host network mode
Signed-off-by: Alessio Attilio <attilio.alessio@protonmail.com>
2026-02-03 18:00:51 +01:00
Brent Baude
40b2a585f9 Autocomplete machine fixes
Fixups for autocomplete for machine commands.  This was authored by Paul
Holzinger.

Thank you very much!

Signed-off-by: Brent Baude <bbaude@redhat.com>
2026-02-02 15:19:37 -06:00
Lokesh Mandvekar
858cb58c90 Remove CNI-specific test cases
Remove test cases that only tested CNI-specific functionality:
- Remove "podman --cni-config-dir backwards compat" test
- Remove "podman CNI network create with internal should not have dnsname" test

Update CNI-specific test names to be network-backend agnostic:
- Rename "podman inspect container single CNI network" to "podman inspect container single network"
- Rename "podman inspect container two CNI networks (container not running)" to "podman inspect container two networks (container not running)"
- Rename "podman inspect container two CNI networks" to "podman inspect container two networks"
- Rename "podman run in custom CNI network with --static-ip" to "podman run in custom network with --static-ip"
- Rename "podman rootless cni adds /usr/sbin to PATH" to "podman rootless adds /usr/sbin to PATH"

Update test content to be backend-agnostic:
- Update skip reasons from "Requires root CNI networking" to "Requires root networking"
- Change --rootless-cni flag usage to --rootless-netns
- Update comments from "CNI network" to "network"
- Update comments from "iptables" to "nftables" for netavark
- Update test assertions to remove CNI-specific messaging

Remove CNI-related test documentation and comments:
- Remove commented-out CNI error messages from Python API tests
- Remove CNI network namespace error documentation from upgrade tests
- Remove CNI-related comments from BATS tests

Remove unused import of github.com/containernetworking/plugins/pkg/ns
from test/e2e/run_networking_test.go (test-only usage).

Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2026-01-27 16:32:38 +05:30
Giuseppe Scrivano
f172ff789b rootless: use nsfs file handles to persist namespaces
use name_to_handle_at and open_by_handle_at to persist rootless
namespaces without needing a pause process.

The namespace file handles are stored in a file and can be used to
rejoin the namespaces, as long as the namespaces still exist.

Fall back to the pause process approach only when the kernel doesn't
support nsfs handles (EOPNOTSUPP).

The feature is currently only enabled when the PODMAN_NO_PAUSE_PROCESS
environment variable is set.

These changes in the kernel are required (landed in Linux 6.18):

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3ab378cfa793

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2026-01-20 18:41:59 +01:00
Matt Heon
cb67dafd36 Merge pull request #26445 from aaron-ang/update-ulimit
Add ulimits to `podman update`
2026-01-16 08:38:00 -05:00
Brent Baude
740ddd9fdc Merge pull request #27863 from Luap99/remote-timestamp
test/system: fix log timestamp work around
2026-01-08 13:29:43 -06:00
Brent Baude
a51012b99e Merge pull request #27813 from ricardobranco777/user_octal
test: Fix --hostuser octal UID test flakiness
2026-01-07 15:51:43 -06:00
Ricardo Branco
174e02ae55 test: Fix --hostuser octal UID test flakiness
The test for issue #19800 depended on finding a system user with an
octal UID. This approach was fragile because system users found on the
host may have a different UID in the testing image.

Use the rootless user ID instead which is likely to be octal anyway as
new user IDs start with 1000.

Signed-off-by: Ricardo Branco <rbranco@suse.de>
2026-01-07 17:26:26 +01:00
Paul Holzinger
73135ff6f0 test/system: fix log timestamp work around
We have the full nanosecond precision now also in the remote API after
commit 60a5a476d5.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-01-05 19:25:13 +01:00
Ricardo Branco
8d3ac1a1f6 test: Fix PODMAN_BATS_LEAK_CHECK
This variable is set by hack/bats and it fails if PODMAN_CMD is unset.

Signed-off-by: Ricardo Branco <rbranco@suse.de>
2026-01-05 15:13:08 +01:00
Jan Rodák
23306d1efe Merge pull request #27760 from Luap99/test-apk 2025-12-17 11:04:47 +01:00
Paul Holzinger
8d0ecd4d84 Merge pull request #27330 from winterqt/push-pwouqluolwxt
libpod: fix healthchecks not executing every interval on linux
2025-12-12 18:15:05 +01:00
Paul Holzinger
15ae942a48 test/system: remove apk from build
We do not use that package that we install for the test anyway and doing
this networking connection is causing heavy flakes at the moment.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-12-12 15:44:38 +01:00
Paul Holzinger
811c818fc9 test/system: skip podman volumes with XFS quotas on fedora
It fails due selinux, it is unlcear why so I filled #27759 for now to
track that so we can get the image update merged.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-12-12 14:16:39 +01:00
Paul Holzinger
2608feb4f7 Merge pull request #27708 from anagno/fix/probe
fix: skip execution of probes when initialDelaySeconds is not elapsed
2025-12-11 15:35:06 +01:00
Vasileios Anagnostopoulos
88bacfc133 fix: skip execution of probes when initialDelaySeconds is not elapsed
According to the [Kubernetes docs](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes)
the probes should be executed after the `initialDelaySeconds`. So to be
consistent with the kubernetes specs, skip the execution of the probes until
the `initialDelaySeconds` is elapsed.

Closes #27678

Signed-off-by: Vasileios Anagnostopoulos <anagnwstopoulos@hotmail.com>
2025-12-11 12:50:24 +01:00
Brent Baude
f348a0717d Vendor latest mono repo for libartifact changes
This PR vendors in the strong typed libartifact code and carries the
associated changes.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-12-10 14:44:50 -06:00
Matt Heon
a8ecb80ac0 Deterministically order pod inspect fields
There are two fields I'm worried about: shared namespaces and pod
containers. Both are generated via loops over maps and are thus
non-deterministic in ordering. Throw a sort on each to fix the
order so we can actually diff `podman pod inspect` output.

Signed-off-by: Matt Heon <mheon@redhat.com>
2025-12-04 15:25:11 -05:00
Winter M
ed6f63af10 libpod: fix healthchecks not executing every interval on linux
By default, systemd sets a limit of how many times a service can start,
which means that if you have a healthcheck that runs more often than the
limits, systemd will refuse to start it with a message like "Start request
repeated too quickly." emitted to the journal.

Signed-off-by: Winter M <winter@antithesis.com>
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-11-26 17:57:38 +01:00
openshift-merge-bot[bot]
ffe01749e2 Merge pull request #27413 from 0xDVC/fix-26848-userns-pod-validation
Fix user namespace validation for containers in pods
2025-11-26 15:37:00 +00:00