Commit Graph

2031 Commits

Author SHA1 Message Date
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
Paul Holzinger
aaadb4726d SetupRootless handle case where conmon pid are not valid
When trying to join the conmon pid to recreate the pause process based
on the namespace it can be that the pid is no longer valid, i.e. when
conmon crashed or was killed.

Currently we have a big issue that can be reproduced using:
$ podman run -d quay.io/libpod/testimage:20241011 sleep 100
$ killall -9 conmon
$ killall catatonit

All commands would fail as we keep trying to rejoin the namespace of the
non existing conmon process.

So to address that fall back to creating a new namespace if we fail to
join the conmon pids.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-11-25 19:52:24 +01:00
0xdvc
417430c451 fix: improve userns validation when joining pods
- remove old CLI validation that only checked --pod flag
- add validation in namespaces.go to catch all paths (cli, quadlet, api)
- block userns mixing for all pods with infra, not just ipc/net
- update error message to be clearer
- fix test cleanup to use PodmanExitCleanly()
- use dynamic pod names in system tests to avoid conflicts

fixes #26848

Signed-off-by: 0xdvc <neilohene@gmail.com>
2025-11-25 08:45:19 +00:00
Aaron Ang
a9dd858c49 Clamp rootless rlimits to host on format
Signed-off-by: Aaron Ang <aaron.angyd@gmail.com>
2025-11-20 22:59:50 -08:00
Aaron Ang
e0fc51eb68 Add ulimits to podman update API
Signed-off-by: Aaron Ang <aaron.angyd@gmail.com>
2025-11-20 22:59:50 -08:00
Mario Loriedo
db9e0b97f6 Remove iptables references in system tests
Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2025-11-21 01:01:47 +01:00
Jan Rodák
d22e50eac9 test/system: remove deprecated cgroupsv1 skip check
Remove skip_if_rootless_cgroupsv1 call from quadlet tests since
cgroupsv1 is deprecated and no longer needs special handling

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-11-19 14:26:25 +01:00
openshift-merge-bot[bot]
fb7e99786e Merge pull request #27384 from flouthoc/multi-file-quadlet
quadlet install: add support for multiple quadlets in a single file
2025-11-18 16:01:08 +00:00
flouthoc
c22c3271bb quadlet install: multiple quadlets from single file should share app
Quadlets installed from `.quadlet` file now belongs to a single
application, anyone file removed from this application removes all the
other files as well.

Assited by: claude-4-sonnet

Signed-off-by: flouthoc <flouthoc.git@gmail.com>
2025-11-17 10:23:28 -08:00
Lokesh Mandvekar
036bf7b44f test/system: delete CgV1 skips and skipped CgV2 tests
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2025-11-12 15:15:34 -05:00
flouthoc
e787b4f503 quadlet: add support for multiple quadlets in a single file
Enable installing multiple quadlets from one file using '---' delimiters.
Each section requires '# FileName=<name>' comment for custom naming.
Single quadlet files remain unchanged for backward compatibility.

Assited by: claude-4-sonnet

Signed-off-by: flouthoc <flouthoc.git@gmail.com>
2025-11-10 08:25:48 -08:00
openshift-merge-bot[bot]
2c40377dc9 Merge pull request #27472 from Luap99/test-fixes
various different test fixes
2025-11-10 15:03:16 +00:00
openshift-merge-bot[bot]
80840578be Merge pull request #27395 from nalind/grpc-noop
Parse grpc requests on the service socket
2025-11-10 13:45:27 +00:00
Paul Holzinger
950db09587 test/system: fix broken podman_runtime
This got broken during the remote testing rewrite to enable tls testing
in commit feb36e4fe6. The problem is the function didn't use the proper
podman command with the remote arg so it tried to connect to the default
socket with remote testing.

And in the checkpoint file we use it before the PODMAN_CMD was defined
so fix this by moving the basic_setup before and the use the variable
PODMAN_RUNTIME instead of having to do another info call.

Also fix the debug log output to correctly log the podman commands with
all arguments on a single line.

Fixes: feb36e4fe6 ("Implement TLS API Support")
Fixes: #27266

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-11-07 19:02:56 +01:00
Paul Holzinger
c31104f84e test/system: fix artifact test cleanup
Make sure to rmeove the artifact but we don't need to remove the
testfiles as they are part under PODMAN_TMPDIR which gets removed by
default so don't bother with that.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-11-07 19:02:56 +01:00
Paul Holzinger
09cf145f39 test/system: merge artifact tests into single file
There is no need for several files here, it just means the setup and
helpers get duplicated.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-11-07 19:02:55 +01:00
Paul Holzinger
348617fba6 test/system: rework artifact created test
- use nanoseconds, so we don't need to sleep a full second do put the
  time forward.
- use the --format option instead of jq
- run test via remote as well
- don't use static file content

Fixes: #27265

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-11-07 19:02:55 +01:00
Paul Holzinger
9eba688ffa test/system: remove 701-artifact-created.bats
The tests there are a duplicate compared to the 702 file.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-11-07 19:02:55 +01:00
Paul Holzinger
ad34a695de test/system: do not run artifact test in parallel
They do not seem safe to use concurrently, see #27264.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-11-07 19:02:55 +01:00
Paul Holzinger
f89e2d3ac8 test/system: skip flaky restore test on debian
Somehow this only flakes on debian as it seem the /etc/hosts file on the
host system changes and thus causes a false postive with the
before/after restore comparison.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-11-07 19:02:55 +01:00
Ricardo Branco
14cb9d2a6c test/system: Update test to handle new error message from runc 1.3.3
Signed-off-by: Ricardo Branco <rbranco@suse.de>
2025-11-07 11:54:06 +01:00
openshift-merge-bot[bot]
eb63a1f38d Merge pull request #27005 from zifeitong/newer
Fix podman build "newer" pull policy
2025-11-04 15:17:37 +00:00
shiavm006
c0ae1a9bac Fix remote client rejecting empty --detach-keys string
The remote client (podman --remote) was incorrectly throwing an error
when --detach-keys="" was specified for attach, run, or start commands.
According to documentation and the v1.7.0 release notes, specifying an
empty string should disable detaching, not cause an error.

Fixes: #27414

Signed-off-by: shiavm006 <shivammittal42006@gmail.com>
2025-11-04 09:12:02 +05:30
Nalin Dahyabhai
be82989be3 Add a no-op GRPC responder service to the podman system service
Add a bare minimum GRPC service to the podman system service socket.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2025-11-03 11:14:32 -05:00