Merge ~ahasenack/ubuntu/+source/nfs-utils:kinetic-nfs-utils-generator into ubuntu/+source/nfs-utils:ubuntu/devel
Status: | Merged |
---|---|
Approved by: | git-ubuntu bot |
Approved revision: | not available |
Merged at revision: | 0bb1571306bc6f4371ac51119375b59a1db2eca4 |
Proposed branch: | ~ahasenack/ubuntu/+source/nfs-utils:kinetic-nfs-utils-generator |
Merge into: | ubuntu/+source/nfs-utils:ubuntu/devel |
Diff against target: |
71 lines (+38/-0) 4 files modified
debian/changelog (+10/-0) debian/patches/always-run-generator.patch (+23/-0) debian/patches/series (+1/-0) debian/rules (+4/-0) |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
git-ubuntu bot | Approve | ||
Bryce Harrington (community) | Approve | ||
Canonical Server Reporter | Pending | ||
Review via email: mp+427236@code.launchpad.net |
Description of the change
This fixes LP: #1971935
PPA: https:/
Test case at the end.
The diff is very small, don't be scared by the wall of text below.
A longer explanation about what is happening can be seen in https:/
quick tl;dr about systemd generators: they are small binary files in /lib/systemd/
nfs-common ships a var-lib-
The rpc_pipefs mount point is a configurable option in /etc/nfs.conf. The compile-time default is /var/lib/
Therefore upstream introduced the rpc-pipefs-
Due to this bug here, however, that's not always happening, and the resoning is described in https:/
The fix I'm applying in this branch is to not ship the default mount and target units for rpc_pipefs, and just always rely on the ones produced by the generator. It's not yet a fool proof system, because the user could still change the mountpoint in /etc/nfs.conf, but the generator will only update things on a reboot, or if systemctl daemon-reload is called. But hopefully someone who knows what rpc-pipefs is used for, and changes it, will know the actual mount also has to be redone.
I sent this upstream to the mailing list[1], got a tentative response. My debian salsa PR[2] has no comments yet.
A person affected by this bug commented[3] that the change fixed the problem for them.
I figured let's land this in kinetic and see if there is any ill effect, while we wait for upstream or debian to comment. At some point, though, we will have to decide to SRU this or not.
# Quick test case
On a kinetic *VM*:
sudo apt udpate && sudo apt install autofs
mount -t rpc_pipefs
If you get /var/lib/
1. https:/
2. https:/
3. https:/
I've read through all the discussions on bugs and mailing lists. I don't quite understand the "Debian gets two mounts; Ubuntu gets one" behavior/situation, but with that posited the rest of the analysis does seem to follow.
stirling: ~$ multipass launch daily:kinetic meteoric- mudfish: ~$ sudo -s
Launched: meteoric-mudfish
stirling: ~$ multipass exec meteoric-mudfish -- /bin/bash
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
ubuntu@
## Vanilla VM: mudfish: /home/ubuntu# mount -t rpc_pipefs nfs/rpc_ pipefs type rpc_pipefs (rw,relatime)
root@meteoric-
sunrpc on /var/lib/
## With PPA installed: mudfish: /home/ubuntu# sudo add-apt-repository ppa:ahasenack/ nfs-utils- generator mudfish: /home/ubuntu# apt-get update; apt-get full-upgrade mudfish: /home/ubuntu# umount /var/lib/ nfs/rpc_ pipefs mudfish: /home/ubuntu# mount -t rpc_pipefs mudfish: /home/ubuntu# mount | grep pipefs mudfish: /home/ubuntu# ls /run mudfish: /home/ubuntu# reboot
root@meteoric-
...
root@meteoric-
...
root@meteoric-
root@meteoric-
root@meteoric-
root@meteoric-
NetworkManager dmeventd-client needrestart snapd.socket
agetty.reload dmeventd-server netns sshd
autofs-running fsck network sshd.pid
autofs.pid initctl rpcbind sudo
blkid initramfs rpcbind.lock systemd
cloud-init lock rpcbind.sock tmpfiles.d
console-setup log screen udev
credentials lvm sendsigs.omit.d udisks2
crond.pid machine-id shm user
crond.reboot motd.dynamic sm-notify.pid utmp
cryptsetup mount snapd uuidd
dbus multipathd.pid snapd-snap.socket
root@meteoric-
...
Broadcast message from root@meteoric- mudfish on pts/1 (Fri 2022-07-22 16:14:14 PDT):
The system is going down for reboot NOW!
root@meteoric- mudfish: /home/ubuntu# stirling: ~$ multipass exec meteoric-mudfish -- /bin/bash
ubuntu@ meteoric- mudfish: ~$ mount -t rpc_pipefs meteoric- mudfish: ~$
sunrpc on /run/rpc_pipefs type rpc_pipefs (rw,relatime)
ubuntu@
ubuntu@ meteoric- mudfish: ~$ ls /run
NetworkManager dmeventd-client network sshd
agetty.reload dmeventd-server rpc_pipefs sshd.pid
autofs-running fsck rpcbind sudo
autofs.pid initctl rpcbind.lock systemd
blkid initramfs rpcbind.sock tmpfiles.d
cloud-init lock screen udev
console-setup log sendsigs.omit.d udisks2
credentials lvm shm user
crond.pid motd.dynamic sm-notify.pid utmp
crond.reboot mount snapd uuidd
cryptsetup multipathd.pid snapd-snap.socket
dbus netns snapd.socket
I agree with your assessment to just get it into kinetic for testing for now. Ideally, would be good...