Bug#809339: systemd: Ignores previously supported & documented method of disabling PredictableNetworkInterfaceNames

Felipe Sateler fsateler at debian.org
Wed Dec 30 16:18:22 GMT 2015


On Wed, 30 Dec 2015 14:18:35 +0000 Neil Williams <codehelp at debian.org> wrote:
> On Tue, 29 Dec 2015 15:24:55 -0300
> Felipe Sateler <fsateler at debian.org> wrote:
>
> > Do you have a log that you can share? Also, is the interface not named
> > as expected, or is the interface named correctly but not brought up?
>
> Interface is not named as expected - eth0 does not exist.
> Despite the name, the interface name created by systemd/udev is not
> actually predictable for emulated systems or systems to be used for
> live image or preinstallation use cases.

It is predictable when you know the hardware. It isn't when hardware
changes, as you note.

>
> > There were recent changes in the ifupdown/systemd integration, that
> > may be related.

This does not seem to be the problem.

> To get a logfile and to get the boot log, I added options for:
> --log=809339.log --log-level=debug  --serial-console.
>
> There was a temporary issue with the httpredir support, so I added:
> --mirror=http://mirror.bytemark.co.uk/debian
>
> 809339.log is the vmdebootstrap log output.
> debootstrap.log is the debootstrap output (there were no errors, so this is minimal)
> boot.log is the qemu boot output (by using the -nographic option when
> testing the image using qemu).

Udev is started in the initramfs. You need to rebuild the initramfs
after creating the link, the log doesn't show that you did.


<snip>
> Name=* is too generic for images for use other than with QEMU, Name=en*
> could rule out bridging, so this becomes awkward.

Well, if someone is defining a bridge, they surely need to somehow add
the configuration for it to the image. It wouldn't be picked up by
your auto eth0 rule either. If you spell out in a bit more detail what
the requirements need to be, then maybe I can suggest a better
configuration.

Note that systemd-networkd stops processing once it finds a match.
Thus, adding special config for another interface is as simple as
adding a file with a more specific match that sorts before 99.

> Secondly, the systemd-networkd service also needs to be enabled before
> the interface can be raised during boot (which is what *should* have
> happened with the vmdebootstrap commands used in the test image above).

I don't see anywhere where systemd-networkd is enabled in the
809339.log file. networkd is not enabled by default in the systemd
package, you need to do it manually after install.

-- 
Saludos,
Felipe Sateler





More information about the Pkg-systemd-maintainers mailing list