Commit Graph

7397 Commits

Author SHA1 Message Date
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
Paul Holzinger
f87ab2b7a6 fix network DB desync after failed connect/disconnect
Networks are stored in two ways in the DB, first a static network list
which holds all the network with its option for the container. Second,
the network status which hold the actual network result from netavark
but only when the container is running.

If the container is running they must be in sync and podman inspect has
checks to ensure that as well it errors out of there is a desync between
the two.

As the adding to the db and doing actual networking configuration are
diffeent parts it possible that one worked while the other failed which
triggers the desync. To avoid this make the network connect/disconnect
code more robust against partial failures. When the network calls fail
we update the db again to remove/add the network back.

Fixes: https://issues.redhat.com/browse/RHEL-78037

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-04-04 14:42:20 +02:00
openshift-merge-bot[bot]
0a0d05b3e3 Merge pull request #25781 from kolyshkin/rm-goimports
Use golangci-lint fmt for pkg/bindings
2025-04-04 09:38:25 +00:00
openshift-merge-bot[bot]
76eea47fb3 Merge pull request #25743 from kolyshkin/freebsd-golangci-lint
Add freebsd golangci lint run; fix remaining freebsd warnings
2025-04-03 18:30:54 +00:00
Kir Kolyshkin
9d4e820264 Use golangci-lint fmt for pkg/bindings
golangci-lint v2 introduced a new command, fmt, which runs configured
formatters (see formatters in .golangci.yml).

Use this for generated files. Drop separate goimports binary.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-04-03 10:41:14 -07:00
Jan Rodák
b5a1b512c9 Fix overwriting the Healthcheck configuration from the image
If the --health-cmd flag is not specified, other flags such as --health-interval, --health-timeout, --health-retries, and --health-start-period are ignored if the image contains a Healthcheck. This makes it impossible to modify these Healthcheck configuration when a container is created.

Fixes: https://github.com/containers/podman/issues/20212
Fixes: https://issues.redhat.com/browse/RUN-2629

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-04-03 15:52:05 +02:00
openshift-merge-bot[bot]
61693432e6 Merge pull request #25732 from kolyshkin/ginkgo
test/tools/vendor: drop ginkgo
2025-04-03 13:21:43 +00:00
Jan Kaluza
9277643ead Set the IDMappings also when RootfsOverlay is used.
This is related to #23292 and is needed to replace
pause image container with pause container based
on the rootfs.

Without this change, the GIDs and UIDs are not mapped
in the rootfs container which use overlay if --userns=auto
is used. This leads to an error mounting /dev/pts with gid=5,
becuase GID 5 simply does not exist in the pause container
using rootfs.

All the tests pass with this change, but I have to admit
I did not find out why the original code has been introduced.

Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2025-04-03 11:55:45 +02:00
Kir Kolyshkin
c6189c5b51 test/checkseccomp: add linux build tag
This is a linux-only binary.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-04-02 13:35:14 -07:00
xixishidibei
040385ef9b chore: fix function name in comment
Signed-off-by: xixishidibei <xixishidibei@outlook.com>
2025-04-02 21:26:27 +08:00
David Negstad
684126e426 Suppress failing bud tests in remote
Signed-off-by: David Negstad <David.Negstad@microsoft.com>
2025-04-01 14:54:34 -07:00
Kir Kolyshkin
275e77d1fa test/tools/vendor: drop ginkgo
It appears[1] that ginkgo binary can be easily built from the top-level
vendor, so it does not make sense to have a second copy in test/tools
(and a hassle of keeping the two in sync).

Inspired by [1], [2], and a run of make localtest, which shows:

> Ginkgo detected a version mismatch between the Ginkgo CLI and the version of Ginkgo imported by your packages:
>   Ginkgo CLI Version:
>     2.22.1
>   Mismatched package versions found:
>     2.23.3 used by podman, common, containers, parse, quadlet, rootlessport, abi, tunnel, libpod, events, file, shm, logs, annotations, libpod, utils, apiutil, auth, ctime, abi, expansion, utils, emulation, env, errorhandling, machine, compression, connection, define, ocipull, provider, proxyenv, qemu, command, shim, vmconfigs, rootless, signal, specgen, generate, kube, specgenutil, systemd, generate, notifyproxy, parser, timetype, trust, util, utils

[1]: af29bb5b6e (r2020246403)
[2]: e6c7ec94e2 (r2020230241)

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-04-01 14:24:41 -07:00
Kir Kolyshkin
4eb75f68cf test/e2e: fix unused linter warning
This is shown when golangci-lint is run with --tests=false

> test/e2e/config.go:7:2: var fedoraMinimal is unused (unused)
> 	fedoraMinimal     = "quay.io/libpod/systemd-image:20240124"
> 	^
> test/e2e/config.go:18:2: var volumeTest is unused (unused)
> 	volumeTest        = "quay.io/libpod/volume-plugin-test-img:20220623"
> 	^

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:30:43 -07:00
Kir Kolyshkin
91113c46ef test/utils: suppress ST1001 warnings
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
0f975f8526 ci: rm allow-unused from nolintlint settings
This was added by commit 84e42877a ("make lint: re-enable revive"),
making nolintlint became almost useless.

Remove the ungodly amount of unused nolint annotations.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
cc4d904dd2 Fix QF1012 staticcheck warnings
> QF1012: Use fmt.Fprintf(...) instead of WriteString

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
f4f2580b0d ci: remove stylecheck linter
It is to be merged into staticcheck linter in golangci-lint v2.0.0.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
0105131b5c Fix QF1003: could use tagged switch" staticcheck warning
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
renovate[bot]
0b1d3a963d chore(deps): update dependency setuptools to v78
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-31 16:35:29 +00:00
openshift-merge-bot[bot]
c6ce475e28 Merge pull request #25735 from Luap99/cdi-compose
test/compose: use --cdi-spec-dir not /etc/cdi
2025-03-31 16:01:40 +00:00
Paul Holzinger
f07a95da0e test/compose: use 4 spaces indentation
For consistency.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-03-31 15:00:12 +02:00
Paul Holzinger
9f422e1a77 test/compose: use cdi option over mount
So that we don't have to overwrite a system dir and also can test
rootless.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-03-31 14:58:56 +02:00
Paul Holzinger
926ad1172e test/compose: remove cni reference
CNI is not being tested here for a long time, use a more appropriate
directory name.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-03-31 14:58:56 +02:00
openshift-merge-bot[bot]
5bca94944d Merge pull request #25707 from Luap99/logs
podman logs: allow options after argument
2025-03-31 12:53:16 +00:00
openshift-merge-bot[bot]
490eb476a8 Merge pull request #25717 from jankaluza/cdi-spec-dir
Add cdi-spec-dir option to top level options
2025-03-28 13:52:20 +00:00
openshift-merge-bot[bot]
4f7b95de54 Merge pull request #25718 from ricardobranco777/runc
test: Fix runc error message
2025-03-28 13:19:13 +00:00
openshift-merge-bot[bot]
d842b145f7 Merge pull request #25699 from johnschug/main
quadlet: add support for the UpheldBy option in the Install section
2025-03-28 12:43:42 +00:00
Ricardo Branco
392a8f4ac5 test: Fix runc error message
Signed-off-by: Ricardo Branco <rbranco@suse.de>
2025-03-28 12:53:42 +01:00
Micah Chambers (eos)
dce36131ae Add cdi-spec-dir option to top level options.
This commit adds new --cdi-spec-dir global option. This
option is used to add additional CDI spec paths.

Signed-off-by: Micah Chambers (eos) <mchambers@anduril.com>
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2025-03-28 11:24:57 +01:00
Paul Holzinger
4bea200b26 podman logs: allow options after argument
Do not use the interspersed option for logs, it is not needed and just
restricts valid use cases.

Fixes #25653

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-03-28 10:39:35 +01:00
John Schug
a0cae65c13 quadlet: add support for the UpheldBy option in the Install section
This adds support for the UpheldBy option in quadlet files. The UpheldBy option
is the counterpart to the Upholds option added in systemd v249 and is
similar to the existing WantedBy and RequiredBy options.

See https://www.freedesktop.org/software/systemd/man/latest/systemd.unit.html#Upholds=.

Signed-off-by: John Schug <john.ips.schug@gmail.com>
2025-03-27 15:48:46 -07:00
axel7083
ea5ed2a875 fix: mounting issue with single character volume on windows
fixes https://github.com/containers/podman/issues/25218

Signed-off-by: axel7083 <42176370+axel7083@users.noreply.github.com>
2025-03-26 17:57:52 +01:00
openshift-merge-bot[bot]
cb2466004f Merge pull request #25645 from jankaluza/24418
Add support for --pids-limit in podman kube play.
2025-03-26 16:15:45 +00:00
openshift-merge-bot[bot]
f5ab9d1530 Merge pull request #25687 from giuseppe/reenable-vfs-test
fix idmapped mounts test failure on vfs
2025-03-26 13:44:17 +00:00
openshift-merge-bot[bot]
a918c91678 Merge pull request #25512 from findesgh/feature/#21256-extend-cidfile-support
Feature/#21256 extend cidfile support
2025-03-26 13:03:35 +00:00
openshift-merge-bot[bot]
d4cfceeda5 Merge pull request #25681 from Honny1/fix-container-clone-with-hc
Fix container clone with configured Healthcheck
2025-03-26 11:38:14 +00:00
openshift-merge-bot[bot]
8d693d60dc Merge pull request #25675 from jankaluza/25109
Add support for Retry= and RetryDelay= to Podman Quadlet.
2025-03-26 11:19:00 +00:00
Giuseppe Scrivano
1f3347ff3c test: re-enable idmapped mounts test on vfs
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2025-03-26 12:11:11 +01:00