[Bug 1971935] Re: Invalid pipefs-directory prevents rpc-gssd.service from starting

Anders Larsson 1971935 at bugs.launchpad.net
Fri Jul 1 09:05:08 UTC 2022


No, did a reinstall on the test system and configured the system up
until just before the step to install and manage the NFS stuff and
rpc_pipefs is not mounted anywhere before starting to configure
NFS+Kerberos with Puppet for the first time.

Some info on what the line does before:
File_line[NFS_SECURITY_GSS]: Ensures NEED_GSSD="yes" is set in /etc/default/nfs-common
File_line[GSSD_OPTIONS]: Ensures GSSD_OPTIONS="-k /path/to/keytab" is set in /etc/default/nfs-common

Below is the relevant lines that Puppet outputs (which debug enabled)
----
Notice: /Stage[main]/Nfsclient/File_line[NFS_SECURITY_GSS]/ensure: created                                                                                                                                                                   
Info: /Stage[main]/Nfsclient/File_line[NFS_SECURITY_GSS]: Scheduling refresh of Service[rpcbind_service]                                                                                                                                     
Info: /Stage[main]/Nfsclient/File_line[NFS_SECURITY_GSS]: Scheduling refresh of Service[rpc-gssd]                    
Debug: /Stage[main]/Nfsclient/File_line[NFS_SECURITY_GSS]: The container Class[Nfsclient] will propagate my refresh event                                                                                                                   
Notice: /Stage[main]/Nfsclient/File_line[GSSD_OPTIONS]/ensure: created
Info: /Stage[main]/Nfsclient/File_line[GSSD_OPTIONS]: Scheduling refresh of Service[rpcbind_service]
Info: /Stage[main]/Nfsclient/File_line[GSSD_OPTIONS]: Scheduling refresh of Service[rpc-gssd]
Debug: /Stage[main]/Nfsclient/File_line[GSSD_OPTIONS]: The container Class[Nfsclient] will propagate my refresh event
Debug: Executing: '/usr/bin/systemctl is-active -- rpcbind'         
Debug: Executing: '/usr/bin/systemctl is-enabled -- rpcbind'                                  
Debug: Executing: '/usr/bin/systemctl is-active -- rpcbind'                     
Debug: Executing: '/usr/bin/systemctl show --property=NeedDaemonReload -- rpcbind'
Debug: Executing: '/usr/bin/systemctl restart -- rpcbind'    
Notice: /Service[rpcbind_service]: Triggered 'refresh' from 2 events
Debug: /Service[rpcbind_service]: The container Class[Rpcbind] will propagate my refresh event
Debug: Class[Rpcbind]: The container Stage[main] will propagate my refresh event   
Debug: Executing: '/usr/bin/systemctl is-active -- rpc-gssd'
Debug: Executing: '/usr/bin/systemctl is-enabled -- rpc-gssd'                                                                                                                                                                               
Debug: Unable to enable or disable static service rpc-gssd                         
Debug: Executing: '/usr/bin/systemctl is-active -- rpc-gssd'                           
Debug: Executing: '/usr/bin/systemctl show --property=NeedDaemonReload -- rpc-gssd'
Debug: Executing: '/usr/bin/systemctl restart -- rpc-gssd'                                     
Debug: Running journalctl command to get logs for systemd restart failure: journalctl -n 50 --since '5 minutes ago' -u rpc-gssd --no-pager                                                                                                  
Debug: Executing: 'journalctl -n 50 --since '5 minutes ago' -u rpc-gssd --no-pager'            
Error: /Service[rpc-gssd]: Failed to call refresh: Systemd restart for rpc-gssd failed!
journalctl log for rpc-gssd:                                                    
Jul 01 10:42:57 hostname systemd[1]: Starting RPC security service for NFS client and server...
Jul 01 10:42:57 hostname systemd[1]: Started RPC security service for NFS client and server.   
Jul 01 10:43:03 hostname systemd[1]: Stopping RPC security service for NFS client and server...            
Jul 01 10:43:03 hostname rpc.gssd[12784]: event_dispatch() returned 0!                                      
Jul 01 10:43:03 hostname systemd[1]: rpc-gssd.service: Deactivated successfully.      
Jul 01 10:43:03 hostname systemd[1]: Stopped RPC security service for NFS client and server.        
Jul 01 10:43:03 hostname systemd[1]: Starting RPC security service for NFS client and server...
Jul 01 10:43:03 hostname rpc.gssd[13323]: ERROR: opendir(/run/rpc_pipefs) failed: No such file or directory
Jul 01 10:43:03 hostname systemd[1]: rpc-gssd.service: Control process exited, code=exited, status=1/FAILURE
Jul 01 10:43:03 hostname systemd[1]: rpc-gssd.service: Failed with result 'exit-code'.         
Jul 01 10:43:03 hostname systemd[1]: Failed to start RPC security service for NFS client and server.
----

After this I can see the following mount for rpc_pipefs but no other mount points for it.
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)

The "service" run-rpc_pipefs.mount has been generated as
/run/systemd/generator/run-rpc_pipefs.mount, but it is not started.

○ run-rpc_pipefs.mount - RPC Pipe File System
     Loaded: loaded (/run/systemd/generator/run-rpc_pipefs.mount; generated)
     Active: inactive (dead)
      Where: /run/rpc_pipefs
       What: sunrpc

----

I hope this helps.

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

Title:
  Invalid pipefs-directory prevents rpc-gssd.service from starting

Status in nfs-utils package in Ubuntu:
  Incomplete

Bug description:
  Ubuntu 22.04 Server
  Package version: 1:2.6.1-1ubuntu1

  Package nfs-common/nfs-utils provides /etc/nfs.conf and /lib/systemd/system/rpc-gssd.service.
  /etc/nfs.conf (and seems to be copied from /usr/share/nfs-common/conffiles/nfs.conf) has the configuration:
  ...
  [general]
  pipefs-directory=/run/rpc_pipefs
  ...

  When attempting to start rpc-gssd it gives the following error:
  ...
  ERROR: opendir(/run/rpc_pipefs) failed: No such file or directory
  ...

  There is a systemd unit called var-lib-nfs-rpc_pipefs.mount which
  mounts this directory as /var/lib/nfs/rpc_pipefs. However this does
  not match with the configuration in nfs.conf

  It's worth mentioning that sometimes it seems a systemd unit is
  generated (run-rpc_pipefs.mount) which ensures /run/rpc_pipefs is
  created and everything works as expected. Seems to be random.

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




More information about the foundations-bugs mailing list