Commit graph

4261 commits

Author SHA1 Message Date
Jan Rodák
7ac3e83707
Fix duplicated command in inspect Args when container has single-element command
Fixes: https://github.com/podman-container-tools/podman/issues/29155

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2026-07-09 17:31:21 +02:00
Jan Rodák
e4271bea59
Enable pasta forwarder tests after passt SELinux fix
Fixes: https://github.com/podman-container-tools/podman/issues/28776

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2026-07-07 13:40:44 +02:00
Paul Holzinger
0ead98d2d4
Merge pull request #29092 from ROKUMATE/feat-playkube-container-name
pkg/domain: include container name in kube play start errors
2026-07-03 13:25:18 +02:00
ROKUMATE
8748e6c9ac pkg/domain: include container name in kube play start errors
Fixes: #27196
Signed-off-by: ROKUMATE <rohitkumawat0110@gmail.com>
2026-07-03 15:07:41 +05:30
Jan Rodák
e852389e55
Merge pull request #29071 from Luap99/scannererr
fix missing error checks for bufio.Scanner
2026-07-02 14:55:12 +02:00
Giuseppe Scrivano
6c5efd31e3
Merge pull request #29011 from simonbrauner/issue-29004
Some checks are pending
ci / sys local root fedora-prior (push) Blocked by required conditions
ci / int local rootless fedora-prior (push) Blocked by required conditions
ci / sys local rootless fedora-prior (push) Blocked by required conditions
ci / int remote root fedora-prior (push) Blocked by required conditions
ci / sys remote root fedora-prior (push) Blocked by required conditions
ci / int local root fedora-rawhide (push) Blocked by required conditions
ci / sys local root fedora-rawhide (push) Blocked by required conditions
ci / int local rootless fedora-rawhide (push) Blocked by required conditions
ci / sys local rootless fedora-rawhide (push) Blocked by required conditions
ci / int remote root fedora-rawhide (push) Blocked by required conditions
ci / sys remote root fedora-rawhide (push) Blocked by required conditions
ci / apiv2 root fedora-current (push) Blocked by required conditions
ci / bindings root fedora-current (push) Blocked by required conditions
ci / compose_v2 root fedora-current (push) Blocked by required conditions
ci / docker_py root fedora-current (push) Blocked by required conditions
ci / unit root fedora-current (push) Blocked by required conditions
ci / apiv2 rootless fedora-current (push) Blocked by required conditions
ci / compose_v2 rootless fedora-current (push) Blocked by required conditions
ci / unit rootless fedora-current (push) Blocked by required conditions
ci / upgrade v5.3.1 root fedora-current (push) Blocked by required conditions
ci / upgrade v5.6.2 root fedora-current (push) Blocked by required conditions
ci / machine linux amd64 (push) Blocked by required conditions
ci / windows unit (push) Blocked by required conditions
ci / windows e2e (push) Blocked by required conditions
ci / windows machine hyperv (push) Blocked by required conditions
ci / windows machine wsl (push) Blocked by required conditions
ci / macos machine applehv (push) Blocked by required conditions
ci / macos machine libkrun (push) Blocked by required conditions
ci / Total Success (push) Blocked by required conditions
zizmor: GitHub Actions Security Analysis / Zizmor (push) Waiting to run
Write quadlet units to temporary files and rename
2026-07-02 09:34:30 +02:00
Paul Holzinger
b4aaaee306
podman log-level debug must produce the same oci runtime errors
I do not understand this condition in the code, not passing the log file
to the runtime when run with log level debug makes no sense. It means we
do not get the proper error message from the runtime so debug logging
shows a much worse error:
"container create failed (no logs from conmon)..."

When the actual error is the command is not in $PATH for example. So to
fix this just remove the log level check. Also not the support json flag
condition is done inside execOCILog().

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-30 13:02:57 +02:00
Paul Holzinger
d9465ea2bf
test/e2e: rework GetHostDistributionInfo
First check for errors and assert them via gomega to make the test fails
which called this.

Then stop calling this for each test spec, most will never access this
so stop reading the file over and over. Callers should just call the
function directly.

Then remove the arch field from it, that is not related to the OS file.
Callers should just access runtime.GOARCH directly.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-30 10:32:33 +02:00
Šimon Brauner
64ab8171ed Use atomic file writer for quadlet unit files
Fixes: https://github.com/podman-container-tools/podman/issues/29004

Signed-off-by: Šimon Brauner <sbrauner@redhat.com>
2026-06-29 22:23:57 +02:00
Shuai Yuan
4586dc2c60 Honor label filters for volume prune when all is set
NormalizeVolumePruneFilters discarded every query filter when the "all"
pseudo-filter was set, deleting label/label!/until before they reached the
volume filter generator. As a result `podman volume prune --all --filter
label=foo` ignored the label and pruned every unused volume.

"all" only widens the prune scope from anonymous-only to all unused volumes;
it is orthogonal to the label filters, which must still select which of those
volumes are removed. Drop only the "all" key and keep the remaining filters so
they continue to apply.

NormalizeVolumePruneFilters is shared by the local (abi), remote (libpod API),
and Docker-compat prune paths, so all three were affected.

Signed-off-by: Shuai Yuan <shuaiyuanzju@gmail.com>
2026-06-29 17:51:27 +08:00
Jan Rodák
60e90c14ec
Merge pull request #28664 from givensuman/fix/generate-kube-healthcheck
Export container healthcheck as LivenessProbe in generate kube
2026-06-25 17:32:57 +02:00
Danish Prakash
de3341fd81
Merge pull request #28977 from jiwahn/fix-kube-oci-annotation-roundtrip
Some checks are pending
ci / sys local root fedora-prior (push) Blocked by required conditions
ci / int local rootless fedora-prior (push) Blocked by required conditions
ci / sys local rootless fedora-prior (push) Blocked by required conditions
ci / int remote root fedora-prior (push) Blocked by required conditions
ci / sys remote root fedora-prior (push) Blocked by required conditions
ci / int local root fedora-rawhide (push) Blocked by required conditions
ci / sys local root fedora-rawhide (push) Blocked by required conditions
ci / int local rootless fedora-rawhide (push) Blocked by required conditions
ci / sys local rootless fedora-rawhide (push) Blocked by required conditions
ci / int remote root fedora-rawhide (push) Blocked by required conditions
ci / sys remote root fedora-rawhide (push) Blocked by required conditions
ci / apiv2 root fedora-current (push) Blocked by required conditions
ci / bindings root fedora-current (push) Blocked by required conditions
ci / compose_v2 root fedora-current (push) Blocked by required conditions
ci / docker_py root fedora-current (push) Blocked by required conditions
ci / unit root fedora-current (push) Blocked by required conditions
ci / apiv2 rootless fedora-current (push) Blocked by required conditions
ci / compose_v2 rootless fedora-current (push) Blocked by required conditions
ci / unit rootless fedora-current (push) Blocked by required conditions
ci / upgrade v5.3.1 root fedora-current (push) Blocked by required conditions
ci / upgrade v5.6.2 root fedora-current (push) Blocked by required conditions
ci / machine linux amd64 (push) Blocked by required conditions
ci / windows unit (push) Blocked by required conditions
ci / windows e2e (push) Blocked by required conditions
ci / windows machine hyperv (push) Blocked by required conditions
ci / windows machine wsl (push) Blocked by required conditions
ci / macos machine applehv (push) Blocked by required conditions
ci / macos machine libkrun (push) Blocked by required conditions
ci / Total Success (push) Blocked by required conditions
zizmor: GitHub Actions Security Analysis / Zizmor (push) Waiting to run
kube: alias OCI runtime annotations without underscores
2026-06-24 20:29:15 +05:30
Devesh B
07289d6cd3 fix(kube): export container healthcheck as LivenessProbe in generate kube
Fixes: #22095

Now handles exporting a container's healthcheck configuration as a
`livenessProbe` in the generated Kubernetes YAML.

Co-authored-by: givensuman <givensuman@duck.com>
Co-authored-by: Jan Rodák <hony.com@seznam.cz>

Signed-off-by: Devesh B <98201065+DeveshB-1@users.noreply.github.com>
Signed-off-by: givensuman <givensuman@duck.com>

Update test/e2e/generate_kube_test.go

Co-authored-by: Jan Rodák <hony.com@seznam.cz>
Signed-off-by: given <givensuman@gmail.com>
2026-06-23 17:10:27 -04:00
Paul Holzinger
ae04ee07b1
libpod: remove extra state lookup in HealthCheck()
Checking the state outside of locks is not safe and does not guarantee
us anything as the container could be stopped afterwards anyways.

So just skip the state check and then later in the exec logic we do the
same check again and return ErrCtrStateInvalid so just handle that
afterwards.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-23 18:47:07 +02:00
Radostin Stoyanov
2c7aeab70b Freeze cgroup during live checkpoint
When checkpointing a container with --leave-running, libpod dumps the
container's memory via the OCI runtime (CRIU) first and only captures
the rootfs diff and named volumes afterwards. CRIU thaws the container
as soon as the memory dump finishes, so the processes inside the
container continue to run between the memory snapshot and the
file-system capture. As a result, the checkpoint can be inconsistent:
have CRIU images and a file system that reflect different points in time.

To fix this, we freeze the container's cgroup before invoking the OCI
runtime and thaw it again only after the checkpoint image/archive has
been written. The OCI runtime calls CRIU with the freezer cgroup and
restores it to its previous state once the dump completes, so a
container that was already frozen stays frozen across the dump and
the file system is captured at the same instant as the CRIU images.
This mirrors the approach other engines (e.g. CRI-O and containerd).

The default (stopping) checkpoint functionality is not affected by this
issue because CRIU leaves the tasks dead after the dump.

This patch also adds a regression test for the consistency of live
(--leave-running) checkpoints. The container runs a workload that
keeps an in-memory counter in sync with a value written to a file
on its root file system, maintaining the invariant that the on-disk
value never gets ahead of the in-memory counter.

Signed-off-by: Radostin Stoyanov <rstoyanov@fedoraproject.org>
2026-06-23 13:30:32 +01:00
Jiwoo Ahn
fb8a272fe3 kube: alias OCI runtime annotations without underscores
Fixes: #26871
Signed-off-by: Jiwoo Ahn <ikwydls1314@gmail.com>
2026-06-23 19:24:53 +09:00
Paul Holzinger
4ae189843b
Merge pull request #28637 from ValentinTorassa/manifest-push-retry-options
Some checks are pending
ci / int local rootless fedora-prior (push) Blocked by required conditions
ci / sys local rootless fedora-prior (push) Blocked by required conditions
ci / int remote root fedora-prior (push) Blocked by required conditions
ci / sys remote root fedora-prior (push) Blocked by required conditions
ci / int local root fedora-rawhide (push) Blocked by required conditions
ci / sys local root fedora-rawhide (push) Blocked by required conditions
ci / int local rootless fedora-rawhide (push) Blocked by required conditions
ci / sys local rootless fedora-rawhide (push) Blocked by required conditions
ci / int remote root fedora-rawhide (push) Blocked by required conditions
ci / sys remote root fedora-rawhide (push) Blocked by required conditions
ci / apiv2 root fedora-current (push) Blocked by required conditions
ci / bindings root fedora-current (push) Blocked by required conditions
ci / compose_v2 root fedora-current (push) Blocked by required conditions
ci / docker_py root fedora-current (push) Blocked by required conditions
ci / unit root fedora-current (push) Blocked by required conditions
ci / apiv2 rootless fedora-current (push) Blocked by required conditions
ci / compose_v2 rootless fedora-current (push) Blocked by required conditions
ci / unit rootless fedora-current (push) Blocked by required conditions
ci / upgrade v5.3.1 root fedora-current (push) Blocked by required conditions
ci / upgrade v5.6.2 root fedora-current (push) Blocked by required conditions
ci / machine linux amd64 (push) Blocked by required conditions
ci / windows unit (push) Blocked by required conditions
ci / windows e2e (push) Blocked by required conditions
ci / windows machine hyperv (push) Blocked by required conditions
ci / windows machine wsl (push) Blocked by required conditions
ci / macos machine applehv (push) Blocked by required conditions
ci / macos machine libkrun (push) Blocked by required conditions
ci / Total Success (push) Blocked by required conditions
Publish swagger / Build and publish swagger.yaml (push) Waiting to run
zizmor: GitHub Actions Security Analysis / Zizmor (push) Waiting to run
Add --retry support to manifest push
2026-06-23 12:00:03 +02:00
Paul Holzinger
061ea2fca5
Merge pull request #28391 from kyounghoonJang/feat/add-rm-ignore
feat: add --ignore flag to network rm
2026-06-23 11:24:38 +02:00
KyounghoonJang
9e38f86993 feat: add --ignore flag to network rm
Add `--ignore` to `podman network rm` so removing a missing
network returns success instead of exit code 1.

Keep existing error behavior for networks in use and other failures.

This commit message was translated from Korean to English using an LLM.

Fixes: #28363
Signed-off-by: KyounghoonJang <matkimchi_@naver.com>
2026-06-23 10:52:47 +09:00
Valen Torassa
72349937e3 Add --retry support to podman manifest push
This patch adds retry plumbing for podman manifest push.

CLI flags added: --retry and --retry-delay
Flags are read into ImagePushOptions and passed through the local ABI path
Remote clients and REST API now respect retry settings (retry / retryDelay)
retry-delay is parsed with time.ParseDuration
Defaults fall back to containers.conf when the flags are not set
Updated manpages, Swagger comments, and e2e tests to validate retry behavior

Fixes: #28590

Signed-off-by: Valen Torassa <valentintorassacolombero@gmail.com>
2026-06-22 15:49:27 -03:00
Paul Holzinger
a523791b27
test/e2e: remove WaitForContainer
For most callers podman run -d already makes sure the container runs so
this does nothing and only slows the test down.

For the signal test we can instead check for container output which is
better as we know the pid1 is actually ready to get the signal.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-22 20:08:36 +02:00
Paul Holzinger
88c0167a3f
test/e2e: remove PodmanAsUser
We do not use this anywhere to run as a different uid. In fact it should
not be supported as it would run without a proper systemd session for
example.

Because we run the test suite as root and a rootless user in CI there is
no need for a specific test to run podman as a different user here.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-22 20:08:36 +02:00
Paul Holzinger
d3e3b2f48b
test/e2e: remove SkipIfNetavarkVersionLessThan
We hard require netavark v2 to run with podman 6, as such it makes
little sense to guard just a specific set of tests.

Remove the helper to remove some code and skip the podman info call to
also speed it up a bit.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-22 20:08:36 +02:00
guillermodotn
5401c2d51f kube: fix quantityToInt64 dropping scale for fractional BinarySI
Signed-off-by: guillermodotn <guillerm0.n@outlook.es>
2026-06-19 15:56:21 +02:00
Matt Heon
df12c9806c
Merge pull request #28214 from MayorFaj/feat/28189-volume-rename
Some checks are pending
ci / int local rootless fedora-prior (push) Blocked by required conditions
ci / sys local rootless fedora-prior (push) Blocked by required conditions
ci / int remote root fedora-prior (push) Blocked by required conditions
ci / sys remote root fedora-prior (push) Blocked by required conditions
ci / int local root fedora-rawhide (push) Blocked by required conditions
ci / sys local root fedora-rawhide (push) Blocked by required conditions
ci / int local rootless fedora-rawhide (push) Blocked by required conditions
ci / sys local rootless fedora-rawhide (push) Blocked by required conditions
ci / int remote root fedora-rawhide (push) Blocked by required conditions
ci / sys remote root fedora-rawhide (push) Blocked by required conditions
ci / apiv2 root fedora-current (push) Blocked by required conditions
ci / bindings root fedora-current (push) Blocked by required conditions
ci / compose_v2 root fedora-current (push) Blocked by required conditions
ci / docker_py root fedora-current (push) Blocked by required conditions
ci / unit root fedora-current (push) Blocked by required conditions
ci / apiv2 rootless fedora-current (push) Blocked by required conditions
ci / compose_v2 rootless fedora-current (push) Blocked by required conditions
ci / unit rootless fedora-current (push) Blocked by required conditions
ci / upgrade v5.3.1 root fedora-current (push) Blocked by required conditions
ci / upgrade v5.6.2 root fedora-current (push) Blocked by required conditions
ci / machine linux amd64 (push) Blocked by required conditions
ci / windows unit (push) Blocked by required conditions
ci / windows e2e (push) Blocked by required conditions
ci / windows machine hyperv (push) Blocked by required conditions
ci / windows machine wsl (push) Blocked by required conditions
ci / macos machine applehv (push) Blocked by required conditions
ci / macos machine libkrun (push) Blocked by required conditions
ci / Total Success (push) Blocked by required conditions
Publish swagger / Build and publish swagger.yaml (push) Waiting to run
zizmor: GitHub Actions Security Analysis / Zizmor (push) Waiting to run
feat: implement volume rename functionality
2026-06-18 14:47:35 -04:00
MayorFaj
c6e5eb5553 Add support for ImageVolume option in Podman Quadlet
Signed-off-by: MayorFaj <mayorfaj@gmail.com>
2026-06-17 07:19:07 +01:00
Danish Prakash
5ac01dd4e1
Merge pull request #28897 from ROKUMATE/fix-image-scp-at-username
image scp: preserve usernames containing an "@"
2026-06-17 10:36:46 +05:30
Paul Holzinger
776bcd74c2
Revert "test/e2e: build in subdirectory"
This reverts commit 79e7b0f6fd.

With the proper tmpdir split we no longer need this.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-15 17:31:51 +02:00
Paul Holzinger
6e20527004
test/e2e: split cli tmpdir from per test tempdir
Right now the tmpdir for the test and cli are are the same and worse the
root/runroot directories are subdirectories of the tmpdir so tests can
create conflicting files.

Also for rootless remote builds this cuases problems for all tests which
uses the main tmpdir as context dir as they then try to copy the storage
files with different uids which will fail. Commit 79e7b0f6fd tried to
work around it but it is not enough as much more tests use this pattern.

So to fix this once and for all properly separate them. And then fixup a
few test cases that depended on the wrong value and make them use the
proper root value directly.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-15 17:31:51 +02:00
ROKUMATE
b9003828db image scp: preserve usernames containing an "@"
Signed-off-by: ROKUMATE <rohitkumawat0110@gmail.com>
2026-06-12 15:23:25 +05:30
Jan Rodák
b294a92a25
Add reasons to all staticcheck suppressions
Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2026-06-12 10:12:40 +02:00
MayorFaj
d01b7ae534 libpod: add volume rename support
Add a podman volume rename command, REST API endpoint, and bindings for renaming volumes.

The rename updates both the VolumeConfig and VolumeState tables in a single transaction and moves the volume directory on disk, rolling back if the transaction fails. Renaming an anonymous volume converts it to a named volume. Volumes that are in use, mounted, or backed by a volume plugin or the image driver cannot be renamed.

Fixes: #28189
Signed-off-by: MayorFaj <mayorfaj@gmail.com>
2026-06-11 21:56:15 +01:00
Paul Holzinger
79e7b0f6fd
test/e2e: build in subdirectory
So when running remote and rootless tests the buildImage() thing has one
big problem because it used the main test tmpdir as context.

However that dir also holds all the image layers with files that are
owned by other uids and because podman-remote does not use the userns it
cannot read some files and then fails when trying to tar up the context
dir.

To fix this use an extra sub directory. Now because some tests where
using the parent directory to supply context files just switch the
callers so they have full control still.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-10 20:26:11 +02:00
Paul Holzinger
cefaa0ee44
Merge pull request #28712 from elezar/info-cdi-devices
info: report configured and discovered CDI devices
2026-06-10 14:34:35 +02:00
Evan Lezar
dea67a3eba
test/e2e: use Ginkgo Setenv in info tests
Signed-off-by: Evan Lezar <elezar@nvidia.com>
2026-06-10 12:21:27 +02:00
Kir Kolyshkin
3c4068bcd6 deps: bump go-criu to v8.2.0
I guess this was not done by renovate/dependabot because of major
version bump.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2026-06-09 11:51:46 -07:00
zhongchunhe.zch
45b9e6f1a2 fix: handle multiple networks in 'podman inspect --type=all'
Signed-off-by: zhongchunhe.zch <zhongchunhe.zch@qq.com>
2026-06-08 20:37:47 +08:00
Paul Holzinger
1eda0cfbb4
test/e2e: fix flake in login tests
By default we run tests in parallel so when we mount test/certs with the
":Z" option it means only one container can read it, depending on the
startup times this can mean the container fails to start. I observed
this error in a CI run:

level=fatal msg="open /certs/domain.crt: permission denied"

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-05 13:06:26 +02:00
Paul Holzinger
88a32272b7
test/e2e: do not call out to htpasswd/cp in registry tests
Because we use hard coded names anyway we might as well skip the extra
command execution here that happened for each test.

Just inline a valid htpasswd line. Also remove the extra sync call,
there is no reason whatsoever for this file to be synced.

For cp there is also no reason at all to call an external command. Worse
the command also was never checked for errors.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-05 13:02:17 +02:00
Danish Prakash
bad0a715ee
specgen: move log_path handling over to the server
log_path is currently set at the client side and is ignored by
the server in a remote session. This leads to either incorrect log_path
being considered by the server or not honored at all. Move the handling
from client to the server, in line with other flags such as log_driver.

Signed-off-by: Danish Prakash <contact@danishpraka.sh>
2026-06-03 09:22:50 +05:30
Evan Lezar
3f64825cdc
test/e2e: use PodmanExitCleanly in info tests
Signed-off-by: Evan Lezar <elezar@nvidia.com>
2026-06-01 21:52:29 +02:00
Evan Lezar
e740848eb9
info: report configured and discovered CDI devices
Add CDI information to podman info and podman system info.

The host info now includes the configured CDI spec directories and the
currently discovered CDI devices. The devices are resolved when the info
endpoint is called and there is no need to refresh these in the background.

Also map the same data into the Docker-compatible /info response as CDISpecDirs and DiscoveredDevices.

Signed-off-by: Evan Lezar <elezar@nvidia.com>
2026-06-01 21:45:41 +02:00
Paul Holzinger
2393c05d28
Merge pull request #28806 from martinetd/detach_run_tty
cmd/podman: don't warn on `podman run -ti -d` from not a tty
2026-05-29 13:19:14 +02:00
Dominique Martinet
4ec95b5de1 cmd/podman: don't warn on podman run -ti -d from not a tty
`podman run -ti` warns when stdin is not a tty, but if the container is
run in detached state that warning does not make much sense: we just
need the environment where podman attach will be run to be a tty.

Running with `-ti` even in detached state can make sense to avoid
applications buffering their output (for realtime logs) or allowing
later interaction and should not warn users.

Also remove the comment saying that warning will become fatal, as there
seems to be agreement that such a breaking change will not be made

Signed-off-by: Dominique Martinet <dominique.martinet@atmark-techno.com>
2026-05-29 10:37:26 +09:00
Paul Holzinger
a2581cc82f
test/e2e: deduplicate some network subnets
With a high parallel node run we have much more test cases run in
parallel, as such I am seeing a lot of network subnet flakes as they
were using the same one and thus failed since there can only be one
config using it at a time.

Now hard coding this here is ugly, yes. But for now I just need to get
the flakes down in the new CI. Long term we should likely have a helper
that hands out known unused subnets for the tests.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-05-28 13:36:45 +02:00
Giuseppe Scrivano
20c6bd5bdd
Merge pull request #28793 from mheon/blackhole-routes
podman: Add support for blackhole routes
2026-05-27 16:29:48 +02:00
Povilas Kanapickas
daaf8b62ba podman: Add support for blackhole routes
Add support for blackhole, unreachable, and prohibit route types in podman
networks. These route types allow silently discarding packets (blackhole),
rejecting with destination unreachable (unreachable), or rejecting with
administratively prohibited (prohibit).

Note: Blackhole routes require netavark >= 2.0.0. Regular unicast routes
remain backward compatible with all netavark versions.

Signed-off-by: Povilas Kanapickas <povilas@radix.lt>

<MH: Rebased atop latest main & fixed cherry-pick conflicts>

Signed-off-by: Matt Heon <matthew.heon@pm.me>
2026-05-27 09:09:19 -04:00
Paul Holzinger
472c53b122
test/e2e: fix static port assignment
This seems to flake in the parallel CI runs as another process might
also use 8080 already.

We can use any port here so use GetPort() which should give us a
conflict free one.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-05-27 12:44:40 +02:00
Paul Holzinger
97d0279e94
test/e2e: fix some duplciated network subnets
This is really not nice but it is a quick fix to avoid more flakes.

The 10.11.12.0/24 was used by several tests and podman will only allow
the network to be created once with a given subnet so we need to ensure
they are conflict free, otherwise in parallel runs they will fail
randomly.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-05-27 12:44:39 +02:00
Paul Holzinger
07e257e7f6
test/e2e: skip "podman run --shm-size-systemd" as root
The container prints "Failed to set RLIMIT_CORE: Operation not permitted"
I do not know why this fails when run with sudo but lets just skip it it
for now.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-05-27 12:44:39 +02:00