Bug 2269485 - user containers fail with "Error: could not find slirp4netns" [NEEDINFO]
Summary: user containers fail with "Error: could not find slirp4netns"
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: containers-common
Version: rawhide
Hardware: Unspecified
OS: Linux
unspecified
urgent
Target Milestone: ---
Assignee: Lokesh Mandvekar
QA Contact: Fedora Extras Quality Assurance
URL: https://artifacts.dev.testing-farm.io...
Whiteboard: CockpitTest
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-03-14 05:35 UTC by Martin Pitt
Modified: 2024-04-02 10:19 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2024-04-02 10:19:09 UTC
Type: ---
Embargoed:
lsm5: needinfo? (mheon)


Attachments (Terms of Use)

Description Martin Pitt 2024-03-14 05:35:34 UTC
Yesterday's containers-common update [1] to 0.58.0-1.fc41 changed the dependencies [2], in particular it dropped slirp4netns (Suggests: doesn't count, as it doesn't get installed by default). This broke user containers, see below.

This is a freshly booted Rawhide VM, i.e. no old config files.

So either the dependency  was dropped prematurely, or it was deliberate and podman shouldn't use slirp any more (which is my understanding, as it wants to use pasta now?) -- so please feel free to reassign to podman.

[1] https://koji.fedoraproject.org/koji/buildinfo?buildID=2420115
[2] https://src.fedoraproject.org/rpms/containers-common/c/17934d87b2686ab5c18cb56277967c926ded61f3?branch=rawhide

Reproducible: Always

Steps to Reproduce:
$ sudo dnf install -y podman
$ podman run -it --rm quay.io/libpod/busybox
Error: could not find slirp4netns, the network namespace can't be configured: exec: "slirp4netns": executable file not found in $PATH



Seen by cockpit-podman tests, e.g.
https://artifacts.dev.testing-farm.io/71f500ce-c7a0-4b7e-b9ef-47ded095378e/
https://artifacts.dev.testing-farm.io/8ed028ba-50e2-4970-90c2-046a560910b3/
https://artifacts.dev.testing-farm.io/86c12d23-18f5-4392-aad6-d49d9180c1ff/

Comment 1 Lokesh Mandvekar 2024-03-14 10:23:39 UTC
@pholzing I pulled the containers.conf file from c/common v0.58.0 in this containers-common update and set pasta as a hard dep and slirp4netns to a weaker dep Suggests. Looks like that wasn't enough and podman was still searching for slirp4netns on a fresh rawhide VM. Is there any other configuration required?

Comment 2 Paul Holzinger 2024-03-14 10:30:43 UTC
Looks like f40/41 is still on podman 5.0.0-rc1??? The pasta default change was merged for 5.0.0-rc4.

Comment 3 Lokesh Mandvekar 2024-03-14 10:32:38 UTC
(In reply to Paul Holzinger from comment #2)
> Looks like f40/41 is still on podman 5.0.0-rc1??? The pasta default change
> was merged for 5.0.0-rc4.

Thanks Paul. 

@mpitt would you be able to rerun the tests with the latest rawhide rpm ?

Comment 4 Martin Pitt 2024-03-15 05:21:00 UTC
This morning's `dnf update` run in my rawhide VM still doesn't see anything newer than podman-5.0.0~rc1-3.fc40.x86_64. Maybe it's because the rawhide updates happen in such a rapid succession [1] that hardly any update actually makes it into a compose and the mirror delay?

This is certainly a dependency bug in containers-common, it should Conflicts: to podman < (version_with_pasta).

Downloading it directly from koji:

  dnf update -y https://kojipkgs.fedoraproject.org//packages/podman/5.0.0~rc6/2.eln136/x86_64/podman-5.0.0~rc6-2.eln136.x86_64.rpm


But now `podman run -it --rm quay.io/libpod/busybox` hangs completely, doesn't give me a shell, can't be ^Ced, and there's neither journal nor any other messages. 

systemd-cgls shows

└─podman-1353.scope
  ├─1353 podman run -it --rm quay.io/libpod/busybox
  └─1360 /usr/bin/pasta --config-net -t none -u none -T none -U none --no-map-gw --dns none --quiet --netns /run/user/1000/netns/netns-6fc583c9-1160-0549-12c5-2d5fe1b6951f

but that's about it, nothing happens. This still remains after a reboot. This is another bug which has started to break all upstream podman rawhide tests, I'll file that separately.

But it means that I can neither confirm nor reject this slirp4netns issue with newer versions.

[1] https://bodhi.fedoraproject.org/updates/?packages=podman

Comment 5 Martin Pitt 2024-03-15 05:37:29 UTC
I reported the new hang here: https://github.com/containers/podman/issues/22052

Comment 6 Lokesh Mandvekar 2024-03-26 10:10:43 UTC
@pholzing The "could not find slirp4netns" seems to still occur on rawhide gating tests with 5.0.0-1 with: containers-common-0.58.0-4.fc41.noarch and passt-0^20240320.g71dd405-1.fc41.x86_64 as of Mar 25 https://artifacts.dev.testing-farm.io/a4045627-d621-474c-acc5-a221b3297782/work-tests.ymlnj5vrrlr/tests-csu495bm/test.podman-rootless.bats.log .

The link mentions all the installed packages on top and all are the latest available AFAIK. And given the pasta default was set in 5.0.0-rc4, this is strange.

Comment 7 Lokesh Mandvekar 2024-03-26 10:16:39 UTC
@mheon  @santiago CC

Comment 8 Ed Santiago 2024-03-26 11:48:26 UTC
Today is March 26. I cannot reproduce the slirp-error nor the hang, either with or without --enablerepo=updates-testing .

The gating-test failures are in tests that explicitly use --network=slirp4netns. Those need to be fixed, but their failure has nothing to do with this BZ.

Comment 9 Lokesh Mandvekar 2024-03-26 11:50:38 UTC
@(In reply to Ed Santiago from comment #8)
> Today is March 26. I cannot reproduce the slirp-error nor the hang, either
> with or without --enablerepo=updates-testing .
> 
> The gating-test failures are in tests that explicitly use
> --network=slirp4netns. Those need to be fixed, but their failure has nothing
> to do with this BZ.

Thanks Ed. I'm gonna waive the test failures then. The tests are timing out on toolbx and Rishi is investigating it, but I'd rather we get these bodhi in asap.

Comment 10 Paul Holzinger 2024-04-02 10:09:06 UTC
Can this be closed now? The default is pasta (and passt should be installed by default), only users that use --network slirp4netns have to install slirp4netns, that is the case for our gating tests as we want to test both the pasta and the slirp4netns podman integration.

Comment 11 Martin Pitt 2024-04-02 10:19:09 UTC
Yeah, I suppose. Dependencies in Fedora are a lost cause anyway, so there's nothing else to do here. Thanks!


Note You need to log in before you can comment on or make changes to this bug.