[Bug 1971935] Re: Invalid pipefs-directory prevents rpc-gssd.service from starting
Andreas Hasenack
1971935 at bugs.launchpad.net
Tue Jul 5 21:25:13 UTC 2022
Ok, got a theory:
autofs and nfs-common are both unpacked. Then the setup begins.
If autofs is setup first, it means systemctl daemon-reload will be
called at the end, and that will run all the generators. Since
nfs-common is already unpacked, it's generator is on disk, and will be
run.
But /etc/nfs.conf doesn't exist yet: it's produced by ucf in
nfs-common's postinst. That means the generator will not be able to
fetch the pipefs-directory config, and will just exit silently. But
autofs is being started, and it requires rpc_pipefs.target, but at
this time, that target unit is the one from the nfs-common package
that will trigger the var-lib-nfs-rpc_pipefs.mount unit.
Then nfs-common is setup. This time, it will produce /etc/nfs.conf,
and when systemctl daemon-reload is called and the generator run, it
will find /etc/nfs.conf, and the pipefs-directory setting, and see
it's different from the default, and produce the generated target and
mount files.
>From here on there is a difference between debian and ubuntu which I
cannot explain yet.
In debian, we end up with /run/rpc_pipefs *also* mounted, i.e., two
rpc_pipefs mount points. But in ubuntu, just the first one in
/var/lib/nfs/rpc_pipefs remains. Something in debian actually enabled
the run-rpc_pipefs.mount unit after the steps above.
I'll leave that troubleshooting detail for tomorrow :)
--
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:
Confirmed
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