Package: nfs-utils
Version: 1:1.3.4-5
Severity: normal


Dear Maintainer,

while testing a fix for rpc.gssd, part of nfs-common, I discovered that
this service (and others) is not restarted as part of the upgrade.

Further troubleshooting led me to the nfs-utils.service service, which is
not enabled nor started at package install time. From d/rules:

    dh_systemd_enable -p nfs-common nfs-client.target
    dh_systemd_enable -p nfs-kernel-server nfs-server.service
    dh_installinit -pnfs-common -R
    dh_systemd_start -p nfs-common --restart-after-upgrade nfs-utils.service
    dh_systemd_start -p nfs-kernel-server --restart-after-upgrade
nfs-server.service

nfs-utils.service is a "fake" service, meant to coordinate all the
different processes that make up an NFS server nowadays. It can't be
enabled, and r/rules doesn't even attempt to enable it:
$ sudo systemctl enable nfs-utils.service
The unit files have no installation config (WantedBy, RequiredBy, Also,
Alias
settings in the [Install] section, and DefaultInstance for template units).
This means they are not meant to be enabled using systemctl.
Possible reasons for having this kind of units are:
1) A unit may be statically enabled by being symlinked from another unit's
   .wants/ or .requires/ directory.
2) A unit's purpose may be to act as a helper for some other unit which has
   a requirement dependency on it.
3) A unit may be started when needed via activation (socket, path, timer,
   D-Bus, udev, scripted systemctl call, ...).
4) In case of template units, the unit is meant to be enabled with some
   instance name specified.

Problem is, it also won't be started on install, so the dh_systemd_start
calls won't do anything. This can be seen while installing the package:
"""
nfs-utils.service is a disabled or a static unit, not starting it.
"""
And the same thing happens on upgrades, it's not restarted, and as such
rpc.gssd and at least /usr/sbin/blkmapd will not be restarted.

Reply via email to