Public bug reported:

nfs-server.service has insufficient dependencies to start correctly in a
setting where the nfs exports list contains DNS host names (not in local
hosts file) or netgroups served via network (for example sssd).

Typical failures listed by systemctl status nfs-server.service are:

Mar 08 14:16:52 server.example.com exportfs[844]: exportfs: Failed to resolve 
client1.example.com
Mar 08 14:16:52 server.example.com exportfs[844]: exportfs: Failed to resolve 
client2.example.com


Our workaround is to add the appropriate dependecies in 
/etc/systemd/system/nfs-server.service.d/dependencies.conf like so:

----------------------8<----------------------------
[Unit]
# nfs-server.service runs exportfs on startup, thus we need to be able to
# do host and netgroup lookups which requires network to be online.
After=network-online.target nss-lookup.target nss-user-lookup.target
----------------------8<----------------------------

While nfs-server.service do depend on network.target, that only means
that the network has been configured. On physical hardware it can take
significantly longer for the network to come online (8+ seconds for our
10G NICs). Also note that we configure static IP:s via systemd-networkd,
things might behave differently when using DHCP, network-manager etc. In
any case, depending on network.target is almost always wrong, and
network-online.target is usually the right one.

nss-lookup.target is needed to ensure that DNS resolution works, and
nss-user-lookup.target is the best approximation to ensure that netgroup
resolution via sssd or equivalent works. Usually things "just works"
even without these dependencies, but to ensure correct startup they
should be present.

It should be noted that this seems to once have been fixed in Ubuntu,
but has been lost along the way for quite some time. When googling I
find for example https://code.launchpad.net/~ubuntu-branches/ubuntu/wily
/nfs-utils/wily-201507271018/+merge/265946 that fixes the network.target
vs network-online.target dependency, but it has since been lost in the
wind it seems.

** Affects: nfs-utils (Ubuntu)
     Importance: Undecided
         Status: Confirmed

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1918141

Title:
  nfs-server.service needs name resolution and network online

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nfs-utils/+bug/1918141/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to