Commit Graph

7434 Commits

Author SHA1 Message Date
renovate[bot]
7819879776 chore(deps): update dependency setuptools to v80
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-27 17:44:15 +00:00
Lewis Roy
6e7de438cc bug: Correct Docker compat REST API image delete endpoint
The Docker `-XDELETE image/$name?force=true` endpoint only removes
containers using an image if they are in a non running state.

In Podman, when forcefully removing images we also forcefully delete
containers using the image including running containers.

This patch changes the Docker image force delete compat API to act like the
Docker API while maintaining commands like `podman rmi -f $imagename`

It also corrects the API return code returned when an image is requested
to be deleted with running containers using it.

Fixes: https://github.com/containers/podman/issues/25871

Signed-off-by: Lewis Roy <lewis@redhat.com>
2025-04-27 20:51:11 +10:00
Cesar Goncalves
a969dbd73e update podman socket output to include also exposed ports
Fixes https://github.com/containers/podman/issues/25851

Co-authored-by: Brent Baude <bbaude@redhat.com>
Signed-off-by: Cesar Goncalves <mail@cesargoncalves.com>
2025-04-27 11:11:28 +01:00
flouthoc
4268c61dd0 Added tests for inheritlabel fix
Signed-off-by: flouthoc <flouthoc.git@gmail.com>
2025-04-25 19:29:18 +02:00
openshift-merge-bot[bot]
ac12341046 Merge pull request #25942 from rcmadhankumar/set-default-mount-option
Remove using `rw` as a default mount option
2025-04-25 13:35:29 +00:00
renovate[bot]
7e14a03409 fix(deps): update module github.com/cpuguy83/go-md2man/v2 to v2.0.7
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 00:30:23 +00:00
openshift-merge-bot[bot]
c28fd3cbd8 Merge pull request #25966 from Luap99/start-rm
remote: don't print bogus error when starting container attached
2025-04-24 18:58:00 +00:00
Robin Heinemeier
802fc15b1e Add Label to quadlet pod
Signed-off-by: Robin Heinemeier <sunnerlp@gmail.com>
2025-04-24 13:37:42 +00:00
Paul Holzinger
3a2d7587fe remote: don't print bogus error when starting container attached
This looks like debug leftover, in any case this is not an error so
simply remove the line.

Fixes #25965

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-04-24 14:31:22 +02:00
rcmadhankumar
bf7dcd5619 Fix: Remove appending rw as the default mount option
The backstory for this is that runc 1.2 (opencontainers/runc#3967)
fixed a long-standing bug in our mount flag handling (a bug that crun
still has). Before runc 1.2, when dealing with locked mount flags that
user namespaced containers cannot clear, trying to explicitly clearing
locked flags (like rw clearing MS_RDONLY) would silently ignore the rw
flag in most cases and would result in a read-only mount. This is
obviously not what the user expects.

What runc 1.2 did is that it made it so that passing clearing flags
like rw would always result in an attempt to clear the flag (which was
not the case before), and would (in all cases) explicitly return an
error if we try to clear locking flags. (This also let us finally fix a
bunch of other long-standing issues with locked mount flags causing
seemingly spurious errors).

The problem is that podman sets rw on all mounts by default (even if
the user doesn't specify anything). This is actually a no-op in
runc 1.1 and crun because of a bug in how clearing flags were handled
(rw is the absence of MS_RDONLY but until runc 1.2 we didn't correctly
track clearing flags like that, meaning that rw would literally be
handled as if it were not set at all by users) but in runc 1.2 leads to
unfortunate breakages and a subtle change in behaviour (before, a ro
mount being bind-mounted into a container would also be ro -- though
due to the above bug even setting rw explicitly would result in ro in
most cases -- but with runc 1.2 the mount will always be rw even if
the user didn't explicitly request it which most users would find
surprising). By the way, this "always set rw" behaviour is a departure
from Docker and it is not necesssary.

Signed-off-by: rcmadhankumar <madhankumar.chellamuthu@suse.com>
2025-04-23 17:18:03 +05:30
openshift-merge-bot[bot]
a3e132055d Merge pull request #25909 from baude/issue25884
Add ability to set layer media type for artifacts
2025-04-22 19:21:14 +00:00
openshift-merge-bot[bot]
5372c15bf8 Merge pull request #25892 from Regis-Caelum/quadlet-pod-hostname
Add HostName to quadlet pod
2025-04-22 12:52:04 +00:00
openshift-merge-bot[bot]
18de85bb14 Merge pull request #25940 from TomSweeneyRedHat/dev/tsweeney/bud_readme
[CI DOCS] Touchup buildah-bud README.md
2025-04-22 12:46:37 +00:00
Brent Baude
71504eedfb Output headers for volume ls when empty
To have consistency with other podman commands like `ps` and `images`,
`volume ls` should output its headers even when there are no volumes.

Fixes: https://github.com/containers/podman/issues/25911

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-04-21 17:07:57 -05:00
tomsweeneyredhat
5494ac882a [CI DOCS] Touchup buildah-bud README.md
The README.md in test/buildah-bud had the old directory name for the
apply-podman-deltas file.  This change removes the `/` and adds a `-`
in that file name.

Signed-off-by: tomsweeneyredhat <tsweeney@redhat.com>
2025-04-21 17:05:07 -04:00
renovate[bot]
49b6faea09 chore(deps): update dependency setuptools to v79
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-20 16:01:15 +00:00
openshift-merge-bot[bot]
66954d7e7e Merge pull request #25858 from Luap99/prefetch
test/system: add prefetch users to use cache image
2025-04-20 16:00:40 +00:00
Inshal Khan
4ba8cde41d Add HostName to quadlet pod
update docs for hostname

Signed-off-by: Inshal Khan <kziaul123@gmail.com>
2025-04-19 08:51:45 +05:30
openshift-merge-bot[bot]
f9eac5deb0 Merge pull request #25908 from Honny1/fix-ulimits-compat-api-with-rootless
Fix: Compat API in rootless mode ignores ulimits
2025-04-18 20:46:46 +00:00
openshift-merge-bot[bot]
3803429abb Merge pull request #25918 from ricardobranco777/test_runc_namespaces
test: Fix expected output for runc on namespaces
2025-04-18 19:26:56 +00:00
Ricardo Branco
a7a7304c6f test: Fix expected output for runc on namespaces
Signed-off-by: Ricardo Branco <rbranco@suse.de>
2025-04-17 23:15:57 +02:00
Ygal Blum
6ac0a28564 Quadlet - support additional systemd unit relationship keys
Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2025-04-17 14:51:24 -04:00
Brent Baude
fdfed9979f Add ability to set layer media type for artifacts
in #25884, it was pointed out that the standard detection used to
determine the artifact's file type can be wrong.  in those cases, it
would be handy for the user to be able to override the media type of the
layer.  as such, added a new option called `--file-type`, which is
optional, and allows users to do just that.

`podman artifact add --file-type text/yaml
quay.io/artifact/config:latest ./config.yaml `

Fixes: #25884

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-04-17 10:36:21 -05:00
Jan Rodák
3cbb718049 Fix compat API in rootless mode ignores ulimits
Fixes: https://github.com/containers/podman/issues/25881

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-04-17 16:11:34 +02:00
openshift-merge-bot[bot]
51c4df1316 Merge pull request #25789 from jankaluza/23292
Replace podman pause image with rootfs.
2025-04-17 08:47:30 +00:00
Jan Kaluza
224e791161 Replace podman pause image with rootfs.
This commit removes the code to build a local pause
image from the Containerfile. It is replaced with
code to find the catatonit binary and include it in
the Rootfs.

This removes the need to build a local pause container
image.

The same logic is also applied to createServiceContainer
which is originally also based on the pause image.

Fixes: #23292

Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2025-04-17 08:36:27 +02:00
openshift-merge-bot[bot]
17f3aed4fd Merge pull request #25899 from ygalblum/quadlet-unit-deps
Quadlet - translate dependencies on other quadlet units
2025-04-16 21:03:52 +00:00
Ygal Blum
e498c6526b Quadlet - translate dependencies on other quadlet units
Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2025-04-16 15:29:42 -04:00
Jan Rodák
69c2e68836 Fix directive //nolint:revive is unused for linter "revive" on ARM
Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-04-16 16:17:28 +02:00
Paul Holzinger
857b536507 test/system: add prefetch users to use cache image
When using a custom --root it will not have the image present and as
such cause a pull. We can however use our own local cache if present to
avoid the pull if we give the right podman options via
_PODMAN_TEST_OPTS.

I saw the volume quota test fail during the pull in openQA thus I
noticed this issue.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-04-15 12:36:40 +02:00
openshift-merge-bot[bot]
09c2546b27 Merge pull request #25844 from ygalblum/quadlet-network-delete
Quadlet - allow deleting the network when stopping the service
2025-04-14 17:57:45 +00:00
Paul Holzinger
a4856a6224 test/system: add debug for /etc/hosts restore flake
Somehow the files do not match sometimes, I like to get data on the
/etc/hosts file on the host looks to see if this would explain anything.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-04-11 16:21:03 +02:00
Paul Holzinger
0849cbcf83 test/e2e: skip flaky restore into pod test
It is failing a lot, on the issue (#24571) there is a 100% reproducer
so we don't need to gather more data this is simply broken.

Reduce our flakes by skiping this until the main issue gets resolved.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-04-11 16:15:16 +02:00
Paul Holzinger
0fb78905c1 Revert "Instrument cleanup tracer to log weird volume removal flake"
This reverts commit d633824a95.

The issue has been fixed in commit 9a0c0b2eef and I have not seen it
since so remove this special case.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-04-11 15:12:33 +02:00
Paul Holzinger
0be44ccb20 test/system: add debug for healthcheck flake
Seen it a few times, the exit code differs but we didn't print the
command output so it hard to tell why podman errors out here.
This just adds the output and does not fix the flake.

https://api.cirrus-ci.com/v1/artifact/task/5368521426731008/html/sys-podman-fedora-41-rootless-host-boltdb.log.html

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-04-11 14:23:18 +02:00
Ygal Blum
0d4a148ee6 Quadlet - allow deleting the network when stopping the service
Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2025-04-10 10:34:16 -04:00
openshift-merge-bot[bot]
c2b5be1e8e Merge pull request #25842 from ygalblum/quadlet-exec-reload
Quadlet - Add support for adding ExecReload command
2025-04-10 14:21:27 +00:00
Paul Holzinger
72fdc6476d test/system: remove pasta conditional
Sinc v5.0 pasta is the default and if it would not be installed a ton of
tests would already fail. As such these conditional checks are
pointless and can be removed to simplify the tests.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-04-10 14:36:42 +02:00
Ygal Blum
fe107ff0ce Quadlet - Add support for adding ExecReload command
Add tests
Update man page

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2025-04-09 14:40:41 -04:00
openshift-merge-bot[bot]
988e2910d5 Merge pull request #25823 from iphands/main
cmd: Fix help text. --config specifies a dir not a regular file
2025-04-09 17:47:03 +00:00
openshift-merge-bot[bot]
671b240236 Merge pull request #25831 from Luap99/test-doc
update hack/bats to not PASS NOP env and update test README with more system test info
2025-04-09 00:59:18 +00:00
Ian Page Hands
76a4fdc358 cmd: Fix help text. --config specifies a dir not a regular file
This `--config` option was initially added here:
4e4c3e3dbf

Under the hood this simply modifies env to set DOCKER_CONFIG=<passed
in string>

The DOCKER_CONFIG env var is used as a directory that contains
multiple config files... of which podman and container libs probably
only use `$DIR/config.json`.
See: https://docs.docker.com/reference/cli/docker/#environment-variables

The old CMD and help text was misleading... if we point the at a
regular file we can see errors like:
```
$ touch /tmp/foo/tmpcr9zrx71
$ /bin/podman --config /tmp/foo/tmpcr9zrx71 build -t foobar:latest
Error: creating build container: initializing source docker://quay.io/centos/centos:stream9: getting username and password: reading JSON file "/tmp/foo/tmpcr9zrx71/config.json": open /tmp/foo/tmpcr9zrx71/config.json: not a directory
```
^^ In this case we had created `/tmp/foo/tmpcr9zrx71` as a regular file.

Signed-off-by: Ian Page Hands <iphands@gmail.com>
2025-04-08 13:53:34 -07:00
openshift-merge-bot[bot]
fd8ed0b2f2 Merge pull request #25796 from Luap99/kube-pod-empty
quadlet kube: consider empty pod as running
2025-04-08 14:07:42 +00:00
Paul Holzinger
85caf3fbb5 test: update README for system test
Clarify that system test specifc configuration must be done via config
files and not via ad hoc environment variables like in test/e2e.

Also not that we only run the tests with crun so other runtimes may not
work but we accept patches to make them work with runc, e.g. Suse folks
currently run them with runc and contribute patches for them.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-04-08 15:43:45 +02:00
openshift-merge-bot[bot]
62fe2e0f28 Merge pull request #25815 from giuseppe/fix-hostuser
libpod: --user works with  --hostuser entries
2025-04-08 13:42:24 +00:00
openshift-merge-bot[bot]
20e1b9db3a Merge pull request #24791 from arsenalzp/issue_24664
Allow filtering containers by command
2025-04-08 12:55:09 +00:00
openshift-merge-bot[bot]
8461dff1ad Merge pull request #25793 from Luap99/network-connect-err
fix network DB desync after failed connect/disconnect
2025-04-07 18:00:27 +00:00
Giuseppe Scrivano
85024a9ba7 libpod: --user works with --hostuser entries
create the /etc/passwd and /etc/group files before any user/group
lookup so that the entries added dynamically are found by --user.

As a side effect, do not automatically create the group with same
value as the uid when not specified, since it is expected to run with
gid=0.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2025-04-07 18:11:06 +02:00
Paul Holzinger
254ab3b90f test/system: do not check dns.podman
A recent change[1] in netavark makes it so we no longer set the default
dns.podman search domain. As such we must no longer test for it.

[1] https://github.com/containers/netavark/pull/1214

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-04-07 13:57:59 +02:00
Paul Holzinger
8d1c373475 quadlet kube: consider empty pod as running
Since commit 945aade38b we do tear down the kube units if all pods
failed to start. This however broke the use case of an empty pod as we
did not consider that being starting successfully which is wrong and
caused a regression for at least one user.

To fix this special case the empty pod and consider that running.

Fixes: #25786
Fixes: 945aade38b ("quadlet kube: correctly mark unit as failed")

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-04-04 19:19:00 +02:00