** Description changed:

+ [Impact]
+ 
+  * nfs-mountd doesn't get started because of a race condition happening when 
rpcbind.socket is not specified as a needed service for it to start.
+  * nfs-server using rpcbind.target instead of using rpcbind.socket. Target 
should not be used (Comment #24)
+ 
+ [Test Case]
+ 
+  * Install nfs-kernel-server inside a xenial lxc guest and restart it until 
nfs-mountd doesn't start complaining on rpc error.
+  * Comment #25
+ 
+ [Regression Potential]
+ 
+  * Cons: Systemd dependencies could brake for nfs-server and nfs-mountd.
+  * Pros: Patches have been accepted upstream (and tested).
+ 
+ [Other Info]
+  
+ # Original Bug Description
+ 
  Immediately after boot:
  
  root@feynmann:~# systemctl status nfs-kernel-server
  ● nfs-server.service - NFS server and services
-    Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor 
preset: enabled)
-    Active: inactive (dead)
+    Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor 
preset: enabled)
+    Active: inactive (dead)
  
  Jun 09 14:35:47 feynmann systemd[1]: Dependency failed for NFS server and 
services.
  Jun 09 14:35:47 feynmann systemd[1]: nfs-server.service: Job 
nfs-server.service/start failed
-  
- root@feynmann:~# systemctl status nfs-mountd.service 
+ 
+ root@feynmann:~# systemctl status nfs-mountd.service
  ● nfs-mountd.service - NFS Mount Daemon
-    Loaded: loaded (/lib/systemd/system/nfs-mountd.service; static; vendor 
preset: enabled)
-    Active: failed (Result: exit-code) since Thu 2016-06-09 14:35:47 BST; 7min 
ago
-   Process: 1321 ExecStart=/usr/sbin/rpc.mountd $RPCMOUNTDARGS (code=exited, 
status=1/FAILURE)
+    Loaded: loaded (/lib/systemd/system/nfs-mountd.service; static; vendor 
preset: enabled)
+    Active: failed (Result: exit-code) since Thu 2016-06-09 14:35:47 BST; 7min 
ago
+   Process: 1321 ExecStart=/usr/sbin/rpc.mountd $RPCMOUNTDARGS (code=exited, 
status=1/FAILURE)
  
  Jun 09 14:35:47 feynmann systemd[1]: Starting NFS Mount Daemon...
  Jun 09 14:35:47 feynmann rpc.mountd[1321]: mountd: could not create listeners
- Jun 09 14:35:47 feynmann systemd[1]: nfs-mountd.service: Control process 
exited, code=exited 
+ Jun 09 14:35:47 feynmann systemd[1]: nfs-mountd.service: Control process 
exited, code=exited
  Jun 09 14:35:47 feynmann systemd[1]: Failed to start NFS Mount Daemon.
  Jun 09 14:35:47 feynmann systemd[1]: nfs-mountd.service: Unit entered failed 
state.
  Jun 09 14:35:47 feynmann systemd[1]: nfs-mountd.service: Failed with result 
'exit-code'.
  
  root@feynmann:~# systemctl list-dependencies nfs-kernel-server
  nfs-kernel-server.service
  ● ├─auth-rpcgss-module.service
  ● ├─nfs-config.service
  ● ├─nfs-idmapd.service
  ● ├─nfs-mountd.service
  ● ├─proc-fs-nfsd.mount
  ● ├─rpc-svcgssd.service
  ● ├─system.slice
  ● ├─network.target
  ● └─rpcbind.target
  ●   └─rpcbind.service
  
- root@feynmann:~# systemctl list-dependencies nfs-mountd.service 
+ root@feynmann:~# systemctl list-dependencies nfs-mountd.service
  nfs-mountd.service
  ● ├─nfs-config.service
  ● ├─nfs-server.service
  ● ├─proc-fs-nfsd.mount
  ● └─system.slice
- root@feynmann:~# 
+ root@feynmann:~#
  
  root@feynmann:~# lsb_release -rd
  Description:  Ubuntu 16.04 LTS
  Release:      16.04
  
  root@feynmann:~# apt-cache policy nfs-kernel-server
  nfs-kernel-server:
-   Installed: 1:1.2.8-9ubuntu12
-   Candidate: 1:1.2.8-9ubuntu12
-   Version table:
-  *** 1:1.2.8-9ubuntu12 500
-         500 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
-         100 /var/lib/dpkg/status
+   Installed: 1:1.2.8-9ubuntu12
+   Candidate: 1:1.2.8-9ubuntu12
+   Version table:
+  *** 1:1.2.8-9ubuntu12 500
+         500 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
+         100 /var/lib/dpkg/status
  
  Additional comments:
  
-     1. There seems to be a circular dependency between nfs-mountd and 
nfs-kernel-server
-     2. I can get it working by changing the AFter,Requires in 
/lib/ssystemd/system/nfs-{mountd|server}.service files. I have managed to get 
nfs-kernel-server to start but not nfs-mountd.
-     3. /usr/lib/systemd/scripts/nfs-utils_env.sh references 
/etc/sysconfig/nfs which is Centos/RedHat location of this file. Also 
/etc/default/nfs does not exist. (possibly unrelated to this bug)
-     4. A file "/lib/systemd/system/-.slice" exists. this file prevents 
execution of 'ls *' or 'grep xxx *' commands in that directory. I am unsure 
whether this is intended by the systemd developers but it is unfriendly when 
investigating this bug.
+     1. There seems to be a circular dependency between nfs-mountd and 
nfs-kernel-server
+     2. I can get it working by changing the AFter,Requires in 
/lib/ssystemd/system/nfs-{mountd|server}.service files. I have managed to get 
nfs-kernel-server to start but not nfs-mountd.
+     3. /usr/lib/systemd/scripts/nfs-utils_env.sh references 
/etc/sysconfig/nfs which is Centos/RedHat location of this file. Also 
/etc/default/nfs does not exist. (possibly unrelated to this bug)
+     4. A file "/lib/systemd/system/-.slice" exists. this file prevents 
execution of 'ls *' or 'grep xxx *' commands in that directory. I am unsure 
whether this is intended by the systemd developers but it is unfriendly when 
investigating this bug.
  
  Attempted solution:
  
-     1. Edit /lib/systemd/system/nfs-server.service (original lines are
+     1. Edit /lib/systemd/system/nfs-server.service (original lines are
  commented out:
  
  [Unit]
  Description=NFS server and services
  DefaultDependencies=no
  Requires=network.target proc-fs-nfsd.mount rpcbind.target
  # Requires=nfs-mountd.service
  Wants=nfs-idmapd.service
-        
+ 
  After=local-fs.target
  #After=network.target proc-fs-nfsd.mount rpcbind.target nfs-mountd.service
- After=network.target proc-fs-nfsd.mount rpcbind.target 
+ After=network.target proc-fs-nfsd.mount rpcbind.target
  After=nfs-idmapd.service rpc-statd.service
  #Before=rpc-statd-notify.service
  Before=nfs-mountd.service rpc-statd-notify.service
  ...
  
  followed by a systemctl daemon-reload and a reboot.
  
  This results in nfs-kernel-server starting correctly but nfs-mountd not
  so. However starting nfs-mountd manually after reboot is successful:
  
- root@feynmann:~# systemctl status nfs-kernel-server.service 
+ root@feynmann:~# systemctl status nfs-kernel-server.service
  ● nfs-server.service - NFS server and services
-    Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor 
preset: enabled)
-    Active: active (exited) since Thu 2016-06-09 15:07:23 BST; 1min 25s ago
-   Process: 1391 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, 
status=0/SUCCESS)
-   Process: 1384 ExecStartPre=/usr/sbin/exportfs -r (code=exited, 
status=0/SUCCESS)
-  Main PID: 1391 (code=exited, status=0/SUCCESS)
-     Tasks: 0
-    Memory: 0B
-       CPU: 0
-    CGroup: /system.slice/nfs-server.service
+    Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor 
preset: enabled)
+    Active: active (exited) since Thu 2016-06-09 15:07:23 BST; 1min 25s ago
+   Process: 1391 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, 
status=0/SUCCESS)
+   Process: 1384 ExecStartPre=/usr/sbin/exportfs -r (code=exited, 
status=0/SUCCESS)
+  Main PID: 1391 (code=exited, status=0/SUCCESS)
+     Tasks: 0
+    Memory: 0B
+       CPU: 0
+    CGroup: /system.slice/nfs-server.service
  
  Jun 09 15:07:23 feynmann systemd[1]: Starting NFS server and services...
  Jun 09 15:07:23 feynmann systemd[1]: Started NFS server and services.
  
- root@feynmann:~# systemctl status nfs-mountd.service 
+ root@feynmann:~# systemctl status nfs-mountd.service
  ● nfs-mountd.service - NFS Mount Daemon
-    Loaded: loaded (/lib/systemd/system/nfs-mountd.service; static; vendor 
preset: enabled)
-    Active: inactive (dead)
+    Loaded: loaded (/lib/systemd/system/nfs-mountd.service; static; vendor 
preset: enabled)
+    Active: inactive (dead)
  
  root@feynmann:~# systemctl start nfs-mountd.service
-  
- root@feynmann:~# systemctl status nfs-mountd.service 
+ 
+ root@feynmann:~# systemctl status nfs-mountd.service
  ● nfs-mountd.service - NFS Mount Daemon
-    Loaded: loaded (/lib/systemd/system/nfs-mountd.service; static; vendor 
preset: enabled)
-    Active: active (running) since Thu 2016-06-09 15:09:02 BST; 3s ago
-   Process: 2044 ExecStart=/usr/sbin/rpc.mountd $RPCMOUNTDARGS (code=exited, 
status=0/SUCCESS)
-  Main PID: 2046 (rpc.mountd)
-     Tasks: 1
-    Memory: 904.0K
-       CPU: 12ms
-    CGroup: /system.slice/nfs-mountd.service
-            └─2046 /usr/sbin/rpc.mountd --manage-gids
+    Loaded: loaded (/lib/systemd/system/nfs-mountd.service; static; vendor 
preset: enabled)
+    Active: active (running) since Thu 2016-06-09 15:09:02 BST; 3s ago
+   Process: 2044 ExecStart=/usr/sbin/rpc.mountd $RPCMOUNTDARGS (code=exited, 
status=0/SUCCESS)
+  Main PID: 2046 (rpc.mountd)
+     Tasks: 1
+    Memory: 904.0K
+       CPU: 12ms
+    CGroup: /system.slice/nfs-mountd.service
+            └─2046 /usr/sbin/rpc.mountd --manage-gids
  
  Jun 09 15:09:02 feynmann systemd[1]: Starting NFS Mount Daemon...
  Jun 09 15:09:02 feynmann rpc.mountd[2046]: Version 1.2.8 starting
  Jun 09 15:09:02 feynmann systemd[1]: Started NFS Mount Daemon.
  
  Enabling nfs-mountd.service (systemctl enable nfs-mountd.service) has no
  effect in this case.
  
  ProblemType: Bug
  DistroRelease: Ubuntu 16.04
  Package: nfs-kernel-server 1:1.2.8-9ubuntu12 [modified: 
lib/systemd/system/nfs-server.service]
  ProcVersionSignature: Ubuntu 4.4.0-22.40-generic 4.4.8
  Uname: Linux 4.4.0-22-generic x86_64
  ApportVersion: 2.20.1-0ubuntu2.1
  Architecture: amd64
  Date: Thu Jun  9 14:38:58 2016
  InstallationDate: Installed on 2016-06-08 (1 days ago)
  InstallationMedia: Ubuntu-Server 16.04 LTS "Xenial Xerus" - Release amd64 
(20160420.3)
  ProcEnviron:
-  SHELL=/bin/bash
-  TERM=linux
-  PATH=(custom, no user)
-  LANG=en_GB.UTF-8
-  LANGUAGE=en_GB:en
+  SHELL=/bin/bash
+  TERM=linux
+  PATH=(custom, no user)
+  LANG=en_GB.UTF-8
+  LANGUAGE=en_GB:en
  SourcePackage: nfs-utils
  UpgradeStatus: No upgrade log present (probably fresh install)

** Changed in: nfs-utils (Ubuntu)
   Importance: High => Medium

** Changed in: nfs-utils (Ubuntu Xenial)
   Importance: High => Medium

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

Title:
  nfs-kernel-server does not start because of dependency failure

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

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

Reply via email to