Public bug reported:

Upgrading the nfs-common debian package will not restart its services.

Specifically, the package tries to restart "nfs-utils.service", which is a 
"fake" service meant to coordinate all the other daemons that make up a modern 
NFS server. This service, however, as it is, cannot be enabled:
$ 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

Granted, d/rules of the nfs-utils package doesn't even try:
    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

We can see it tries to start and restart it, but that won't work on disabled or 
non-started services: deb-systemd-invoke won't do it:
# If the job is disabled and is not currently running, the job is not started 
or restarted.
# However, if the job is disabled but has been forced into the running state, 
we *do* stop
# and restart it since this is expected behaviour for the admin who forced the 
start.
# We don't autostart static units either.

The above can be seen while attempting a fresh install (or even upgrade) of 
nfs-common:
(...)
Setting up nfs-common (1:1.3.4-2.5ubuntu6) ...

Creating config file /etc/idmapd.conf with new version
Adding system user `statd' (UID 113) ...
Adding new user `statd' (UID 113) with group `nogroup' ...
Not creating home directory `/var/lib/nfs'.
Created symlink /etc/systemd/system/multi-user.target.wants/nfs-client.target → 
/lib/systemd/system/nfs-client.target.
Created symlink /etc/systemd/system/remote-fs.target.wants/nfs-client.target → 
/lib/systemd/system/nfs-client.target.
nfs-utils.service is a disabled or a static unit, not starting it.
^^^^^^^^^^^^^^^^^

$ systemctl status nfs-utils.service
● nfs-utils.service - NFS server and client services
     Loaded: loaded (/lib/systemd/system/nfs-utils.service; static)
     Active: inactive (dead)


This was found while testing the fix for bug #1927745. In that bug, the 
affected service is rpc.gssd and it's critical that it be restarted, but it's 
not happening. It will only be restarted if nfs-utils.service is already 
"started".

I'm marking this bug as "high" because it prevents valid fixes from
being deployed after just upgrading a package.

** Affects: nfs-utils (Ubuntu)
     Importance: High
         Status: New

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

Title:
  Package upgrade won't restart services

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

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to