Bug#868650: network-online.target should not be reached before getaddrinfo() can succeed

Wouter Verhelst wouter at debian.org
Sun Jul 16 11:05:59 BST 2017


Package: systemd
Version: 232-23
Severity: normal
File: network-online.target

Hi,

After fiddling with nbd at .service in the nbd-client package so that it looks like this:

[Unit]
Description=NBD client connection for %i
Documentation=man:nbd-client
PartOf=nbd.service
Before=dev-%i.device
After=network-online.target
DefaultDependencies=no
Conflicts=shutdown.target
[Service]
Type=forking
ExecStart=/sbin/nbd-client %i
[Install$
RequiredBy=dev-%i.device
RequiredBy=dev-%ip1.device
RequiredBy=dev-%ip2.device
[... repeat the above for all pX, X = [1, 15] ...]

and rebooting a machine with a fully configured nbd setup, I see the following:

root at testvm:~# systemctl status nbd at nbd0nbd at nbd0.service - NBD client connection for nbd0
   Loaded: loaded (/etc/systemd/system/nbd at .service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sun 2017-07-16 11:54:16 CEST; 4min 22s ago
     Docs: man:nbd-client
  Process: 366 ExecStart=/sbin/nbd-client nbd0 (code=exited, status=1/FAILURE)

jul 16 11:54:16 nbdclient systemd[1]: Starting NBD client connection for nbd0...
jul 16 11:54:16 nbdclient nbd-client[366]: getaddrinfo failed: Address family for hostname not supported
jul 16 11:54:16 nbdclient systemd[1]: nbd at nbd0.service: Control process exited, code=exited status=1
jul 16 11:54:16 nbdclient systemd[1]: Failed to start NBD client connection for nbd0.
jul 16 11:54:16 nbdclient systemd[1]: nbd at nbd0.service: Unit entered failed state.
jul 16 11:54:16 nbdclient systemd[1]: nbd at nbd0.service: Failed with result 'exit-code'.

This is after just having booted and logged on as root. If I immediately run
"systemctl restart nbd at nbd0" at this point, everything works well.

It would seem that systemd reaches network-online.target before the network is
fully functional.

[The below is from the machine on which I did the above, a slightly
outdated jessie VM, which was installed before the release. If
necessary, I can try this with a more up-to-date version of jessie,
testing, or unstable, but I'm on an airplane right now...]

-- Package-specific info:

-- System Information:
Debian Release: 9.0
  APT prefers testing-updates
  APT policy: (500, 'testing-updates'), (500, 'testing')
Architecture: amd64
 (x86_64)

Kernel: Linux 4.9.0-3-amd64 (SMP w/1 CPU core)
Locale: LANG=nl_BE.UTF-8, LC_CTYPE=nl_BE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages systemd depends on:
ii  adduser         3.115
ii  libacl1         2.2.52-3+b1
ii  libapparmor1    2.11.0-3
ii  libaudit1       1:2.6.7-2
ii  libblkid1       2.29.2-1
ii  libc6           2.24-10
ii  libcap2         1:2.25-1
ii  libcryptsetup4  2:1.7.3-4
ii  libgcrypt20     1.7.6-1
ii  libgpg-error0   1.26-2
ii  libidn11        1.33-1
ii  libip4tc0       1.6.0+snapshot20161117-6
ii  libkmod2        23-2
ii  liblz4-1        0.0~r131-2+b1
ii  liblzma5        5.2.2-1.2+b1
ii  libmount1       2.29.2-1
ii  libpam0g        1.1.8-3.5
ii  libseccomp2     2.3.1-2.1
ii  libselinux1     2.6-3+b1
ii  libsystemd0     232-23
ii  mount           2.29.2-1
ii  util-linux      2.29.2-1

Versions of packages systemd recommends:
ii  dbus            1.10.18-1
pn  libpam-systemd  <none>

Versions of packages systemd suggests:
pn  policykit-1        <none>
pn  systemd-container  <none>
pn  systemd-ui         <none>

Versions of packages systemd is related to:
pn  dracut           <none>
ii  initramfs-tools  0.130
ii  udev             232-23

-- no debconf information


More information about the Pkg-systemd-maintainers mailing list