** Description changed: [impact] networkd fails to bring up networking on systems with long hostname [test case] setting the hostname: $ sudo hostnamectl set-hostname asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf then reboot and check the networking. [regression potential] as this adjusts logging and certain error handling while performing dhcp, any regression would likely cause dhcp failure. [scope] this is fixed by upstream commit a8494759b4f14af5337391727ba295ab708b92f9 (along with some associated commits around it), which is included starting in v240, so this is included already in Eoan and later. This is needed in Bionic and Xenial. + + [other info] + + NOTE: the problem around this is that Linux sets HOST_NAME_MAX to 64, + but RFC 1035 limits DNS labels to 63 characters, so any host with a max- + length single-label hostname (i.e. a 64 character hostname with no dots) + will be "valid" from Linux's perspective, but will violate RFC 1035 and + thus systemd will consider it invalid and won't pass it to the dhcp + server. + + Also note that a 64-character hostname that is *not* single-label (i.e. + a hostname with at least 1 dot) will not cause this problem. + + The systemd patches continue to reject sending the invalid hostname to + the dhcp server, but do not prevent networkd from finishing setting up + networking. [original description] 1) ubuntu version # lsb_release -rd Description: Ubuntu 18.04.3 LTS Release: 18.04 2) package version # apt-cache policy systemd systemd: Installed: 237-3ubuntu10.31 Candidate: 237-3ubuntu10.31 Version table: *** 237-3ubuntu10.31 500 500 http://mirrors.digitalocean.com/ubuntu bionic-updates/main amd64 Packag es 100 /var/lib/dpkg/status 237-3ubuntu10.29 500 500 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages 237-3ubuntu10 500 500 http://mirrors.digitalocean.com/ubuntu bionic/main amd64 Packages 3) I expect the network to come online correctly regardless of how long the hostname is. This is what happens with both 14.0 and 19.0 (I tested the same behavior with both of them). 4) the external network interface fails to be configured and is stuck in a (pending) state as reported by networkctl status -a setting the hostname: # hostnamectl set-hostname asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf after rebooting the machine, it no longer has network access. # journalctl Feb 06 19:29:41 asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf systemd[1]: Starting Wait for Network to be Configured... Feb 06 19:29:41 asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf systemd-networkd[605]: eth0: Link state is up-to-date Feb 06 19:29:41 asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf systemd-networkd[605]: eth0: found matching network '/run/systemd/network/10-netplan-eth0.network' Feb 06 19:29:41 asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf systemd-networkd[605]: sd-netlink: callback failed: Invalid argument Feb 06 19:29:41 asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf systemd-networkd[605]: lo: Link state is up-to-date # networkctl status -a: ● 1: lo Link File: /lib/systemd/network/99-default.link Network File: n/a Type: loopback State: carrier (unmanaged) Address: 127.0.0.1 ::1 ● 2: eth0 Link File: /run/systemd/network/10-netplan-eth0.link Network File: /run/systemd/network/10-netplan-eth0.network Type: ether State: off (pending) Path: pci-0000:00:03.0 Driver: virtio_net Vendor: Red Hat, Inc. Model: Virtio network device HW Address: ae:4d:91:1c:e8:86 DNS: 67.207.67.3 67.207.67.2 and to bring up the network correctly, set the hostname to something shorter # hostnamectl set-hostname asdf # systemctl restart systemd-networkd # networkctl status -a ● 1: lo Link File: /lib/systemd/network/99-default.link Network File: n/a Type: loopback State: carrier (unmanaged) Address: 127.0.0.1 ::1 ● 2: eth0 Link File: /run/systemd/network/10-netplan-eth0.link Network File: /run/systemd/network/10-netplan-eth0.network Type: ether State: routable (configured) Path: pci-0000:00:03.0 Driver: virtio_net Vendor: Red Hat, Inc. Model: Virtio network device HW Address: ae:4d:91:1c:e8:86 Address: 10.17.0.5 157.245.210.250 fe80::ac4d:91ff:fe1c:e886 Gateway: 157.245.208.1 (ICANN, IANA Department) DNS: 67.207.67.3 67.207.67.2
** Description changed: [impact] networkd fails to bring up networking on systems with long hostname [test case] setting the hostname: $ sudo hostnamectl set-hostname asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf then reboot and check the networking. [regression potential] as this adjusts logging and certain error handling while performing dhcp, any regression would likely cause dhcp failure. [scope] this is fixed by upstream commit a8494759b4f14af5337391727ba295ab708b92f9 (along with some associated commits around it), which is included starting in v240, so this is included already in Eoan and later. This is needed in Bionic and Xenial. [other info] - NOTE: the problem around this is that Linux sets HOST_NAME_MAX to 64, - but RFC 1035 limits DNS labels to 63 characters, so any host with a max- - length single-label hostname (i.e. a 64 character hostname with no dots) - will be "valid" from Linux's perspective, but will violate RFC 1035 and - thus systemd will consider it invalid and won't pass it to the dhcp - server. + the problem around this is that Linux sets HOST_NAME_MAX to 64, but RFC + 1035 limits DNS labels to 63 characters, so any host with a max-length + single-label hostname (i.e. a 64 character hostname with no dots) will + be "valid" from Linux's perspective, but will violate RFC 1035 and thus + systemd will consider it invalid and won't pass it to the dhcp server. Also note that a 64-character hostname that is *not* single-label (i.e. a hostname with at least 1 dot) will not cause this problem. The systemd patches continue to reject sending the invalid hostname to the dhcp server, but do not prevent networkd from finishing setting up networking. [original description] 1) ubuntu version # lsb_release -rd Description: Ubuntu 18.04.3 LTS Release: 18.04 2) package version # apt-cache policy systemd systemd: Installed: 237-3ubuntu10.31 Candidate: 237-3ubuntu10.31 Version table: *** 237-3ubuntu10.31 500 500 http://mirrors.digitalocean.com/ubuntu bionic-updates/main amd64 Packag es 100 /var/lib/dpkg/status 237-3ubuntu10.29 500 500 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages 237-3ubuntu10 500 500 http://mirrors.digitalocean.com/ubuntu bionic/main amd64 Packages 3) I expect the network to come online correctly regardless of how long the hostname is. This is what happens with both 14.0 and 19.0 (I tested the same behavior with both of them). 4) the external network interface fails to be configured and is stuck in a (pending) state as reported by networkctl status -a setting the hostname: # hostnamectl set-hostname asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf after rebooting the machine, it no longer has network access. # journalctl Feb 06 19:29:41 asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf systemd[1]: Starting Wait for Network to be Configured... Feb 06 19:29:41 asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf systemd-networkd[605]: eth0: Link state is up-to-date Feb 06 19:29:41 asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf systemd-networkd[605]: eth0: found matching network '/run/systemd/network/10-netplan-eth0.network' Feb 06 19:29:41 asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf systemd-networkd[605]: sd-netlink: callback failed: Invalid argument Feb 06 19:29:41 asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf systemd-networkd[605]: lo: Link state is up-to-date # networkctl status -a: ● 1: lo Link File: /lib/systemd/network/99-default.link Network File: n/a Type: loopback State: carrier (unmanaged) Address: 127.0.0.1 ::1 ● 2: eth0 Link File: /run/systemd/network/10-netplan-eth0.link Network File: /run/systemd/network/10-netplan-eth0.network Type: ether State: off (pending) Path: pci-0000:00:03.0 Driver: virtio_net Vendor: Red Hat, Inc. Model: Virtio network device HW Address: ae:4d:91:1c:e8:86 DNS: 67.207.67.3 67.207.67.2 and to bring up the network correctly, set the hostname to something shorter # hostnamectl set-hostname asdf # systemctl restart systemd-networkd # networkctl status -a ● 1: lo Link File: /lib/systemd/network/99-default.link Network File: n/a Type: loopback State: carrier (unmanaged) Address: 127.0.0.1 ::1 ● 2: eth0 Link File: /run/systemd/network/10-netplan-eth0.link Network File: /run/systemd/network/10-netplan-eth0.network Type: ether State: routable (configured) Path: pci-0000:00:03.0 Driver: virtio_net Vendor: Red Hat, Inc. Model: Virtio network device HW Address: ae:4d:91:1c:e8:86 Address: 10.17.0.5 157.245.210.250 fe80::ac4d:91ff:fe1c:e886 Gateway: 157.245.208.1 (ICANN, IANA Department) DNS: 67.207.67.3 67.207.67.2 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1862232 Title: Long hostname causes networking setup to fail To manage notifications about this bug go to: https://bugs.launchpad.net/systemd/+bug/1862232/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs