Commit Graph

23280 Commits

Author SHA1 Message Date
Paul Holzinger 77081df8cd
libpod: bind ports before network setup
We bind ports to ensure there are no conflicts and we leak them into
conmon to keep them open. However we bound the ports after the network
was set up so it was possible for a second network setup to overwrite
the firewall configs of a previous container as it failed only later
when binding the port. As such we must ensure we bind before the network
is set up.

This is not so simple because we still have to take care of
PostConfigureNetNS bool in which case the network set up happens after
we launch conmon. Thus we end up with two different conditions.

Also it is possible that we "leak" the ports that are set on the
container until the garbage collector will close them. This is not
perfect but the alternative is adding special error handling on each
function exit after prepare until we start conmon which is a lot of work
to do correctly.

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

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-07-30 14:39:08 +02:00
Petter Mikkelsen cfac059d14 Disable compose-warning-logs if PODMAN_COMPOSE_WARNING_LOGS=false
Fixes: e62c928642 ("Make podman-compose refer to podman-compose(1) when using an external provider")

- test: add coverage for PODMAN_COMPOSE_WARNING_LOGS

Signed-off-by: Petter Mikkelsen <43xhyr9m@anonaddy.me>
2024-07-30 12:06:11 +00:00
openshift-merge-bot[bot] ae5d9701c8
Merge pull request #23438 from containers/renovate/github.com-onsi-gomega-1.x
fix(deps): update module github.com/onsi/gomega to v1.34.1
2024-07-30 10:49:38 +00:00
Daniel J Walsh 1c46686a41
Use new syntax for selinux options in quadlet
Fixes: https://github.com/containers/podman/issues/23432

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2024-07-30 06:15:45 -04:00
renovate[bot] 616005e0ad
fix(deps): update module github.com/onsi/gomega to v1.34.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-29 19:10:24 +00:00
openshift-merge-bot[bot] 2316d914b5
Merge pull request #23428 from Luap99/config-clone
pkg/api: do not leak config pointers into specgen
2024-07-29 19:09:01 +00:00
Ed Santiago 396961069c CI: kube test: fix broken external-storage test
I broke the kube external storage test in the course of my
safename PR: _write_test_yaml() with no command generated
a pod that did not trigger the conditions required for
this test.

Solution: run a container (top). Add new checks to prevent
this gap from happening again.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-07-29 12:23:35 -06:00
openshift-merge-bot[bot] 327266d458
Merge pull request #23434 from containers/renovate/setuptools-72.x
Update dependency setuptools to v72
2024-07-29 16:12:39 +00:00
openshift-merge-bot[bot] 094a1fbe55
Merge pull request #23425 from containers/renovate/github.com-moby-sys-user-0.x
fix(deps): update module github.com/moby/sys/user to v0.2.0
2024-07-29 16:09:54 +00:00
renovate[bot] 8b5b9d0bb5
Update dependency setuptools to v72
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-29 15:45:43 +00:00
Mario Loriedo bf3f207a49 Convert additional build context paths on Windows
Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2024-07-29 17:43:36 +02:00
openshift-merge-bot[bot] c7f00b6b5b
Merge pull request #23301 from ypu/automount-volume
test/system: Add a test case for automount with multi images
2024-07-29 14:22:40 +00:00
openshift-merge-bot[bot] ce71f3d20a
Merge pull request #23324 from ashley-cui/win
Use uploaded .zip for Windows action
2024-07-29 14:11:39 +00:00
Paul Holzinger 1b91df012d
pkg/api: do not leak config pointers into specgen
The value of the pointer might be changed while creating the container
causing unexpected side effects.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-07-29 15:12:55 +02:00
Ygal Blum f3a86266e6 Quadlet - Allow the user to set the service name for .pod files
Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2024-07-29 16:11:19 +03:00
Ygal Blum 1c4fbe7965 Quadlet tests - allow overriding the expected service name
Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2024-07-29 16:11:19 +03:00
openshift-merge-bot[bot] 3b51764d19
Merge pull request #23365 from containers/renovate/github.com-docker-docker-27.x
fix(deps): update module github.com/docker/docker to v27.1.0+incompatible
2024-07-29 11:55:59 +00:00
renovate[bot] 41cc3ae6f9
fix(deps): update module github.com/moby/sys/user to v0.2.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-29 11:11:18 +00:00
openshift-merge-bot[bot] c0c840b95b
Merge pull request #23424 from containers/renovate/github.com-vbauerster-mpb-v8-8.x
fix(deps): update module github.com/vbauerster/mpb/v8 to v8.7.5
2024-07-29 11:10:17 +00:00
renovate[bot] 884c43d416
fix(deps): update module github.com/vbauerster/mpb/v8 to v8.7.5
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-29 09:47:06 +00:00
openshift-merge-bot[bot] 4571a117b2
Merge pull request #23418 from containers/renovate/github.com-onsi-ginkgo-v2-2.x
fix(deps): update module github.com/onsi/ginkgo/v2 to v2.19.1
2024-07-29 09:45:03 +00:00
Ed Santiago 7bb3b83c17
CI: enable root user namespaces
Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-07-27 23:23:29 +02:00
Giuseppe Scrivano b59918e536
libpod: force rootfs for OCI path with idmap
when a --rootfs is specified with idmap, always use the specified
rootfs since we need a new mount on top of the original directory.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2024-07-27 19:25:10 +02:00
renovate[bot] 1d23f3ff11
fix(deps): update module github.com/onsi/ginkgo/v2 to v2.19.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 19:48:09 +00:00
openshift-merge-bot[bot] ea7500099a
Merge pull request #23402 from lsm5/iptables-modules-load
[skip-ci] RPM: podman-iptables.conf only on Fedora
2024-07-26 08:21:23 +00:00
Yiqiao Pu a18bd3e9c0 Add test steps for automount with multi images
These test steps check the automount feature with multi images for
following item:
  1. multi images can be auotmounted with yaml file.
  2. if there are same path exist in the images, the last one
should trumps.
  3. the volume is mounted readonly in the container.
  4. the volumes are only mounted in the specific container, but
not the whole pods.

Signed-off-by: Yiqiao Pu <ypu@redhat.com>
2024-07-26 15:56:33 +08:00
openshift-merge-bot[bot] a3e9a2af4b
Merge pull request #23405 from edsantiago/safename-cp
CI: cp tests: use safename
2024-07-25 23:08:38 +00:00
Ed Santiago 25fffdb74f CI: cp tests: use safename
Continuing efforts to make system tests parallel-safe

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-07-25 11:55:38 -06:00
Lokesh Mandvekar 1ecb68d92b
[skip-ci] RPM: podman-iptables.conf only on Fedora
RHEL10 defaults to nftables and doesn't need
/usr/lib/modules-load.d/podman-iptables.conf so this should be Fedora
only.

Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2024-07-25 12:33:13 -04:00
openshift-merge-bot[bot] 1466cd5341
Merge pull request #23400 from edsantiago/700-fix
CI: 700-play: fix a leaked non-safename
2024-07-25 13:33:56 +00:00
Ed Santiago fd0ff9060f CI: 700-play: fix a leaked non-safename
Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-07-25 05:49:42 -06:00
openshift-merge-bot[bot] 34d93d6502
Merge pull request #23321 from rhatdan/build
More information for podman --remote build and running out of space.
2024-07-24 20:48:52 +00:00
openshift-merge-bot[bot] 7ee2cfa03c
Merge pull request #23366 from rhatdan/quadlet
Add /run/containers/systemd, ${XDG_RUNTIME_DIR}/containers/systemd quadlet dirs
2024-07-24 20:26:49 +00:00
openshift-merge-bot[bot] 85358aed81
Merge pull request #23379 from mtrmac/chunked-tests
Prepare tests for better reuse with zstd:chunked pulls
2024-07-24 19:53:52 +00:00
openshift-merge-bot[bot] 443b04ba00
Merge pull request #23274 from giuseppe/no-artifacts-composefs
test: disable artifacts cache with composefs
2024-07-24 18:04:37 +00:00
openshift-merge-bot[bot] 1da89dd180
Merge pull request #23249 from giuseppe/play-kube-userns-fixes
kube generate/play restores the user namespace configuration
2024-07-24 17:34:59 +00:00
openshift-merge-bot[bot] cceb1a0f6e
Merge pull request #23389 from containers/renovate/github.com-cyphar-filepath-securejoin-0.x
Update module github.com/cyphar/filepath-securejoin to v0.3.1
2024-07-24 17:21:14 +00:00
openshift-merge-bot[bot] 4d397173ec
Merge pull request #23387 from cfergeau/gvproxy
build: Update gvisor-tap-vsock to 0.7.4
2024-07-24 16:53:46 +00:00
Giuseppe Scrivano d9c2806461
test: check that kube generate/play restores the userns
validate that a "podman generate" and "podman play" cycle restores the
specified user namespace.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2024-07-24 17:36:38 +02:00
Giuseppe Scrivano fef125c7b1
test: disable artifacts cache with composefs
layers restored from a tarball won't be converted to composefs so
disable the cache when using composefs.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2024-07-24 17:16:35 +02:00
Giuseppe Scrivano 8403f4c33f
test: fix podman pull tests
the condition is based on the fact that podman save|podman load
doesn't recreate the same digest, thus it would fail if the image in
the additional store was pulled with a simple "podman pull".

The same sequence of commands would fail using podman manually after a
"podman pull alpine".

Ignore the cache and use only the images that were pulled in the main
store.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2024-07-24 17:16:35 +02:00
Giuseppe Scrivano 90411b2290
vendor: bump c/storage
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2024-07-24 17:16:34 +02:00
renovate[bot] eadfbbc809
Update module github.com/cyphar/filepath-securejoin to v0.3.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-24 14:40:02 +00:00
openshift-merge-bot[bot] 714f7bacb2
Merge pull request #23386 from Luap99/test-fixes
test/system: two networking test fixes
2024-07-24 14:38:22 +00:00
Daniel J Walsh ce7dded38b
Add /run/containers/systemd, ${XDG_RUNTIME_DIR}/containers/systemd quadlet dirs
Fixes: https://github.com/containers/podman/issues/23363

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2024-07-24 09:28:00 -04:00
Christophe Fergeau 599c0d167c build: Update gvisor-tap-vsock to 0.7.4
This contains a fix for a gvproxy crash on macos on fast connections
with heavy network load.

This should fix https://github.com/containers/podman/issues/23114

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
2024-07-24 16:21:00 +03:00
Paul Holzinger 2e20681f05
test/system: fix borken pasta interface name checks
The tests didn't check anything actually because default_ifname requires
an ip version argument to work. Thus pasta_iface was empty, add new
checks to prevent this kind of error again.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-07-24 14:56:30 +02:00
Paul Holzinger da3edce4e6
test/system: fix bridge host.containers.internal test
The test assumes that if more than 1 ip on the host we should be able to
set host.containers.internal. This however is not how the logic works in
the code. What it actually does is to check all ips in the
rootless-netns and then it knows that it cannot use any of these ips.
This includes any podman bridge ips.

You can reproduce the error when you have only one ipv4 on the host then
run a container as root in the background and run the test:
hack/bats --rootless 505:host.containers.internal

So the failure here was that there was already a podman container
running as root on the default bridge thus the test saw 2 ips but then
the rootless run also uses the same subnet for its bridge and the code
knew that ip would not work either. I could have made another special
condition in test but the better way to work around it is to create a
new network. A new network will make sure there are no conflicting
subnets assigned so the test will pass.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-07-24 14:52:53 +02:00
Giuseppe Scrivano f70976a7e2
api: honor the userns for the infra container
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2024-07-24 13:36:13 +02:00
Giuseppe Scrivano fa2590a97a
play: handle 'private' as 'auto'
currently there is no way to specify the mappings, so at least treat a
private user namespace as "auto".

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2024-07-24 12:10:48 +02:00