On Fri, Apr 10, 2020 at 07:44:51PM +0200, Thomas HUMMEL wrote: > On 4/9/20 10:59 AM, Beniamino Galvani wrote: > > > alking about D-Bus, I see this in the begining of all 3 (default, none, > > > dhcp) traces : > > > > > > Apr 08 14:53:29 maestro-1000.maestro.pasteur.fr NetworkManager[25235]: > > > <trace> [1586350409.2521] policy: get-hostname: > > > "maestro-1000.maestro.pasteur.fr" (from dbus) > > > Apr 08 14:53:29 maestro-1000.maestro.pasteur.fr NetworkManager[25235]: > > > <trace> [1586350409.2521] policy: hostname-original: set to > > > "maestro-1000.maestro.pasteur.fr" > > > > > > how is this hostname fully qualified who sets it ? The original hostname > > > always seems to be this one. > > I don't know, it is set before NM starts. > > Hello, again > > I tried to figure out the simplier case : hostname-mode=none. > > I guess the above fqdn hostname read from D-Bus is the transient hostname, > correct ?
Yes. > I don't think it can be set by dhcp if NM is the one which starts > dhclient. Correct. But I see that when NM starts, there are already dynamic addresses configured on the interface: Apr 08 14:53:28 maestro-1000.maestro.pasteur.fr NetworkManager[25235]: <debug> [1586350408.9701] platform: (enp33s0f0) signal: address 4 added: 192.168.152.2/20 lft 43173sec pref 43173sec ... and so probably DHCP was run before NM. Is this machine booting from a network share? Are you passing any network-related command line to kernel, like for example ip=... ? In such case, networking would be configured in the initrd by dracut. > As a matter of fact, I saw that dhconfig() from dhcpd-scripts > /usr/sbin/dhclient-script can indeed set the transient hostname. > The problem is that it sets the transient name only if hostname is needed, > which, looking at the script is if transient hostname is empty or localhost > : > > need_hostname () > { > CHECK_HOSTNAME=$(hostnamectl --transient) > if [[ "${CHECK_HOSTNAME}" = "(none)" ]] || > [[ "${CHECK_HOSTNAME}" = "localhost" ]] || > [[ "${CHECK_HOSTNAME}" = "localhost.localdomain" ]]; then > return 0 > else > return 1 > fi > } > > which must not be the case because of the fqdn hostname we see BEFORE NM > starts (I am assuming that dhclient is only started by NM of course here)... The dhclient-script is not run when dhclient is started by NM. > Or could that initial fqdn hostname come from systemd-hostnamed at boot > which would fall back setting the transient hostname by reverse dns lookup > of the ip address ? No, I don't think it does. I think that DHCP is run before NM, probably in initrd or by other services. Beniamino
signature.asc
Description: PGP signature
_______________________________________________ networkmanager-list mailing list networkmanager-list@gnome.org https://mail.gnome.org/mailman/listinfo/networkmanager-list