Merge ~ahasenack/ubuntu/+source/samba:jammy-ctdb-nfs-mvp-fixes into ubuntu/+source/samba:ubuntu/devel
Status: | Merged | ||||
---|---|---|---|---|---|
Merged at revision: | b7f95dfc7e76d7946589abe99860206092326867 | ||||
Proposed branch: | ~ahasenack/ubuntu/+source/samba:jammy-ctdb-nfs-mvp-fixes | ||||
Merge into: | ubuntu/+source/samba:ubuntu/devel | ||||
Diff against target: |
356 lines (+104/-78) 7 files modified
debian/changelog (+18/-0) debian/ctdb.example.enable.nfs.sh (+22/-32) debian/ctdb.example.nfs.conf (+20/-0) debian/ctdb.example.quota (+5/-0) debian/patches/fix-nfs-service-name-to-nfs-kernel-server.patch (+37/-28) debian/rules (+2/-2) dev/null (+0/-16) |
||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Miriam España Acebal (community) | Approve | ||
Canonical Server Core Reviewers | Pending | ||
Review via email: mp+417186@code.launchpad.net |
Description of the change
Small, if not minimal, set of changes to make ctdb compatible with the new nfs-utils NFS server/client in jammy. Without these, it still somewhat works, but there are corner cases due to the debian packaging not removing the now obsolete /etc/default/nfs-* config files.
Some remarks:
# quota rpc service
The debian/ubuntu/ quota rpc (rpc.rquotad) service has a quirk that it will scan /etc/fstab and only start if it detects relevant quota mount options. When no such options exist, the service will stop with exit 0. ctdb eventually detects that rpc.rquotad isn't running, and tries to start it again, and this loops forever.
I contacted upstream[1] for a way to signal the scripts that quota isn't mandatory, and there is a series of commits[2] to address that, but too fresh for jammy I think, and somewhat of a feature change. I then went with the workaround that Rafael had used already, which is to not define nfs_rquotad_
For users who know they will really not need rpc.rquotad running, they can then just remove the /etc/ctdb/
# the nfs_*_service variables in the nfs-linux-
The content of those variables, if defined, will be used as the service name in the service command, like "service $nfs_rquotad_
Some nfs services, however, start other services. NFS is that complicated, yes. So if a service variable is not defined, it doesn't really mean it won't be started. They can still be started by the checks, individually. That's what happened with the rpc.rquotad service described above.
The previous version of the fix-nfs-
# nfsconf changes
The meat of this MP. I tried the less invasive alternative for this. I changed Rafael's patch, isntead of creating a new one on top of it with the nfsconf changes. The patch name isn't that great anymore, but I thought renaming the patch would be worse for a review. If you prefer, I can add a patch on top of the original one that just changes the service name.
# ctdb "service" name
There is a mistake in the original patch where it was renaming "nfs" to "nfs-common" or "nfs-kernel-
/var/lib/
/var/lib/
Fixing that now would mean moving state files from nfs-kernel-server into nfs in a maintainer script, and that's too big a change for this MVP branch. As far as I can tell, things are working as they are, fortunately or unfortunately.
# the enable-nfs.sh
This is a script written by Rafael back when he first tackled ctdb in ubuntu and made it work. It came as a result of his work in bug #722201[3] and this discourse post[4]. I changed it for the new nfs-utils version we have, but didn't make other big improvements to the script. Keep in mind it's an example script. It complements and implements parts of the upstream documentation[5].
PPA: https:/
If you want to test this on your own, get in touch. That discourse post is a start, but there are many details.
1. https:/
2. https:/
3. https:/
4. https:/
5. https:/
Update scan failed
At least one of the branches involved have failed to scan. You can manually schedule a rescan if required.
Hi Andreas,
intense merge proposal! As spoken, I did a review of the code without testing itself, checking for typos or missed things and trying to understand the a bit the logic.
I don't find any strange. At the beginning, the changes around nfs-kernel-server files confuse me a bit because I was seeing service and conf didn't match or removed but after reading carefully your "# ctdb "service" name" I totally agree that is out of the scope of this MP.
Also, I checked that the new files are shipped in the *.deb from your PPA (I've checked what I might have forgotten).
Thanks for this MP.