Replies: 2 comments
-
Avahi is multicast, if I'm correct? I don't believe slirp4netns handles multicast, so you'll probably need to use |
Beta Was this translation helpful? Give feedback.
-
Indeed, we are talking about multicast traffic. However, doing the exact same thing with Bionic or later works as expected. I've prepared two Dockerfiles. One is for Xenial:
The other is for Bionic:
Then there is entrypoint.sh:
Let's say that I build images with tags. The first one gets tagged as avahi_xenial, the second one gets tagged as avahi_bionic. Here are the results of running the images and executing avahi_browse and ifconfig: Image avahi_xenial
From another terminal:
Here's the network settings portion of podman inspect's output:
Image avahi_bionic
From another terminal:
Major difference: the service gets discovered on the loopback interface! Here's the network settings portion of podman inspect's output:
Differences between Xenial and BionicOf course, the two have different versions of about everything. Here are the versions of dbus and Avahi:
Apart from that, dbus- and Avahi-related config files look the same. Findings so farUsing dbus-monitor, I was able to identify a difference that occurs when avahi-browse looks for services. Here's the output from within the Xenial container:
Here's the output from within the Bionic container:
Obviously, in the Xenial container, the service type browser "finds nothing". In contrast, in the Bionic container, it gets "ItemNew" signals and in turn goes forward to browse for actual services matching the found service type. To exclude any kind of weird situation like "Avahi never worked on Xenial", I installed Xenial as a VirtualBox VM and tried Avahi there, which works absolutely fine. After a lot of debugging, reading Avahi code, building Avahi from sources in the respective container etc., it turns out that Avahi generally ignores loopback interfaces and interfaces that can't do multicast. It does mention this in the documentation somewhere. However, starting with Bionic, it adds The good news: there's nothing wrong with Podman. Thanks for thinking about the topic though, I appreciate it 👍 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)
/kind bug
Description
When running Ubuntu Xenial in podman, announcing a service with Avahi appears to do nothing although a success message appears. The service cannot be found - inside the same container - with avahi-browse.
Note that I am absolutely uncertain whether this is a bug in podman or whether it's simply related to the sheer age of Ubuntu Xenial.
Steps to reproduce the issue:
then in the running container:
then back in the host system, in a separate terminal:
There is no output.
Describe the results you received:
avahi-browse does not discover the announced service.
Describe the results you expected:
avahi-browse should discover the announced service.
Additional information you deem important (e.g. issue happens only occasionally):
It works perfectly with Ubuntu Bionic or later.
Output of
podman version
:Output of
podman info --debug
:Package info (e.g. output of
rpm -q podman
orapt list podman
):Have you tested with the latest version of Podman and have you checked the Podman Troubleshooting Guide? (https://github.com/containers/podman/blob/main/troubleshooting.md)
Tested with the latest version of Podman: No
Checked the troubleshooting guide: Yes
Additional environment details (AWS, VirtualBox, physical, etc.):
Podman runs inside a VirtualBox VM on Linux Mint 20.3 Una, which is based on Ubuntu Focal.
Beta Was this translation helpful? Give feedback.
All reactions