Re: [nfs-utils PATCH] nfs4id: a tool to create and persist nfs4 client uniquifiers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8 Feb 2022, at 14:52, Steve Dickson wrote:

On 2/8/22 11:22 AM, Benjamin Coddington wrote:
On 8 Feb 2022, at 11:04, Steve Dickson wrote:

Hello,

On 2/4/22 7:56 AM, Benjamin Coddington wrote:
The nfs4id program will either create a new UUID from a random source or derive it from /etc/machine-id, else it returns a UUID that has already been written to /etc/nfs4-id.  This small, lightweight tool is suitable for execution by systemd-udev in rules to populate the nfs4 client uniquifier.

Signed-off-by: Benjamin Coddington <bcodding@xxxxxxxxxx>
---
  .gitignore               |   1 +
  configure.ac             |   4 +
  tools/Makefile.am        |   1 +
  tools/nfs4id/Makefile.am |   8 ++
  tools/nfs4id/nfs4id.c    | 184 +++++++++++++++++++++++++++++++++++++++
  tools/nfs4id/nfs4id.man  |  29 ++++++
  6 files changed, 227 insertions(+)
  create mode 100644 tools/nfs4id/Makefile.am
  create mode 100644 tools/nfs4id/nfs4id.c
  create mode 100644 tools/nfs4id/nfs4id.man
Just a nit... naming convention... In the past
we never put the protocol version in the name.
Do a ls tools and utils directory and you
see what I mean....

Would it be a problem to change the name from
nfs4id to nfsid?

Not at all..
Good...

I didn't orginally do that because I thought it might be confusing for some
folks who want `nfsid` to display their kerberos identity.  There's a BZ
open for that!

Do you think that's a problem?  I feel like it's a problem.

and I think there's a lot of room for naming discussions about
the file to store the id too:

Trond sent /etc/nfs4_uuid
Neil suggests /etc/netns/NAME/nfs.conf.d/identity.conf
Ben sent /etc/nfs4-id (to match /etc/machine-id)
Question... is it kosher to be writing /etc which is
generally on the root filesystem?

Sure, why not?

By far Neil suggestion is the most intriguing... but
on the containers I'm looking at there no /etc/netns
directory.

Not yet -- you can create it.

I had to install the iproute package to do the
"ip netns identify" which returns NULL...
also adds yet another dependency on nfs-utils.

We don't need the dependency..this little binary is just a helper for a udev rule. Trond already wrote his version of this. :) This one's just trying
to be a little lighter (whoa, we don't need all of bash!).

So if "ip netns identify" does return NULL what directory
path should be used?

I think thats out of scope.. if udevd is running in a container, and has a
rule that uses this tool, then the container either is likely to have
already customized its /etc. Or perhaps we can make the udev rule namespace aware (I need to look into what's available to udev's rule environment when
it runs in a namespace).

I'm all for making things container friendly but I'm
also a fan of keeping things simple... So
how about /etc/nfs.conf.d/identity.conf or
/etc/nfs.conf.d/nfsid.conf?

Really, because its not a configuration. Its value persistence, and we /really/
don't want people configuring it.


Maybe the tool wants an option to specify the file?
This is probably not a bad idea... It is a common practice

OK, I'll do that.

Ben




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux