dotmesh-io / dotmesh

dotmesh (dm) is like git for your data volumes (databases, files etc) in Docker and Kubernetes
https://dotmesh.com
Apache License 2.0
539 stars 29 forks source link

Hack Ganesha to serve NFS in the way we need #341

Open alaric-dotmesh opened 6 years ago

alaric-dotmesh commented 6 years ago

We need a few changes from the default ganesha setup to meet the needs of #100.

  1. Stable NFS handles - just export the raw ZFS file handle, with no attempt at mount IDs (may require hacking the source code) - see https://github.com/dotmesh-io/dotmesh/issues/334 for notes on this.
  2. No mapping of uid/gid - even root should be let through (easily done in the config file, I believe).
  3. Work out what's needed to make locking work (possibly just a client-side fix). My examples all needed -o nolock on the mount command to make it work due to rpc.statd not being running (but it was, at both ends).

This is part of epic #100

alaric-dotmesh commented 6 years ago

It's LGPL, so we should be fine shipping it with our own mods:

                   GNU LESSER GENERAL PUBLIC LICENSE
                       Version 3, 29 June 2007

 Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

Ideally, we'll make it a configurable option so we can contribute it upstream (if they'll have it...)

alaric-dotmesh commented 6 years ago

There may be some useful tips about NFSID in this Twitter thread: https://twitter.com/storagebits/status/979091280612470784?s=19