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 [email protected] https://mail.gnome.org/mailman/listinfo/networkmanager-list
