Issue46

Title extend fs_location_info to support arbitrary string-based attributes
Priority required Status resolved-edit-complete
Superseder Nosy List dnoveck, mre, spencer.shepler
Assigned To spencer.shepler Topics

Created on 2006-04-12.22:08:02 by mre, last changed 2006-10-20.19:17:20 by spencer.shepler.

Messages
msg416 (view) Author: spencer.shepler Date: 2006-10-20.19:17:20
included in draft-08
msg401 (view) Author: dnoveck Date: 2006-10-19.12:43:19
Checked into cvs.
msg233 (view) Author: mre Date: 2006-07-28.00:51:47
I'm not following Dave's counter proposal. I'm
re-assigning to Dave (for now at least) to
get clarifications.
msg162 (view) Author: dnoveck Date: 2006-06-25.14:35:14
It seems to me that the complexity of this is wildly out of proportion to
the requirement, especially when you start talking about adding knowledge
of specific attributes and the client "searching" for matching attributes.

How about the following approach.  When a path component returned by
fs_location_info is of a certain form (e.g. begins with three dollar signs)
then the rest of it is the to be interpreted as the name of a client-specific
string which is expected to be different for different clients (e.g. CPU).
We give some suggestion but the list is up to clients and servers.  If the
client has no value for the attribute, he substitutes "unknown".  I'd prefer
not to allow $$$CPU$$$OS or xyz$$$CPU but I could tolerate that.

So the /usr/bin would be a referral to /usr/bin/$$$CPU which would then be
looked up by the client and turned into another referral.  The server would
know nothing about CPU or any other such attributes.  Does that meet the
requirement?
msg62 (view) Author: mre Date: 2006-04-14.05:36:32
The NFSv4 global namespace entry for /nfsv4/eisler.org/docs/notes might note
that it needs to look for a version of this file system that has the CPU attribute
set to CPU attribute defined on the client.
msg60 (view) Author: mre Date: 2006-04-12.22:08:01
This is a requirement that came directly from a customer. So on the
theory that customers matter, I'm setting the priority to required.

The problem is that a customer might have defined a set of replicas that
such that each replica is the same logically, but subsets are attributes that
are useful only to certain classes of clients. An example to make this crystal
clear is that a filesystem replica might contain a copy of /usr/bin with
compiled exetuables. There are Linux clients that access these replicas but
some are on an i86-32 bit platform and others are on a sparc-64 bit platform.
Both classes of clients want to see /usr/bin/ls, /usr/bin/cat, but of course
the binary bits are different for each class. So if the client can search for
replicas by say a string attribute called CPU, it can match the replicas
for x86 chip set with the clients running that chip set, and the replicas for
the sparc chip set with the clients running the sparc set.

An analogy is the NFS automounter's builtin variables, such as $CPU.
NFS automounters also allow arbitrary variables to be defined. In either
case, an automounter map entry might have:

   notes- rw srcsev:/source/notes.$CPU
History
Date User Action Args
2006-10-20 19:17:24spencer.sheplersetstatus: editing -> resolved-edit-complete
messages: + msg416
2006-10-19 12:43:23dnovecksetstatus: need-text -> editing
assignedto: dnoveck -> spencer.shepler
messages: + msg401
nosy: + spencer.shepler
2006-10-12 14:21:50dnovecksetstatus: wg-discuss -> need-text
2006-07-28 00:51:48mresetassignedto: mre -> dnoveck
messages: + msg233
2006-06-25 14:35:17dnovecksetnosy: + dnoveck
messages: + msg162
2006-04-14 05:36:48mresetstatus: unread -> wg-discuss
2006-04-14 05:36:32mresetmessages: + msg62
2006-04-12 22:08:02mrecreate