On 18-6-2020 19:57, Frank Filz wrote:
On 6/18/20 1:59 AM, Willem Jan Withagen wrote:
On 17-6-2020 16:09, Jeff Layton wrote:
(I sent this to a smaller list of folks yesterday, but I think it probably warrants wider discussion).
Recently Varsha added the necessary infrastructure to bring up nfs-ganesha via vstart.sh. The current implementation requires that ganesha already be installed on the box (usually via distro packaging), but that poses a bit of a problem.
A distro ganesha package will have likely been built vs. a completely different version of libcephfs and librados. Even if you build right off of ceph master branch, you won't get the benefit of any recent client bugfixes when you want to test ganesha. You'd have to build new ganesha packages, install them, etc.
I think we ought to consider making a nfs-ganesha build an optional part of a ceph build (maybe enable it with cmake -DNFS_GANESHA=ON or something).
It doesn't take very long to build it (typically only a minute or two on my box), and we could disable the parts that ceph doesn't care about (other FSALs primarily). We could also have vstart just error out when you run it with NFS=X on a build that didn't have ganesha enabled.
OTOH, the potential downside here is that it'll likely add other build- time dependencies, and would require some extra cmake or scripting wizardry. Nothing insurmountable, but it might represent a maintenance burden going forward, particularly for something that's basically only going to be used for vstart.
I'm also not sure how we'd do this in practice. I don't think you can do optional submodules, so we might have to look at other methods of pulling in the ganesha tree, or just live with it as a submodule that only gets used when ganesha is enabled.
To my (big)Â surprise is there a FreeBSD package for nfs-ganesha so it would be perhaps a nice addon there as well. Have never looked at it, so I don't know if it plays nice with the native NFS implementation that FreeBSD brings with its kernel. And it surely will require some specific tinkering but that is a nice challenge.
CMake wizardry is just a one-time obstacle, usually a not too big hurdle. I would be certainly helped by a CMake switch that turns this off, including all tests that are added to test the nfs-ganesha implementation.
I'm not sure what the current state of nfs-ganesha on FreeBSD is, but it has had attention from various folks in the past. It would be good to see more active maintenance of nfs-ganesha on FreeBSD.
As far as I can tell is the last work in nfs-ganesha done by the Gandi people. And the latest release they have in Ports is 2.7, with an matching kernel module Port for not supported syscalls. Problem there is that the port is based on Python 2.7, which is deprecated on all ends. That 2.7 ganesha version is already EOL according the data on GitHub. Not sure if ceph-dashboard expects a more recent version? --WjW