Commit Graph

6393 Commits

Author SHA1 Message Date
Paul Holzinger
0bedf7f1d2 podman ps: show exposed ports under PORTS as well
Docker shows exposed ports as just PORT/PROTO so match that behavior. It
is not clear to me why someone needs that information in ps as "expose"
doesn't effect anything networking related.

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

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-04-10 14:24:23 +02:00
openshift-merge-bot[bot]
9fc46dfb67 Merge pull request #22314 from edsantiago/blow-a-fuse
e2e tests: remove requirement for fuse-overlayfs
2024-04-09 19:33:40 +00:00
renovate[bot]
266801bf2d fix(deps): update module golang.org/x/tools to v0.20.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-09 11:42:31 +00:00
Ed Santiago
847ca1f9ea e2e tests: remove requirement for fuse-overlayfs
As of April 2024, it's no longer included in rawhide by default.
We could force-install it, but it's 2024 and it seems likely
that all systems on which Podman 5 will run will have kernels
that support native overlay.

I also added two debugging printfs to the 'podman info' test
that initially failed on an (unpublished) rawhide VM. Without
these printfs it was impossible to diagnose the failure.

Updating docs is left as a future exercise.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-04-09 05:25:20 -06:00
openshift-merge-bot[bot]
447d3e2a44 Merge pull request #22277 from Luap99/runroot
podman --runroot: remove 50 char length restriction
2024-04-06 11:12:07 +00:00
openshift-merge-bot[bot]
19600fa5e3 Merge pull request #22265 from containers/renovate/requests-mock-1.x
Update dependency requests-mock to ~=1.12.1
2024-04-05 16:27:27 +00:00
Paul Holzinger
fcf9327773 podman --runroot: remove 50 char length restriction
This was added ages ago in commit c65b3599cc, however in the meantime
both podman and conmon can support longer socket paths as they use a
workaround to open the path via /proc/self/fd, see openUnixSocket() in
libpod/oci_conmon_attach_linux.go

Thus this restriction is not needed anymore and we can drop a workaround
in the tests.

Fixes #22272

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-04-05 14:41:50 +02:00
renovate[bot]
beb4fd1b4a Update dependency requests-mock to ~=1.12.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-04 18:37:25 +00:00
Paul Holzinger
f2c365c6f6 rm --force work for more than one arg
When we remove with --force we do not return a error if the input does
not exists, however if we get more than on input we must try to remove
all and not just NOP out and not remove anything just because one arg
did not exists.

Also make the code simpler for commands that do have the --ignore option
and just make --force imply --ignore which reduces the ugly error
handling.

Fixes #21529

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-04-04 17:47:28 +02:00
openshift-merge-bot[bot]
8ab4bc9250 Merge pull request #22243 from Luap99/rootless-netns
vendor latest c/common to fix rootless-netns issues
2024-04-04 11:40:35 +00:00
openshift-merge-bot[bot]
0106e5929d Merge pull request #22245 from giuseppe/do-not-chown-again-with-U
container: do not chown to dest target with U
2024-04-03 15:33:34 +00:00
openshift-merge-bot[bot]
6b9b85e011 Merge pull request #22175 from edsantiago/skip_if_no_slirp
systests: conditionalize slirp4netns tests
2024-04-03 13:32:19 +00:00
Paul Holzinger
a61ae8c0a9 test/system: add rootless-netns test for setup errors
This is a test for #22168.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-04-03 15:01:51 +02:00
Giuseppe Scrivano
519a66c6a9 container: do not chown to dest target with U
if the 'U' option is provided, do not chown the destination target to
the existing target in the image.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2024-04-03 14:41:33 +02:00
Ed Santiago
d27313ad10 systests: conditionalize slirp4netns tests
As of podman 5.0, slirp4netns is a soft dependency. It might
not be installed on a host (and, in gating tests, is not).
Deal with it.

Use podman itself, not 'which', to tell us if slirp4netns
is available. We don't want to duplicate podman's path-check
logic. Since this check is expensive, cache the result.

(Change the has_pasta check similarly)

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-04-03 05:49:21 -06:00
Ed Santiago
e697631af9 CI: systests: instrument flaky tests
Three infrequent flakes. Add debug code to help track
down if/when they happen again.

And, one of them, fix a logic bug that will save us 8-10s
on system tests runs.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-04-03 05:26:51 -06:00
Giuseppe Scrivano
7d68362cf5 test: do not skip tests under rootless
there are no overlay mounts in the "podman run with --volume and U
flag" tests so no need to skip them.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2024-04-03 11:02:16 +02:00
openshift-merge-bot[bot]
e1f49529fa Merge pull request #22229 from giuseppe/fix-idmap-existing-volume
libpod: use original IDs if idmap is provided
2024-04-01 19:08:29 +00:00
Giuseppe Scrivano
d81319eb71 libpod: use original IDs if idmap is provided
if the volume is mounted with "idmap", there should not be any mapping
using the user namespace mappings since this is done at runtime using
the "idmap" kernel feature.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2024-03-31 23:46:17 +02:00
Ed Santiago
aab4674feb CI: Bump VMs to 2024-03-28
Emergency update to get pasta 03-26. Also gives us crun 1.14.4.

One unexplained difference: fc39 and rawhide now create:

    /run/log/journal/SOMETHING/system.journal

...and the SOMETHING is o-rwx. This triggers journalctl to spit out a warning:

    Hint: You are currently not seeing messages from the system.
          Users in groups 'adm', 'systemd-journal', 'wheel' can see all messages.
          Pass -q to turn off this notice.

...which in turn causes ExitCleanly() to fail.

It is not clear who/what is creating this journal directory, or
why it allofasudden started just now. Workaround is to add -q
to journalctl in one test.

One more difference, another test now requires SYSLOG capability.

VM package info:
    https://github.com/containers/automation_images/pull/342

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-03-28 08:35:29 -06:00
openshift-merge-bot[bot]
a1a5bd3bd5 Merge pull request #21493 from mporrato/fix-21211
kube play: always pull when both imagePullPolicy and tag are missing
2024-03-27 21:58:45 +00:00
openshift-merge-bot[bot]
25ebf10967 Merge pull request #22177 from mheon/fix_22172
Add rootless network command to `podman info`
2024-03-26 17:15:53 +00:00
Matt Heon
b56331cd2f Add rootless network command to podman info
Useful to tell whether containers are being made with pasta or
slirp4netns by default. Info is bloated enough already that I
don't really have concerns about shoving more into it.

Fixes #22172

Signed-off-by: Matt Heon <mheon@redhat.com>
2024-03-26 09:56:48 -04:00
diplane
83fe867c14 Add support for annotations
Fix following issues:
- create container API handler ignores Annotations from HostConfig
- inspect container API handler does not provide Annotations as
  part of HostConfig

Signed-off-by: diplane <diplane3d@gmail.com>
2024-03-22 19:38:22 +00:00
openshift-merge-bot[bot]
3a327fa16e Merge pull request #22096 from containers/renovate/github.com-cpuguy83-go-md2man-v2-2.x
Update module github.com/cpuguy83/go-md2man/v2 to v2.0.4
2024-03-20 15:54:11 +00:00
openshift-merge-bot[bot]
5bcafe7ae0 Merge pull request #22019 from saschagrunert/cri-o-annotations
Remove CRI-O related annotations
2024-03-20 15:51:29 +00:00
openshift-merge-bot[bot]
d5a2c4166e Merge pull request #22089 from edsantiago/minikube-debug
minikube: instrument tests, to allow debugging failures
2024-03-20 15:40:26 +00:00
renovate[bot]
a872003a2a Update module github.com/cpuguy83/go-md2man/v2 to v2.0.4
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 11:43:15 +00:00
Ed Santiago
aa5c4879b4 minikube: instrument tests, to allow debugging failures
New run_minikube() helper, modeled after run_podman(). Echoes
each command being run and its output. On failure, runs minikube logs.

Addresses (does not close) #21931 which is hitting us hard in CI.
Probably quay flakes, but it's impossible to tell without logs.

Also: bug fix: one "run podman" fixed to run_podman

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-03-19 11:11:44 -06:00
Paul Holzinger
dc1795b4b2 use new c/common pasta2 setup logic to fix dns
By default we just ignored any localhost reolvers, this is problematic
for anyone with more complicated dns setups, i.e. split dns with
systemd-reolved. To address this we now make use of the build in dns
proxy in pasta. As such we need to set the default nameserver ip now.

A second change is the option to exclude certain ips when generating the
host.containers.internal ip. With that we no longer set it to the same
ip as is used in the netns. The fix is not perfect as it could mean on a
system with a single ip we no longer add the entry, however given the
previous entry was incorrect anyway this seems like the better behavior.

Fixes #22044

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-03-19 12:09:31 +01:00
Stefano Brivio
23433ec7bd test/system: Add support for multipath routes in pasta networking tests
In some environments, such as the one described in
https://github.com/containers/podman/issues/20927, the default route
is given as nexthop gateways. That is, it's a multipath routes with
multiple gateways.

That means that pasta(1), after commit 6c7623d07bbd ("netlink: Add
support to fetch default gateway from multipath routes"), can start
and use a default gateway from that route.

Just like in pasta(1), in these tests, the default route indicates
which upstream interface we should pick. If we ignore multipath
routes, IPv6 addresses and gateway addresses themselves won't be
available, so, while pasta is now able to configure the container,
IPv6 tests will expect to find no address and no gateway, hence fail
due to the mismatch.

Try to get routes, including gateway addresses and interface names,
from nexthop objects, in case the selection of a regular default
route yields no results.

Link: https://github.com/containers/podman/issues/20927
Closes: #20927
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
2024-03-18 14:29:38 +01:00
openshift-merge-bot[bot]
f5abca415d Merge pull request #21979 from chilikk/fix-exec-headers
fix invalid HTTP header values when hijacking a connection
2024-03-14 19:38:46 +00:00
renovate[bot]
d5e0ecc619 Update dependency setuptools to ~=69.2.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-14 02:36:50 +00:00
Denys Knertser
2ff5716b7e fix invalid HTTP header values when hijacking a connection
Signed-off-by: Denys Knertser <denys@avassa.io>
2024-03-12 23:05:25 +01:00
Sascha Grunert
1901403eda Removing CRI-O related annotations
The annotations should be maintained by CRI-O itself to decouple the
projects from a dependency perspective.

[NO NEW TESTS NEEDED]

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2024-03-12 14:56:06 +01:00
openshift-merge-bot[bot]
35a8b03267 Merge pull request #21949 from edsantiago/more-flake-fixes
CI: try to fix more flakes
2024-03-06 14:04:06 +00:00
openshift-merge-bot[bot]
9c73326e12 Merge pull request #21948 from edsantiago/fix-checkpoint-race
e2e: fix potential race in file-locks test
2024-03-05 21:10:56 +00:00
Ed Santiago
39851a0b98 CI: try to fix more flakes
Most of them look like our usual "assume too much about run -d".

One of them is just an unexpected warning, a push retry. Remove
the ExitCleanly() from that test, just rely on Exit(0).

The other two have to do with podman logs, which we know can lag.
Add a short 1-second retry loop.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-03-05 12:15:22 -07:00
Ed Santiago
945995be10 e2e: fix potential race in file-locks test
Two test flakes in the past week. Looks like the usual race
between "run -d" and "assume the container is ready". I don't
know if this will resolve them, but it's still a good idea.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-03-05 07:55:06 -07:00
Paul Holzinger
9ee96a9569 properly implement pull-error event status
Commit 03f6589f3 added basic support for pull-error event from libimage
but it contains several problems:
1. storing the error as error type prevents it from being unmarshalled,
   thus change it to a string
2. the error was never propagated from the libimage event to the podman
   event struct
3. the error message was not wired into the cli and API

This commit fixes these problems.

Fixes #21458

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-03-05 10:50:42 +01:00
renovate[bot]
155cd463da fix(deps): update module golang.org/x/tools to v0.19.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-05 06:58:51 +00:00
Paul Holzinger
ebce0e71da test/e2e: check for stderr errors in cleanup()
There are many code paths which only do logrus but still exit 0 so this
should catch more bugs. Unfortunately runc logs way to much random stuff
so we ignore this check for runc right now.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-03-04 11:25:22 +01:00
openshift-merge-bot[bot]
0ace66f1ae Merge pull request #21904 from containers/renovate/python-dateutil-2.x
chore(deps): update dependency python-dateutil to ~=2.9.0
2024-03-01 18:15:34 +00:00
Brent Baude
0898b338b0 Use stop timeout of zero for system reset
when performing a system reset with containers that run somewhere where
a soft kill wont work (like sleep), containers will wait 10 seconds
before terminating with a sigkill.  But for a forceful action like
system reset, we should outright set no timeout so containers stop
quickly and are not waiting on a timeout

Fixes #21874

Signed-off-by: Brent Baude <bbaude@redhat.com>
2024-03-01 10:51:58 -06:00
renovate[bot]
542883b9ba chore(deps): update dependency python-dateutil to ~=2.9.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-01 14:45:10 +00:00
Daniel J Walsh
3abc488c84 Vendor in containers/(buildah, common)
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2024-02-29 20:06:28 -05:00
openshift-merge-bot[bot]
38546de7b6 Merge pull request #21892 from rhatdan/codespell
[SKIP-ci] Run codespell on code
2024-03-01 00:34:01 +00:00
openshift-merge-bot[bot]
b736c461bb Merge pull request #21563 from mheon/test_pasta_default
Vendor c/common pasta branch for testing
2024-02-29 22:13:47 +00:00
Daniel J Walsh
4a03da22ad Run codespell on code
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2024-02-29 16:55:31 -05:00
openshift-merge-bot[bot]
1519c04212 Merge pull request #21886 from containers/renovate/pytest-7.x
Update dependency pytest to v7.4.4
2024-02-29 20:45:48 +00:00