Comment 22 for bug 1971935

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

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 :)