Discussion:
[OpenAFS-devel] openafs cell and contrib area?
Neulinger, Nathan R.
2000-11-02 14:40:02 UTC
Permalink
Are there any plans for an openafs.org afs cell and contrib area similar to
that on transarc?

-- Nathan

------------------------------------------------------------
Nathan Neulinger EMail: ***@umr.edu
University of Missouri - Rolla Phone: (573) 341-4841
Computing Services Fax: (573) 341-4216
Derek Atkins
2000-11-02 15:09:07 UTC
Permalink
I'm not sure why we really need a contrib area, as patches will
(hopefully) get applied to the OpenAFS CVS tree as they are submitted.

Also, I believe there are at least some plans to resurrect the
grand.central.org AFS Cell, though there are still some technical
issues in terms of distributing the cell.

-derek
Post by Neulinger, Nathan R.
Are there any plans for an openafs.org afs cell and contrib area similar to
that on transarc?
-- Nathan
------------------------------------------------------------
University of Missouri - Rolla Phone: (573) 341-4841
Computing Services Fax: (573) 341-4216
_______________________________________________
OpenAFS-devel mailing list
https://lists.openafs.org/mailman/listinfo.cgi/openafs-devel
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL N1NWH
***@MIT.EDU PGP key available
Neulinger, Nathan R.
2000-11-02 15:15:59 UTC
Permalink
Ah. Wasn't quite sure how open that process will be. Even still, I'd imagine
that there will still be preliminary patches, or patches not of interest to
everyone. For those, it would be nice to have a central area. (Hey, if
nothing else, it would probably be smart to have the source/copy of cvs in
afs for people to get at it that way.)

i.e. stuff like the people/ dir for the linux kernel.

-- Nathan
-----Original Message-----
Sent: Thursday, November 02, 2000 9:09 AM
To: Neulinger, Nathan R.
Subject: Re: [OpenAFS-devel] openafs cell and contrib area?
I'm not sure why we really need a contrib area, as patches will
(hopefully) get applied to the OpenAFS CVS tree as they are submitted.
Also, I believe there are at least some plans to resurrect the
grand.central.org AFS Cell, though there are still some technical
issues in terms of distributing the cell.
-derek
Post by Neulinger, Nathan R.
Are there any plans for an openafs.org afs cell and contrib
area similar to
Post by Neulinger, Nathan R.
that on transarc?
-- Nathan
------------------------------------------------------------
University of Missouri - Rolla Phone: (573) 341-4841
Computing Services Fax: (573) 341-4216
_______________________________________________
OpenAFS-devel mailing list
https://lists.openafs.org/mailman/listinfo.cgi/openafs-devel
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL N1NWH
Derek Atkins
2000-11-02 15:35:26 UTC
Permalink
It's still a bit unclear what the process will be, but it _IS_
supposed to be relatively open. Also, the CVS repository is
accessible via anoymous CVS and via cvsweb, so putting it into AFS
would be overkill, IMHO.

I have nothing against a central work-in-progress area, but if nobody
else is interested, why do you need to distribute it? And if other
people ARE interested, it should probably get patched into the
mainline (or at least a branch) in CVS.

Just my $.02 :)

-derek
Post by Neulinger, Nathan R.
Ah. Wasn't quite sure how open that process will be. Even still, I'd imagine
that there will still be preliminary patches, or patches not of interest to
everyone. For those, it would be nice to have a central area. (Hey, if
nothing else, it would probably be smart to have the source/copy of cvs in
afs for people to get at it that way.)
i.e. stuff like the people/ dir for the linux kernel.
-- Nathan
-----Original Message-----
Sent: Thursday, November 02, 2000 9:09 AM
To: Neulinger, Nathan R.
Subject: Re: [OpenAFS-devel] openafs cell and contrib area?
I'm not sure why we really need a contrib area, as patches will
(hopefully) get applied to the OpenAFS CVS tree as they are submitted.
Also, I believe there are at least some plans to resurrect the
grand.central.org AFS Cell, though there are still some technical
issues in terms of distributing the cell.
-derek
Post by Neulinger, Nathan R.
Are there any plans for an openafs.org afs cell and contrib
area similar to
Post by Neulinger, Nathan R.
that on transarc?
-- Nathan
------------------------------------------------------------
University of Missouri - Rolla Phone: (573) 341-4841
Computing Services Fax: (573) 341-4216
_______________________________________________
OpenAFS-devel mailing list
https://lists.openafs.org/mailman/listinfo.cgi/openafs-devel
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL N1NWH
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL N1NWH
***@MIT.EDU PGP key available
Derek Atkins
2000-11-02 15:35:26 UTC
Permalink
It's still a bit unclear what the process will be, but it _IS_
supposed to be relatively open. Also, the CVS repository is
accessible via anoymous CVS and via cvsweb, so putting it into AFS
would be overkill, IMHO.

I have nothing against a central work-in-progress area, but if nobody
else is interested, why do you need to distribute it? And if other
people ARE interested, it should probably get patched into the
mainline (or at least a branch) in CVS.

Just my $.02 :)

-derek
Post by Neulinger, Nathan R.
Ah. Wasn't quite sure how open that process will be. Even still, I'd imagine
that there will still be preliminary patches, or patches not of interest to
everyone. For those, it would be nice to have a central area. (Hey, if
nothing else, it would probably be smart to have the source/copy of cvs in
afs for people to get at it that way.)
i.e. stuff like the people/ dir for the linux kernel.
-- Nathan
-----Original Message-----
Sent: Thursday, November 02, 2000 9:09 AM
To: Neulinger, Nathan R.
Subject: Re: [OpenAFS-devel] openafs cell and contrib area?
I'm not sure why we really need a contrib area, as patches will
(hopefully) get applied to the OpenAFS CVS tree as they are submitted.
Also, I believe there are at least some plans to resurrect the
grand.central.org AFS Cell, though there are still some technical
issues in terms of distributing the cell.
-derek
Post by Neulinger, Nathan R.
Are there any plans for an openafs.org afs cell and contrib
area similar to
Post by Neulinger, Nathan R.
that on transarc?
-- Nathan
------------------------------------------------------------
University of Missouri - Rolla Phone: (573) 341-4841
Computing Services Fax: (573) 341-4216
_______________________________________________
OpenAFS-devel mailing list
https://lists.openafs.org/mailman/listinfo.cgi/openafs-devel
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL N1NWH
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL N1NWH
***@MIT.EDU PGP key available
Neulinger, Nathan R.
2000-11-02 15:46:37 UTC
Permalink
Because of a situation like ken's krb5 patch. Useful to plenty of people,
but the maintainers weren't interested in including more than a tiny
fraction of it, and because it wasn't available in a central location where
people could look for contributions/etc, there has been a LOT of duplication
of effort.

Granted, I'm being a bit pessimistic there, but I figure it's better to plan
ahead.

I'm also thinking things like MR-AFS, where it may not be suitable for
public consumption on the mainline, but could be very useful if you have the
infrastructure. Or for that matter "here's something I was playing with, it
doesn't work yet, but it could be useful if someone put a few hours of work
into getting it cleaned up"

If nothing else - set up a page where people can EASILY get links added to
point at contributed code/patches/etc. That way, there is one place to look
for stuff, even if it isn't added to the mainline code.

-- Nathan
-----Original Message-----
Sent: Thursday, November 02, 2000 9:35 AM
To: Neulinger, Nathan R.
Subject: Re: [OpenAFS-devel] openafs cell and contrib area?
It's still a bit unclear what the process will be, but it _IS_
supposed to be relatively open. Also, the CVS repository is
accessible via anoymous CVS and via cvsweb, so putting it into AFS
would be overkill, IMHO.
I have nothing against a central work-in-progress area, but if nobody
else is interested, why do you need to distribute it? And if other
people ARE interested, it should probably get patched into the
mainline (or at least a branch) in CVS.
Just my $.02 :)
-derek
Post by Neulinger, Nathan R.
Ah. Wasn't quite sure how open that process will be. Even
still, I'd imagine
Post by Neulinger, Nathan R.
that there will still be preliminary patches, or patches
not of interest to
Post by Neulinger, Nathan R.
everyone. For those, it would be nice to have a central
area. (Hey, if
Post by Neulinger, Nathan R.
nothing else, it would probably be smart to have the
source/copy of cvs in
Post by Neulinger, Nathan R.
afs for people to get at it that way.)
i.e. stuff like the people/ dir for the linux kernel.
-- Nathan
-----Original Message-----
Sent: Thursday, November 02, 2000 9:09 AM
To: Neulinger, Nathan R.
Subject: Re: [OpenAFS-devel] openafs cell and contrib area?
I'm not sure why we really need a contrib area, as patches will
(hopefully) get applied to the OpenAFS CVS tree as they
are submitted.
Post by Neulinger, Nathan R.
Also, I believe there are at least some plans to resurrect the
grand.central.org AFS Cell, though there are still some technical
issues in terms of distributing the cell.
-derek
Post by Neulinger, Nathan R.
Are there any plans for an openafs.org afs cell and contrib
area similar to
Post by Neulinger, Nathan R.
that on transarc?
-- Nathan
------------------------------------------------------------
University of Missouri - Rolla Phone: (573) 341-4841
Computing Services Fax: (573) 341-4216
_______________________________________________
OpenAFS-devel mailing list
https://lists.openafs.org/mailman/listinfo.cgi/openafs-devel
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL N1NWH
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL N1NWH
_______________________________________________
OpenAFS-devel mailing list
https://lists.openafs.org/mailman/listinfo.cgi/openafs-devel
Bill Sommerfeld
2000-11-02 16:10:28 UTC
Permalink
it would be extremely useful if there was some way for external
developers to create branches in the central.org OpenAFS repository..

- Bill
Jeffrey Hutzelman
2000-11-02 18:33:50 UTC
Permalink
Post by Derek Atkins
Also, I believe there are at least some plans to resurrect the
grand.central.org AFS Cell, though there are still some technical
issues in terms of distributing the cell.
All true. The first dbserver for the grand.central.org cell is sitting in
my machine room, waiting for me to add more memory to it and install a
fileserver. I have the memory (thanks, Derrick!), so there should be a
cell Real Soon Now(tm).

I expect the grand.central.org cell will contain copies of the releases of
major AFS implementations, documentation, and so on. It certainly seems
likely that there will be a contributed area of some sort. At the very
least, there is a need for someplace to collect contributed/third-party
tools and such.


ObOpenAFS: As Derek points out, there are some problems involved with
setting up a widely-distributed cell like grand.central.org or openafs.org
Mostly these are related to limitations in AFS's authentication model (all
servers share one key) and in the authorization model used by the
bosserver, volserver, and vlserver.

The model I envision is one where the Kerberos and pts databases are
maintained by a trusted set of individuals (presumably, members of the
system:administrators group), but fileservers can be run by anyone.
Clearly the database services need to run on machines that are trusted by
the cell's administrators. However, it is desirable that the operators of
database servers not be forced to trust _each other_.

This requires that each server machine have its own key, so that no server
operator knows the service key used by another server. This problem looks
hard, because all the clients "know" that every server uses the
***@cell.name key. However, I think that rxkad3 can enable that to change
in new clients, and a workaround for old clients, while ugly, would not be
impossible.

The authorization problem is considerably more interesting, I think. At
present, the bosserver, volserver, and vlserver each recognize a fixed set
of privileged users, identified by the contents of /usr/afs/etc/UserList.
In order to allow independent server operators to exist within one cell,
the volserver and vlserver must have more flexible authorization models.
As a first cut, I propose something like the following:


- Every server has a defined set of administrators. Presumably these
are represented by pts groups, with the vlserver storing the pts ID
of the administrator group for each server.

- Every volume has an administrator known to the vldb. This is different
from the concept of volume ownership -- volumes may be owned by users,
but a volume administrator is unlikely to be a user. This information
_may_ also have to be stored in the volume header, but I don't think so.

- The following operations are permitted to server/volume admins:

+ An admin may create a volume on any server he controls. Volume names
are presumably subject to restrictions defined by the cell admins.
A newly created volume has the same administrator as the server on
which it was created (_not_ the individual who created it)

+ An admin may move a volume he controls to a server he controls.
He need not be an administrator of the volume's old site.

+ An admin may remove any volume he controls, regardless of location.

+ An admin may rename any volume he controls, subject to the same
volume namespace restrictions as for creation.

+ An admin may add an RO site for a volume he controls to a server he
controls.

??? how to add RO sites when volume and server admin are not the same?

+ An admin may remove any RO site for a volume he controls.

+ An admin may remove any RO site on a server he controls.

+ An admin may perform a release of any volume he controls.

+ An admin may change the administrator of any volume or server he
controls.

??? Can server admins release volumes? When?


Cell admins can presumably do any of the usual operations, without
regard to who the volume and server administrators are. They also
have the ability to set volume namespace policy in some fashion.
Unfortunately, that is a complicated issue...

-- Jeffrey T. Hutzelman (N3NHS) <jhutz+@cmu.edu>
Sr. Research Systems Programmer
School of Computer Science - Research Computing Facility
Carnegie Mellon University - Pittsburgh, PA
Bill Sommerfeld
2000-11-02 15:50:00 UTC
Permalink
it would be extremely useful if there was some way for external
developers to create branches in the central.org OpenAFS repository..

- Bill
a***@speakeasy.org
2000-11-03 03:35:25 UTC
Permalink
hutz,
I like your ideas about the trust model in general, but I also had the
following simultaneous thoughts -- not all entirely compatible with each other
-- but they're the first things that come to mind:

- I think you're biting off too big a chunk for the first pass at something
like this. Start with splitting security:administrators off from
system:administrators, which is easy, and maybe add a couple of more flexible
options for volume ownership. The other bits of "user A can create volumes on
server S but not server P" can be handled simply as a matter of policy, in
most cases.

and.

- what does it mean to say "database server operators are not forced to trust
each other", when the fact is, there's no point in cooperatively sharing a
database with someone who you don't trust completely. Really, trust means
simply "trust to update the {volume,backup,xxx} database", right?

and.

- the problem of cooperating with regions under separate administration was
why cells were invented. (that, and the fact that inventing cells was Quick
And Dirty). Aesthetically, I'd like to see a new model hew as closely to the
old one as possible. Simplicity *is* a virtue.

and

- anyone who has admin permissions on the V.1.1 fid in a volume should be able
to release it. To anywhere. This is as good a definition of "volume admin" as
we need. It does mean that the volserver would have to be able to interpret
ACLs, which is new, but the code is very modular...

and

- the flexibility is useful, even if you can't get perfect subdivision of
authority. I'm willing to accept that Joe can frig with Bob's server
somewhat, for instance, by releasing volumes which are replicated in both
places. That's awfully minor, and if Bob doesn't like it, then he can put his
own resources in his own cell, or remove the local replica on his server, or
write a script to remove it every 5 minutes.

Ok, random ramblings, granted, but let's see who hates 'em.
Nathan Neulinger
2000-11-03 14:04:39 UTC
Permalink
Post by a***@speakeasy.org
- the problem of cooperating with regions under separate administration was
why cells were invented. (that, and the fact that inventing cells was Quick
And Dirty). Aesthetically, I'd like to see a new model hew as closely to the
old one as possible. Simplicity *is* a virtue.
Right - why do we need to have a big distributed openafs.org cell? (I
mean, it would be nice, but is it critical?)
Post by a***@speakeasy.org
- the flexibility is useful, even if you can't get perfect subdivision of
authority. I'm willing to accept that Joe can frig with Bob's server
somewhat, for instance, by releasing volumes which are replicated in both
places. That's awfully minor, and if Bob doesn't like it, then he can put his
own resources in his own cell, or remove the local replica on his server, or
write a script to remove it every 5 minutes.
Well, one thing that might be nice to do here would be the idea of a
'pull replicate' instead of a push replicate. Somehow allow anyone with
the appropriate permissions on a volume to PULL the volume from a remote
server. The remote server needn't even be aware that the replicate
exists, other than the initial validation of permissions.

Actually, something I've wished afs had for a long time is the concept
of a server side cache. For example - I've got a bunch of local afs
servers with big disks on them that aren't used. It would be nice if the
afs clients could somehow ask the LOCAL file servers to get a callback
to a particular file on their behalf, and then that client could then
retrieve it from the cache on the server instead. i.e. allow AFS servers
to proxy AFS servers.

The benefit would be that if you have 10 machines in the cell accessing
transarc, you don't have to sit and wait for transarc's network/server
on all 10 of them, just the first one to access a particular file.

-- Nathan

------------------------------------------------------------
Nathan Neulinger EMail: ***@umr.edu
University of Missouri - Rolla Phone: (573) 341-4841
CIS - Systems Programming Fax: (573) 341-4216
Derek Atkins
2000-11-03 14:22:23 UTC
Permalink
Post by Nathan Neulinger
Post by a***@speakeasy.org
- the problem of cooperating with regions under separate
administration was why cells were invented. (that, and the fact
that inventing cells was Quick And Dirty). Aesthetically, I'd like
to see a new model hew as closely to the old one as possible.
Simplicity *is* a virtue.
Right - why do we need to have a big distributed openafs.org cell?
(I mean, it would be nice, but is it critical?)
Actually, yes. AFS clients are useless without pointing them at an
AFS Cell. I believe that to be truly successful, we need to have a
'default' AFS Cell that can be the 'default' ThisCell in OpenAFS
distributions. Obviously, people at large sites that are currently
using AFS would want to point their clients at their own cell.
However, it would be nice if OpenAFS were _useful_ out-of-the-box
without human intervention, in ALL cases.

If we travel down this road, we would need a distributed primary cell
such that someone in Somalia wouldn't have to have packets travel all
the way to Pittsburgh just to start AFS ;)

-derek
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL N1NWH
***@MIT.EDU PGP key available
Love
2000-11-05 22:51:30 UTC
Permalink
[Catching up now when I finaly understod that I never got subscribed to the
mailinglist, can the mailinglist maintainer make the reply adress to the
mailinglist mangler a valid one, please ? ]
Post by Derek Atkins
Actually, yes. AFS clients are useless without pointing them at an
AFS Cell. I believe that to be truly successful, we need to have a
'default' AFS Cell that can be the 'default' ThisCell in OpenAFS
distributions. Obviously, people at large sites that are currently
using AFS would want to point their clients at their own cell.
However, it would be nice if OpenAFS were _useful_ out-of-the-box
without human intervention, in ALL cases.
Generate a root.afs by interating over CellServDB and add new cells when
found by dns. Then a solution that avoids that stat()ing a mountpoint
causes a rpc to remote cell.

Another way to solve this to adding a automount like thingy that create the
entry in the root.cell when its looked up (and keep them there for a
while). I think this will confuse people.

Love
Derek Atkins
2000-11-06 19:18:58 UTC
Permalink
Post by Love
Generate a root.afs by interating over CellServDB and add new cells when
found by dns. Then a solution that avoids that stat()ing a mountpoint
causes a rpc to remote cell.
This doesn't let you easily create shortcuts.. For example, I like
being able to access /afs/athena, /afs/sipb, /afs/dev, and other MIT
shorthands. Obviously these are finger macros, but they are
convenient.

In theory I do like this idea -- perhaps we can also add a "list of
known short-hands" that one could use?
Post by Love
Love
-derek
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL N1NWH
***@MIT.EDU PGP key available
dmj+ (Daniel Jacobowitz)
2000-12-14 01:44:01 UTC
Permalink
Post by Derek Atkins
Post by Love
Generate a root.afs by interating over CellServDB and add new cells when
found by dns. Then a solution that avoids that stat()ing a mountpoint
causes a rpc to remote cell.
This doesn't let you easily create shortcuts.. For example, I like
being able to access /afs/athena, /afs/sipb, /afs/dev, and other MIT
shorthands. Obviously these are finger macros, but they are
convenient.
In theory I do like this idea -- perhaps we can also add a "list of
known short-hands" that one could use?
To reply to an old thread... if we use "found by DNS", and you have the
appropriate search path, "athena" should resolve to "athena.mit.edu"
anyway, right?

Dan

/--------------------------------\ /--------------------------------\
| Daniel Jacobowitz |__| SCS Class of 2002 |
| Debian GNU/Linux Developer __ Carnegie Mellon University |
| ***@debian.org | | dmj+@andrew.cmu.edu |
\--------------------------------/ \--------------------------------/
Derek Atkins
2000-12-14 03:41:47 UTC
Permalink
Post by dmj+ (Daniel Jacobowitz)
To reply to an old thread... if we use "found by DNS", and you have the
appropriate search path, "athena" should resolve to "athena.mit.edu"
anyway, right?
Maybe. I may want AFS shorthand for sites that I don't want in my DNS
search path. I think having a client-defined list of "known
short-hand sites" would be nice, in addition to the DNS shorthand.
Post by dmj+ (Daniel Jacobowitz)
Dan
-derek
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
***@MIT.EDU PGP key available
dmj+ (Daniel Jacobowitz)
2000-12-14 03:45:22 UTC
Permalink
Post by Derek Atkins
Post by dmj+ (Daniel Jacobowitz)
To reply to an old thread... if we use "found by DNS", and you have the
appropriate search path, "athena" should resolve to "athena.mit.edu"
anyway, right?
Maybe. I may want AFS shorthand for sites that I don't want in my DNS
search path. I think having a client-defined list of "known
short-hand sites" would be nice, in addition to the DNS shorthand.
Yeah - sounds like a good thing to be able to configure in the client.
Ideally, something like devfsd's support for recording symlinks made to
a config file would be neat; that might be a bit overkill, though.

Dan

/--------------------------------\ /--------------------------------\
| Daniel Jacobowitz |__| SCS Class of 2002 |
| Debian GNU/Linux Developer __ Carnegie Mellon University |
| ***@debian.org | | dmj+@andrew.cmu.edu |
\--------------------------------/ \--------------------------------/
Derek Atkins
2000-12-14 04:04:59 UTC
Permalink
Post by dmj+ (Daniel Jacobowitz)
Yeah - sounds like a good thing to be able to configure in the client.
Ideally, something like devfsd's support for recording symlinks made to
a config file would be neat; that might be a bit overkill, though.
Something like that, but yea.

-derek
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
***@MIT.EDU PGP key available
Derek Atkins
2000-12-14 04:04:59 UTC
Permalink
Post by dmj+ (Daniel Jacobowitz)
Yeah - sounds like a good thing to be able to configure in the client.
Ideally, something like devfsd's support for recording symlinks made to
a config file would be neat; that might be a bit overkill, though.
Something like that, but yea.

-derek
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
***@MIT.EDU PGP key available
dmj+ (Daniel Jacobowitz)
2000-12-14 03:45:22 UTC
Permalink
Post by Derek Atkins
Post by dmj+ (Daniel Jacobowitz)
To reply to an old thread... if we use "found by DNS", and you have the
appropriate search path, "athena" should resolve to "athena.mit.edu"
anyway, right?
Maybe. I may want AFS shorthand for sites that I don't want in my DNS
search path. I think having a client-defined list of "known
short-hand sites" would be nice, in addition to the DNS shorthand.
Yeah - sounds like a good thing to be able to configure in the client.
Ideally, something like devfsd's support for recording symlinks made to
a config file would be neat; that might be a bit overkill, though.

Dan

/--------------------------------\ /--------------------------------\
| Daniel Jacobowitz |__| SCS Class of 2002 |
| Debian GNU/Linux Developer __ Carnegie Mellon University |
| ***@debian.org | | dmj+@andrew.cmu.edu |
\--------------------------------/ \--------------------------------/
Derek Atkins
2000-12-14 03:41:47 UTC
Permalink
Post by dmj+ (Daniel Jacobowitz)
To reply to an old thread... if we use "found by DNS", and you have the
appropriate search path, "athena" should resolve to "athena.mit.edu"
anyway, right?
Maybe. I may want AFS shorthand for sites that I don't want in my DNS
search path. I think having a client-defined list of "known
short-hand sites" would be nice, in addition to the DNS shorthand.
Post by dmj+ (Daniel Jacobowitz)
Dan
-derek
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
***@MIT.EDU PGP key available
dmj+ (Daniel Jacobowitz)
2000-12-14 01:44:01 UTC
Permalink
Post by Derek Atkins
Post by Love
Generate a root.afs by interating over CellServDB and add new cells when
found by dns. Then a solution that avoids that stat()ing a mountpoint
causes a rpc to remote cell.
This doesn't let you easily create shortcuts.. For example, I like
being able to access /afs/athena, /afs/sipb, /afs/dev, and other MIT
shorthands. Obviously these are finger macros, but they are
convenient.
In theory I do like this idea -- perhaps we can also add a "list of
known short-hands" that one could use?
To reply to an old thread... if we use "found by DNS", and you have the
appropriate search path, "athena" should resolve to "athena.mit.edu"
anyway, right?

Dan

/--------------------------------\ /--------------------------------\
| Daniel Jacobowitz |__| SCS Class of 2002 |
| Debian GNU/Linux Developer __ Carnegie Mellon University |
| ***@debian.org | | dmj+@andrew.cmu.edu |
\--------------------------------/ \--------------------------------/
Derek Atkins
2000-11-06 19:18:58 UTC
Permalink
Post by Love
Generate a root.afs by interating over CellServDB and add new cells when
found by dns. Then a solution that avoids that stat()ing a mountpoint
causes a rpc to remote cell.
This doesn't let you easily create shortcuts.. For example, I like
being able to access /afs/athena, /afs/sipb, /afs/dev, and other MIT
shorthands. Obviously these are finger macros, but they are
convenient.

In theory I do like this idea -- perhaps we can also add a "list of
known short-hands" that one could use?
Post by Love
Love
-derek
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL N1NWH
***@MIT.EDU PGP key available
Love
2000-11-05 22:51:30 UTC
Permalink
[Catching up now when I finaly understod that I never got subscribed to the
mailinglist, can the mailinglist maintainer make the reply adress to the
mailinglist mangler a valid one, please ? ]
Post by Derek Atkins
Actually, yes. AFS clients are useless without pointing them at an
AFS Cell. I believe that to be truly successful, we need to have a
'default' AFS Cell that can be the 'default' ThisCell in OpenAFS
distributions. Obviously, people at large sites that are currently
using AFS would want to point their clients at their own cell.
However, it would be nice if OpenAFS were _useful_ out-of-the-box
without human intervention, in ALL cases.
Generate a root.afs by interating over CellServDB and add new cells when
found by dns. Then a solution that avoids that stat()ing a mountpoint
causes a rpc to remote cell.

Another way to solve this to adding a automount like thingy that create the
entry in the root.cell when its looked up (and keep them there for a
while). I think this will confuse people.

Love
Derek Atkins
2000-11-03 14:22:23 UTC
Permalink
Post by Nathan Neulinger
Post by a***@speakeasy.org
- the problem of cooperating with regions under separate
administration was why cells were invented. (that, and the fact
that inventing cells was Quick And Dirty). Aesthetically, I'd like
to see a new model hew as closely to the old one as possible.
Simplicity *is* a virtue.
Right - why do we need to have a big distributed openafs.org cell?
(I mean, it would be nice, but is it critical?)
Actually, yes. AFS clients are useless without pointing them at an
AFS Cell. I believe that to be truly successful, we need to have a
'default' AFS Cell that can be the 'default' ThisCell in OpenAFS
distributions. Obviously, people at large sites that are currently
using AFS would want to point their clients at their own cell.
However, it would be nice if OpenAFS were _useful_ out-of-the-box
without human intervention, in ALL cases.

If we travel down this road, we would need a distributed primary cell
such that someone in Somalia wouldn't have to have packets travel all
the way to Pittsburgh just to start AFS ;)

-derek
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL N1NWH
***@MIT.EDU PGP key available
Nathan Neulinger
2000-11-03 14:04:39 UTC
Permalink
Post by a***@speakeasy.org
- the problem of cooperating with regions under separate administration was
why cells were invented. (that, and the fact that inventing cells was Quick
And Dirty). Aesthetically, I'd like to see a new model hew as closely to the
old one as possible. Simplicity *is* a virtue.
Right - why do we need to have a big distributed openafs.org cell? (I
mean, it would be nice, but is it critical?)
Post by a***@speakeasy.org
- the flexibility is useful, even if you can't get perfect subdivision of
authority. I'm willing to accept that Joe can frig with Bob's server
somewhat, for instance, by releasing volumes which are replicated in both
places. That's awfully minor, and if Bob doesn't like it, then he can put his
own resources in his own cell, or remove the local replica on his server, or
write a script to remove it every 5 minutes.
Well, one thing that might be nice to do here would be the idea of a
'pull replicate' instead of a push replicate. Somehow allow anyone with
the appropriate permissions on a volume to PULL the volume from a remote
server. The remote server needn't even be aware that the replicate
exists, other than the initial validation of permissions.

Actually, something I've wished afs had for a long time is the concept
of a server side cache. For example - I've got a bunch of local afs
servers with big disks on them that aren't used. It would be nice if the
afs clients could somehow ask the LOCAL file servers to get a callback
to a particular file on their behalf, and then that client could then
retrieve it from the cache on the server instead. i.e. allow AFS servers
to proxy AFS servers.

The benefit would be that if you have 10 machines in the cell accessing
transarc, you don't have to sit and wait for transarc's network/server
on all 10 of them, just the first one to access a particular file.

-- Nathan

------------------------------------------------------------
Nathan Neulinger EMail: ***@umr.edu
University of Missouri - Rolla Phone: (573) 341-4841
CIS - Systems Programming Fax: (573) 341-4216
Neulinger, Nathan R.
2000-11-03 14:29:36 UTC
Permalink
Wouldn't it be easier to get the pseudo-root.afs volume support implemented?

-- Nathan
-----Original Message-----
Sent: Friday, November 03, 2000 8:22 AM
To: Nathan Neulinger
Subject: Re: [OpenAFS-devel] openafs cell and contrib area?
Post by Nathan Neulinger
Post by a***@speakeasy.org
- the problem of cooperating with regions under separate
administration was why cells were invented. (that, and the fact
that inventing cells was Quick And Dirty).
Aesthetically, I'd like
Post by Nathan Neulinger
Post by a***@speakeasy.org
to see a new model hew as closely to the old one as possible.
Simplicity *is* a virtue.
Right - why do we need to have a big distributed openafs.org cell?
(I mean, it would be nice, but is it critical?)
Actually, yes. AFS clients are useless without pointing them at an
AFS Cell. I believe that to be truly successful, we need to have a
'default' AFS Cell that can be the 'default' ThisCell in OpenAFS
distributions. Obviously, people at large sites that are currently
using AFS would want to point their clients at their own cell.
However, it would be nice if OpenAFS were _useful_ out-of-the-box
without human intervention, in ALL cases.
If we travel down this road, we would need a distributed primary cell
such that someone in Somalia wouldn't have to have packets travel all
the way to Pittsburgh just to start AFS ;)
-derek
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL N1NWH
_______________________________________________
OpenAFS-devel mailing list
https://lists.openafs.org/mailman/listinfo.cgi/openafs-devel
Jeffrey Hutzelman
2000-11-03 16:30:30 UTC
Permalink
Post by a***@speakeasy.org
- I think you're biting off too big a chunk for the first pass at something
like this. Start with splitting security:administrators off from
system:administrators, which is easy, and maybe add a couple of more flexible
options for volume ownership. The other bits of "user A can create volumes on
server S but not server P" can be handled simply as a matter of policy, in
most cases.
I don't understand what your 'security:administrators' group is supposed
to be for. All of the major Kerberos implementations, including the
kaserver, have their own ideas about who is an admin. And the volserver
and vlserver have never used system:administrators -- they use the
superuser list, which is the inflexible bit we're trying to change.
Post by a***@speakeasy.org
- what does it mean to say "database server operators are not forced to trust
each other", when the fact is, there's no point in cooperatively sharing a
database with someone who you don't trust completely. Really, trust means
simply "trust to update the {volume,backup,xxx} database", right?
No. Under the current model, trust means "trust to be allowed to do
absolutely anything on the server machine as root". If I have privileged
access to a fileserver machine, I can use the AFS key file to forge
tickets that allow me to access UserList-using services as if I were on
that list. That's what the -localauth switch does. Combined with the
'exec', 'getfile', and 'install' commands in bos, I can run any program as
root, and read or write any file.


I'm envisioning a cell where the various machines on which the fileservers
and database servers run are operated by different people, who should not
be forced to allow each other privileged access to their machines. This
is useful for the kind of cell we're talking about, where fileservers
essentially serve as "mirrors" of each other. It's also useful for a cell
whose fileservers are individual user's machines in dorm rooms at a
university.
Post by a***@speakeasy.org
- anyone who has admin permissions on the V.1.1 fid in a volume should
be able to release it. To anywhere. This is as good a definition of
"volume admin" as we need. It does mean that the volserver would have
to be able to interpret ACLs, which is new, but the code is very
modular...
Unfortunately, it also has the problem that the _vlserver_ must be able to
interpret ACL's, and so must the volservers which don't yet have a copy of
the volume. That could get messy... Certainly, the right to perform a
release should depend only on the volume permissions, and not on what
fileservers the RW and RO sites happen to live on.
Post by a***@speakeasy.org
- the flexibility is useful, even if you can't get perfect subdivision
of authority. I'm willing to accept that Joe can frig with Bob's server
somewhat, for instance, by releasing volumes which are replicated in
both places. That's awfully minor, and if Bob doesn't like it, then he
can put his own resources in his own cell, or remove the local replica
on his server, or write a script to remove it every 5 minutes.
Absolutely. I thought my model addressed that - the only real question is
whether a particular server admin can force a release of volumes with RO
sites on his server, even though he does not have any special rights on
the volume involved.

-- Jeff
Ted McCabe
2000-11-03 17:58:56 UTC
Permalink
I concur with ***@speakeasy.org that the trust needed in the
maintainers of the db servers must be total. I also point out that
while the fileservers need to trust the db servers, the db servers
need not trust the fileservers (currently of course, they do).

Is it enough to change AFS so that the db servers don't need to trust
the fileservers?
No.

For a distributed cell to have integrity of data, the people with
physical access to the fileservers need to be trusted to maintain that
integrity. There is no way to ensure that (extreme case, picture a
fileserver hacked to provide bogus volume data, to only some selected
machines). Unfortunately, the integrity of the data is the primary
purpose of the envisioned distributed openafs/default cell.

So given that you can never know for sure when the trust in a
distributed fileserver is violated, i.e. some trust *has* to be
assumed, two questions come to mind.
How much trust should be assumed?
Can the security model of AFS be modified to accomodate the desired
level of assumed trust *without* breaking the more conventional model
for setting up a cell?

Once there is some concensus about the trust levels assumed, then a
discussion about how to redisign the AFS security model can continue.

--Ted
Ted McCabe
2000-11-03 18:02:09 UTC
Permalink
Jeff wrote:
Certainly, the right to perform a
release should depend only on the volume permissions, and not on what
fileservers the RW and RO sites happen to live on.

Incorrect. For example, the maintainer of the server with an RO site
may have constraints regarding the free space available which he could
not control if a volume admin could freely re-release any volume with
an RO already on that site.

--Ted
Default
2000-11-04 02:29:52 UTC
Permalink
Post by Jeffrey Hutzelman
Certainly, the right to perform a
release should depend only on the volume permissions, and not on what
fileservers the RW and RO sites happen to live on.
Incorrect. For example, the maintainer of the server with an RO site
may have constraints regarding the free space available which he could
not control if a volume admin could freely re-release any volume with
an RO already on that site.
Mm. Interesting point. Can a server admin adjust the quotas of the volumes
that have replicas on his server? If not, he could be in some trouble.

Any thoughts about completing the "minquota" work? In other words, a
guaranteed reserved disk usage for a particular volume?
Default
2000-11-04 02:08:00 UTC
Permalink
Post by Nathan Neulinger
Well, one thing that might be nice to do here would be the idea of a
'pull replicate' instead of a push replicate. Somehow allow anyone with
the appropriate permissions on a volume to PULL the volume from a remote
server. The remote server needn't even be aware that the replicate
exists, other than the initial validation of permissions.
For the sake of the failover code, it helps that there are only ever two
versions of a volume in existence at any one point in time, and that state
really shouldn't exist for very long. Redundancy suffers quite a bit when
there are two versions extant, as failover must only be permitted going
forward in time, never backward.

Push ensures that the oldest version goes away ASAP.
Post by Nathan Neulinger
Actually, something I've wished afs had for a long time is the concept
of a server side cache. For example - I've got a bunch of local afs
servers with big disks on them that aren't used. It would be nice if the
afs clients could somehow ask the LOCAL file servers to get a callback
to a particular file on their behalf, and then that client could then
retrieve it from the cache on the server instead. i.e. allow AFS servers
to proxy AFS servers.
Sounds like IFS. Or XFS. Dig around and see if you can find the papers.
Post by Nathan Neulinger
The benefit would be that if you have 10 machines in the cell accessing
transarc, you don't have to sit and wait for transarc's network/server
on all 10 of them, just the first one to access a particular file.
Default
2000-11-04 01:43:50 UTC
Permalink
into what the old apollo workstations had - dynamic symlinks. Why not
This has been suggested before. I don't recall ever hearing any arguments
against, and it's pretty easy to do in afs_lookup() if you require that they
all start with '@'.


I concur with Russ that *what* the @sys values are is not all that important.
Also, remember not to confuse 'sys' and @sys. They are completely independent
of each other.
Russ Allbery
2000-11-05 01:05:23 UTC
Permalink
completely independent of each other.
Making them match is rather nice, however. Either that, or adding an
option to fs sysname that spits back just the sysname rather than a line
of human-readable text that has to be parsed.
--
Russ Allbery (***@stanford.edu) <http://www.eyrie.org/~eagle/>
Russ Allbery
2000-11-05 01:05:23 UTC
Permalink
completely independent of each other.
Making them match is rather nice, however. Either that, or adding an
option to fs sysname that spits back just the sysname rather than a line
of human-readable text that has to be parsed.
--
Russ Allbery (***@stanford.edu) <http://www.eyrie.org/~eagle/>
Default
2000-11-04 02:00:24 UTC
Permalink
Post by Derek Atkins
Actually, yes. AFS clients are useless without pointing them at an
AFS Cell. I believe that to be truly successful, we need to have a
'default' AFS Cell that can be the 'default' ThisCell in OpenAFS
distributions. Obviously, people at large sites that are currently
using AFS would want to point their clients at their own cell.
However, it would be nice if OpenAFS were _useful_ out-of-the-box
without human intervention, in ALL cases.
If we travel down this road, we would need a distributed primary cell
such that someone in Somalia wouldn't have to have packets travel all
the way to Pittsburgh just to start AFS ;)
The default cell is root.afs, and a time source. AFSDB support or other dynamic configuration would obviate the need.

Even so, a distributed default cell needn't have distributed
administration.

And even then, the CM presently doesn't know how to choose a "best" VL server or root.afs server without trying them first -- the subnet mask proximity guesses just aren't going to help your Somali friend. So a few packets are likely to travel to Pittsburgh -- splitting up the administration isn't going to help with this problem.

Even so, it's hardly the end of the world to make a half-dozen RX RPCs from Somalia to Pittsburgh every time you boot a client-only instance of OpenAFS. Would it? It doesn't take much hardware to handle 200-300 calls/sec.

Booting a CM involves (IIRC) 2 VLDB RPCs (getvolumebyname(root.afs) and getvolumebyid(nnn), though the latter is redundant, it's just an implementation artifact) plus 2 FS RPCs (getattr and readdir). So one dinky beatup old server could handle 50 clients rebooting every second. Given average uptimes around, say, a week, that's 86400*7*50 client-only instances of OpenAFS. We should be so lucky. (yeah, there's time, and there's another stat and readlink needed to traverse each AFS cell mountpoint, but OTOH, 200 calls per second is a pretty slow server).
Nathan Neulinger
2000-11-04 16:43:30 UTC
Permalink
Post by Default
Post by Derek Atkins
Actually, yes. AFS clients are useless without pointing them at an
AFS Cell. I believe that to be truly successful, we need to have a
'default' AFS Cell that can be the 'default' ThisCell in OpenAFS
distributions. Obviously, people at large sites that are currently
using AFS would want to point their clients at their own cell.
However, it would be nice if OpenAFS were _useful_ out-of-the-box
without human intervention, in ALL cases.
If we travel down this road, we would need a distributed primary cell
such that someone in Somalia wouldn't have to have packets travel all
the way to Pittsburgh just to start AFS ;)
The default cell is root.afs, and a time source. AFSDB support or other dynamic configuration would obviate the need.
Yeah, if you get rid of the whole need for 'root.afs' being an actual
volume, and just build it dynamically at the client, then you wouldn't
need the master root.afs.

-- Nathan

------------------------------------------------------------
Nathan Neulinger EMail: ***@umr.edu
University of Missouri - Rolla Phone: (573) 341-4841
CIS - Systems Programming Fax: (573) 341-4216
Nathan Neulinger
2000-11-04 16:43:30 UTC
Permalink
Post by Default
Post by Derek Atkins
Actually, yes. AFS clients are useless without pointing them at an
AFS Cell. I believe that to be truly successful, we need to have a
'default' AFS Cell that can be the 'default' ThisCell in OpenAFS
distributions. Obviously, people at large sites that are currently
using AFS would want to point their clients at their own cell.
However, it would be nice if OpenAFS were _useful_ out-of-the-box
without human intervention, in ALL cases.
If we travel down this road, we would need a distributed primary cell
such that someone in Somalia wouldn't have to have packets travel all
the way to Pittsburgh just to start AFS ;)
The default cell is root.afs, and a time source. AFSDB support or other dynamic configuration would obviate the need.
Yeah, if you get rid of the whole need for 'root.afs' being an actual
volume, and just build it dynamically at the client, then you wouldn't
need the master root.afs.

-- Nathan

------------------------------------------------------------
Nathan Neulinger EMail: ***@umr.edu
University of Missouri - Rolla Phone: (573) 341-4841
CIS - Systems Programming Fax: (573) 341-4216
a***@speakeasy.org
2000-11-04 02:24:52 UTC
Permalink
Post by Jeffrey Hutzelman
I don't understand what your 'security:administrators' group is supposed
to be for. All of the major Kerberos implementations, including the
kaserver, have their own ideas about who is an admin. And the volserver
and vlserver have never used system:administrators -- they use the
superuser list, which is the inflexible bit we're trying to change.
Sorry, I was being vague. Operationally, having administrative rights to any
of the servers has been sufficient to get administrative rights to any of the
others, including security, as you point out.

I'm just saying that the first thing to do is make sure that possession of the
vldb service key does not permit administrative access to the kadb.
Post by Jeffrey Hutzelman
No. Under the current model, trust means "trust to be allowed to do
absolutely anything on the server machine as root". If I have privileged
access to a fileserver machine, I can use the AFS key file to forge
tickets that allow me to access UserList-using services as if I were on
that list. That's what the -localauth switch does. Combined with the
'exec', 'getfile', and 'install' commands in bos, I can run any program as
root, and read or write any file.
right. We're agreeing here.
Post by Jeffrey Hutzelman
I'm envisioning a cell where the various machines on which the fileservers
and database servers run are operated by different people, who should not
be forced to allow each other privileged access to their machines. This
is useful for the kind of cell we're talking about, where fileservers
essentially serve as "mirrors" of each other. It's also useful for a cell
whose fileservers are individual user's machines in dorm rooms at a
university.
We may even be able to agree here. I thought you were saying that vldb server
1 and vldb server 2 might be operated by different people who don't trust each
other. I think that's silly.

Can we agree (in deference to a decade of misguided common practice, sigh) use
"server" to mean a piece of iron and "service" to mean a possibly-replicated
process with a single key?
Post by Jeffrey Hutzelman
Post by a***@speakeasy.org
- anyone who has admin permissions on the V.1.1 fid in a volume should
be able to release it. To anywhere. This is as good a definition of
"volume admin" as we need. It does mean that the volserver would have
to be able to interpret ACLs, which is new, but the code is very
modular...
Unfortunately, it also has the problem that the _vlserver_ must be able to
interpret ACL's, and so must the volservers which don't yet have a copy of
the volume. That could get messy... Certainly, the right to perform a
release should depend only on the volume permissions, and not on what
fileservers the RW and RO sites happen to live on.
VLservers can't interpret the ACLs, they don't have 'em, and they're not on
the same hardware. The source volserver would have to make the vldb update
calls.
It would also have to make the vol rpcs to the target sites. Vos is a nasty
tangle, with lots of annoying failure modes that are a veritable PITA to
recover from when it is interrupted. Trapping CTRL-C helps, but really,
*services* are long-running things, client utilities are not. This approach
doesn't get messy, it gets clean...
Post by Jeffrey Hutzelman
Absolutely. I thought my model addressed that - the only real question is
whether a particular server admin can force a release of volumes with RO
sites on his server, even though he does not have any special rights on
the volume involved.
I don't think that's necessarily unreasonable, as long as there's some way to
prevent Bob from having a replica on his server if he starts being a pest
about forcing releases every five minutes.
Jeffrey Hutzelman
2000-11-04 22:17:19 UTC
Permalink
Post by a***@speakeasy.org
I'm just saying that the first thing to do is make sure that possession of the
vldb service key does not permit administrative access to the kadb.
OK; that seems reasonable.
Post by a***@speakeasy.org
We may even be able to agree here. I thought you were saying that vldb server
1 and vldb server 2 might be operated by different people who don't trust each
other. I think that's silly.
Can we agree (in deference to a decade of misguided common practice, sigh) use
"server" to mean a piece of iron and "service" to mean a possibly-replicated
process with a single key?
That works for me.
Post by a***@speakeasy.org
VLservers can't interpret the ACLs, they don't have 'em, and they're not on
the same hardware. The source volserver would have to make the vldb update
calls.
It would also have to make the vol rpcs to the target sites. Vos is a nasty
tangle, with lots of annoying failure modes that are a veritable PITA to
recover from when it is interrupted. Trapping CTRL-C helps, but really,
*services* are long-running things, client utilities are not. This approach
doesn't get messy, it gets clean...
Hm. That's an interesting approach, and possibly a good change for most
cases. But I don't think it addresses the issue of separating fileserver
admins.


Let me try to present the problem in a different way. Carrying over the
terminology we agreed on above...

(1) Each cell has a number of database services - authentication
(kaserver), authorization (ptserver), and volume location. These
services may be run by the same or separate groups, but they
presently share the same service key, and thus anyone which access
to that key has privileged access to all three services. As you
mention above, these services should use separate keys, to make them
separable. While this is a desirable feature, I don't think it is
required by the openafs cell.

(2) The database services must run on multiple machins, for redundancy.
In a cell like openafs.org, it is desirable that these machines be
widely geographically distributed. It is also desirable that they
be able to be operated by administrators at the sites at which they
are located. Thus, it is desirable (and, IMHO, required for the
openafs.org cell) that the operators of one dbserver machine need
not trust the operators of another. It is also desirable that the
operators of such machines need not trust the operators of the
services that run on them.

(3) It is desirable, but not required for openafs.org, that those who
have privileged access to the filesystem contents not automatically
get access to the authorization service. Presently, these two are
both tied to membership in the system:administrators group. Note
that it is practically impossible to prevent prdb admins from getting
access to any filesystem object they want, but it may be worthwhile
to make that not automatic.

(4) Each cell has a number of fileservers, which consist of a machine
running the viced and volume services. It is desirable that the
operators of these machines and services need not be trusted by
the cell admins, except with the content of volumes stored on them.
I see this property as being critical to a cell like openafs.org.

(5) It is desirable that the cell admins need not be trusted by the
operators of fileserver machines, though they must be trusted by
the operators of the services on those machines. Again, I think
this is important for openafs.org.


(1) can be accomplished by creating separate service principals for the
authorization and volume location services (something like afs-***@cell
and afs-***@cell). Clients which support this feature should try the
new keys first, and then the old ***@cell key. Supporting old clients
is a bit trickier. It is probably OK for the vldb service to require
new clients, since only admins need authenticated access. The prdb
service presumably must accept connections authenticated using the
old ***@cell principal.

The authentication service already uses separate service keys, so there
is no problem to be solved there.

(2) and (5) boil down to allowing only server administrators to have
privileged access to a machine. This can be solved by taking several
steps...
- Don't run database services as root
- Make the bosserver use a separate, per-machine key
- Allow the bos exec, install, and getfile commands, and all
forms of remote configuration, to be disabled at compile time
or by a command-line switch.

(3) is accomplished by splitting system:administrators into two groups.
Unfortunately, it is hard to allocate a new distinguished group ID, so
the system:ptadmins group should be looked up by name when the ptserver
starts. Similarly, it may be desirable for the set of vldb admins to
be represented by a pts group, which would also be looked up by name.
I see no reason why the volserver and vlserver can't use GetCPS.

(4) basically requires that each fileserver use a separate service
principal, instead of a common one. I would suggest that such principals
be named afs-fileserver.<fqdn>@cell, but it has been suggested to me
that this would require the cache manager to do DNS lookups, which is
not desirable. I remain open to other ideas.

Backwards compatibility for fileserver clients using the ***@cell
principal is a pain. The hackish approach I see is running a service
on the database server machines that will reveal the session key for
a particular ***@cell connection to authorized fileservers. Obviously,
clients who use the old principal will be subject to snooping by
operators of fileserver services, but there's little that can be done
about that.


It has been pointed out to me out-of-band that all of the complicated
volume-level permissions that we discussed can and should be handled
by a privilege-delegation service, instead of being wired into AFS
itself.

-- Jeffrey T. Hutzelman (N3NHS) <jhutz+@cmu.edu>
Sr. Research Systems Programmer
School of Computer Science - Research Computing Facility
Carnegie Mellon University - Pittsburgh, PA
Default
2000-11-05 01:40:01 UTC
Permalink
I don't think that could be made to work reasonably, because the current
@sys stuff I imagine is just done through special handling of the
'readlink' system call in AFS space.
It doesn't seem like too much trouble.
@sys is presently handled in afs_lookup. I don't think there's anything
interesting done in readlink.

The tricky part is deciding when to treat @sys as symbolic and when
to treat it as literal...
Jeffrey Hutzelman
2000-11-06 00:58:52 UTC
Permalink
Post by Love
[Catching up now when I finaly understod that I never got subscribed to the
mailinglist, can the mailinglist maintainer make the reply adress to the
mailinglist mangler a valid one, please ? ]
Unfortunately, the openafs.org domain is not set up yet, and changing all
the places where that appears in the list configuration would be a pain.
So instead, I opted to add a paragraph to the bottom of the messages it
sends out, which tells you to replace "lists.openafs.org" with
"lists-openafs.central.org" until the openafs.org nameservers are set up.
Default
2000-11-06 01:52:03 UTC
Permalink
I'm afraid I must disagree with those who disagree. NTP is not part of
AFS; an NTP implementation has no place in the OpenAFS distribution.
Especially when what we're talking about is an ancient, decrepit NTPv2
implementation. To release such a thing and (implicitly) encoourage its
use would be a great disservice to the Internet community at large, not to
mention users of OpenAFS -- many NTP servers no longer even speak the v2
protocol.
I also must insist that if the OpenAFS distribution continues to contain
an NTP implementation, that it at least not contain configuration files
which mention my timeservers....
Ditto. In the beginning, AFS *had* to ship an ntp, because it wasn't quite
ubiquitous. Not so any longer.
Neulinger, Nathan R.
2000-11-06 16:28:07 UTC
Permalink
Yes and no... You can't change the value of 'sys'. That's only what the
compiled in version is.

-- Nathan
-----Original Message-----
Sent: Monday, November 06, 2000 10:23 AM
To: Nathan Neulinger
s390_linux22)
Now, a 'fs sysname -short' would be nice.
You mean, like 'sys'?
Default
2000-11-07 12:14:00 UTC
Permalink
Because the directory lookup overhead on most UNIX filesystems is quite
high. The result is that a server that accesses its data through links in
the filesystem is considerably slower than one that accesses them by inode
number. IIRC, ext2 is better about this than most systems, but it's still
not as good as being able to do lookups by number.
Maintaing references to viceinodes from native fs directories does not require
that the fileserver perform open-by-pathname, and I don't believe that the
linux server does so.
Also, AFS keeps a small amount of metadata with each inode, namely the
parent volume, vnode, uniqifier, and data version of the vnode with which
that inode is associated. This information can be of critical importance
when reconstructing a volume whose vnode indices were destroyed. When the
through-the-filesystem approach is used, this metadata must be stored in
an index file somewhere else in the filesystem (possibly not even on the
same disk). Storing it separately increases the chances that it will be
lost, or that the wrong data will be used.
This is tricky, but it's not insurmountable. No harder than rewriting
fsck from scratch for several proprietary OSes without filesystem
source code.
Neulinger, Nathan R.
2000-11-07 19:09:17 UTC
Permalink
I would suggest that the ideal approach would be - support a simple,
possibly slower, approach on ALL systems. Then, you can add the specialized
fsck/etc. as an option on any system that you have enough information to do
it.

I'd imagine that using the reiserfs specific features on linux would
probably result in an extremely fast implementation - particular for some of
the direct open stuff.

-- Nathan
-----Original Message-----
Sent: Tuesday, November 07, 2000 6:14 AM
Subject: Re: [OpenAFS-devel] RE: fsck
Because the directory lookup overhead on most UNIX
filesystems is quite
high. The result is that a server that accesses its data
through links in
the filesystem is considerably slower than one that
accesses them by inode
number. IIRC, ext2 is better about this than most systems,
but it's still
not as good as being able to do lookups by number.
Maintaing references to viceinodes from native fs directories
does not require
that the fileserver perform open-by-pathname, and I don't
believe that the
linux server does so.
Also, AFS keeps a small amount of metadata with each inode,
namely the
parent volume, vnode, uniqifier, and data version of the
vnode with which
that inode is associated. This information can be of
critical importance
when reconstructing a volume whose vnode indices were
destroyed. When the
through-the-filesystem approach is used, this metadata must
be stored in
an index file somewhere else in the filesystem (possibly
not even on the
same disk). Storing it separately increases the chances
that it will be
lost, or that the wrong data will be used.
This is tricky, but it's not insurmountable. No harder than rewriting
fsck from scratch for several proprietary OSes without filesystem
source code.
_______________________________________________
OpenAFS-devel mailing list
https://lists.openafs.org/mailman/listinfo.cgi/openafs-devel
Default
2000-11-08 22:54:04 UTC
Permalink
Too bad IBM didn't release the java client.

But the NT client is a user-space implementation...
Default
2000-11-10 00:50:25 UTC
Permalink
Oh, yeah. If rxkad v3 is going to encrypt the data with DES or 3DES then by
all means, get a new des. And since I'm not doing any of the work, it's not
really any of my business, but. I think it would make sense to use the new
AES instead.
Nathan Neulinger
2000-11-10 02:11:50 UTC
Permalink
Post by Default
Oh, yeah. If rxkad v3 is going to encrypt the data with DES or 3DES then by
all means, get a new des. And since I'm not doing any of the work, it's not
really any of my business, but. I think it would make sense to use the new
AES instead.
If I remember correctly, rxkad was supposed to be able to use a bunch of
different algorithms in the new design.

Anyone know if there is any plan to integrate Raindahl(sp?)/AES as one
of the available krb5 ciphers?

-- Nathan

------------------------------------------------------------
Nathan Neulinger EMail: ***@umr.edu
University of Missouri - Rolla Phone: (573) 341-4841
CIS - Systems Programming Fax: (573) 341-4216
Nathan Neulinger
2000-11-10 02:11:50 UTC
Permalink
Post by Default
Oh, yeah. If rxkad v3 is going to encrypt the data with DES or 3DES then by
all means, get a new des. And since I'm not doing any of the work, it's not
really any of my business, but. I think it would make sense to use the new
AES instead.
If I remember correctly, rxkad was supposed to be able to use a bunch of
different algorithms in the new design.

Anyone know if there is any plan to integrate Raindahl(sp?)/AES as one
of the available krb5 ciphers?

-- Nathan

------------------------------------------------------------
Nathan Neulinger EMail: ***@umr.edu
University of Missouri - Rolla Phone: (573) 341-4841
CIS - Systems Programming Fax: (573) 341-4216
Neulinger, Nathan R.
2000-11-02 14:40:02 UTC
Permalink
Are there any plans for an openafs.org afs cell and contrib area similar to
that on transarc?

-- Nathan

------------------------------------------------------------
Nathan Neulinger EMail: ***@umr.edu
University of Missouri - Rolla Phone: (573) 341-4841
Computing Services Fax: (573) 341-4216
Derek Atkins
2000-11-02 15:09:07 UTC
Permalink
I'm not sure why we really need a contrib area, as patches will
(hopefully) get applied to the OpenAFS CVS tree as they are submitted.

Also, I believe there are at least some plans to resurrect the
grand.central.org AFS Cell, though there are still some technical
issues in terms of distributing the cell.

-derek
Post by Neulinger, Nathan R.
Are there any plans for an openafs.org afs cell and contrib area similar to
that on transarc?
-- Nathan
------------------------------------------------------------
University of Missouri - Rolla Phone: (573) 341-4841
Computing Services Fax: (573) 341-4216
_______________________________________________
OpenAFS-devel mailing list
https://lists.openafs.org/mailman/listinfo.cgi/openafs-devel
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL N1NWH
***@MIT.EDU PGP key available
Neulinger, Nathan R.
2000-11-02 15:15:59 UTC
Permalink
Ah. Wasn't quite sure how open that process will be. Even still, I'd imagine
that there will still be preliminary patches, or patches not of interest to
everyone. For those, it would be nice to have a central area. (Hey, if
nothing else, it would probably be smart to have the source/copy of cvs in
afs for people to get at it that way.)

i.e. stuff like the people/ dir for the linux kernel.

-- Nathan
-----Original Message-----
Sent: Thursday, November 02, 2000 9:09 AM
To: Neulinger, Nathan R.
Subject: Re: [OpenAFS-devel] openafs cell and contrib area?
I'm not sure why we really need a contrib area, as patches will
(hopefully) get applied to the OpenAFS CVS tree as they are submitted.
Also, I believe there are at least some plans to resurrect the
grand.central.org AFS Cell, though there are still some technical
issues in terms of distributing the cell.
-derek
Post by Neulinger, Nathan R.
Are there any plans for an openafs.org afs cell and contrib
area similar to
Post by Neulinger, Nathan R.
that on transarc?
-- Nathan
------------------------------------------------------------
University of Missouri - Rolla Phone: (573) 341-4841
Computing Services Fax: (573) 341-4216
_______________________________________________
OpenAFS-devel mailing list
https://lists.openafs.org/mailman/listinfo.cgi/openafs-devel
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL N1NWH
Neulinger, Nathan R.
2000-11-02 15:46:37 UTC
Permalink
Because of a situation like ken's krb5 patch. Useful to plenty of people,
but the maintainers weren't interested in including more than a tiny
fraction of it, and because it wasn't available in a central location where
people could look for contributions/etc, there has been a LOT of duplication
of effort.

Granted, I'm being a bit pessimistic there, but I figure it's better to plan
ahead.

I'm also thinking things like MR-AFS, where it may not be suitable for
public consumption on the mainline, but could be very useful if you have the
infrastructure. Or for that matter "here's something I was playing with, it
doesn't work yet, but it could be useful if someone put a few hours of work
into getting it cleaned up"

If nothing else - set up a page where people can EASILY get links added to
point at contributed code/patches/etc. That way, there is one place to look
for stuff, even if it isn't added to the mainline code.

-- Nathan
-----Original Message-----
Sent: Thursday, November 02, 2000 9:35 AM
To: Neulinger, Nathan R.
Subject: Re: [OpenAFS-devel] openafs cell and contrib area?
It's still a bit unclear what the process will be, but it _IS_
supposed to be relatively open. Also, the CVS repository is
accessible via anoymous CVS and via cvsweb, so putting it into AFS
would be overkill, IMHO.
I have nothing against a central work-in-progress area, but if nobody
else is interested, why do you need to distribute it? And if other
people ARE interested, it should probably get patched into the
mainline (or at least a branch) in CVS.
Just my $.02 :)
-derek
Post by Neulinger, Nathan R.
Ah. Wasn't quite sure how open that process will be. Even
still, I'd imagine
Post by Neulinger, Nathan R.
that there will still be preliminary patches, or patches
not of interest to
Post by Neulinger, Nathan R.
everyone. For those, it would be nice to have a central
area. (Hey, if
Post by Neulinger, Nathan R.
nothing else, it would probably be smart to have the
source/copy of cvs in
Post by Neulinger, Nathan R.
afs for people to get at it that way.)
i.e. stuff like the people/ dir for the linux kernel.
-- Nathan
-----Original Message-----
Sent: Thursday, November 02, 2000 9:09 AM
To: Neulinger, Nathan R.
Subject: Re: [OpenAFS-devel] openafs cell and contrib area?
I'm not sure why we really need a contrib area, as patches will
(hopefully) get applied to the OpenAFS CVS tree as they
are submitted.
Post by Neulinger, Nathan R.
Also, I believe there are at least some plans to resurrect the
grand.central.org AFS Cell, though there are still some technical
issues in terms of distributing the cell.
-derek
Post by Neulinger, Nathan R.
Are there any plans for an openafs.org afs cell and contrib
area similar to
Post by Neulinger, Nathan R.
that on transarc?
-- Nathan
------------------------------------------------------------
University of Missouri - Rolla Phone: (573) 341-4841
Computing Services Fax: (573) 341-4216
_______________________________________________
OpenAFS-devel mailing list
https://lists.openafs.org/mailman/listinfo.cgi/openafs-devel
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL N1NWH
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL N1NWH
_______________________________________________
OpenAFS-devel mailing list
https://lists.openafs.org/mailman/listinfo.cgi/openafs-devel
Bill Sommerfeld
2000-11-02 16:10:28 UTC
Permalink
it would be extremely useful if there was some way for external
developers to create branches in the central.org OpenAFS repository..

- Bill
Jeffrey Hutzelman
2000-11-02 18:33:50 UTC
Permalink
Post by Derek Atkins
Also, I believe there are at least some plans to resurrect the
grand.central.org AFS Cell, though there are still some technical
issues in terms of distributing the cell.
All true. The first dbserver for the grand.central.org cell is sitting in
my machine room, waiting for me to add more memory to it and install a
fileserver. I have the memory (thanks, Derrick!), so there should be a
cell Real Soon Now(tm).

I expect the grand.central.org cell will contain copies of the releases of
major AFS implementations, documentation, and so on. It certainly seems
likely that there will be a contributed area of some sort. At the very
least, there is a need for someplace to collect contributed/third-party
tools and such.


ObOpenAFS: As Derek points out, there are some problems involved with
setting up a widely-distributed cell like grand.central.org or openafs.org
Mostly these are related to limitations in AFS's authentication model (all
servers share one key) and in the authorization model used by the
bosserver, volserver, and vlserver.

The model I envision is one where the Kerberos and pts databases are
maintained by a trusted set of individuals (presumably, members of the
system:administrators group), but fileservers can be run by anyone.
Clearly the database services need to run on machines that are trusted by
the cell's administrators. However, it is desirable that the operators of
database servers not be forced to trust _each other_.

This requires that each server machine have its own key, so that no server
operator knows the service key used by another server. This problem looks
hard, because all the clients "know" that every server uses the
***@cell.name key. However, I think that rxkad3 can enable that to change
in new clients, and a workaround for old clients, while ugly, would not be
impossible.

The authorization problem is considerably more interesting, I think. At
present, the bosserver, volserver, and vlserver each recognize a fixed set
of privileged users, identified by the contents of /usr/afs/etc/UserList.
In order to allow independent server operators to exist within one cell,
the volserver and vlserver must have more flexible authorization models.
As a first cut, I propose something like the following:


- Every server has a defined set of administrators. Presumably these
are represented by pts groups, with the vlserver storing the pts ID
of the administrator group for each server.

- Every volume has an administrator known to the vldb. This is different
from the concept of volume ownership -- volumes may be owned by users,
but a volume administrator is unlikely to be a user. This information
_may_ also have to be stored in the volume header, but I don't think so.

- The following operations are permitted to server/volume admins:

+ An admin may create a volume on any server he controls. Volume names
are presumably subject to restrictions defined by the cell admins.
A newly created volume has the same administrator as the server on
which it was created (_not_ the individual who created it)

+ An admin may move a volume he controls to a server he controls.
He need not be an administrator of the volume's old site.

+ An admin may remove any volume he controls, regardless of location.

+ An admin may rename any volume he controls, subject to the same
volume namespace restrictions as for creation.

+ An admin may add an RO site for a volume he controls to a server he
controls.

??? how to add RO sites when volume and server admin are not the same?

+ An admin may remove any RO site for a volume he controls.

+ An admin may remove any RO site on a server he controls.

+ An admin may perform a release of any volume he controls.

+ An admin may change the administrator of any volume or server he
controls.

??? Can server admins release volumes? When?


Cell admins can presumably do any of the usual operations, without
regard to who the volume and server administrators are. They also
have the ability to set volume namespace policy in some fashion.
Unfortunately, that is a complicated issue...

-- Jeffrey T. Hutzelman (N3NHS) <jhutz+@cmu.edu>
Sr. Research Systems Programmer
School of Computer Science - Research Computing Facility
Carnegie Mellon University - Pittsburgh, PA
Bill Sommerfeld
2000-11-02 15:50:00 UTC
Permalink
it would be extremely useful if there was some way for external
developers to create branches in the central.org OpenAFS repository..

- Bill
a***@speakeasy.org
2000-11-03 03:35:25 UTC
Permalink
hutz,
I like your ideas about the trust model in general, but I also had the
following simultaneous thoughts -- not all entirely compatible with each other
-- but they're the first things that come to mind:

- I think you're biting off too big a chunk for the first pass at something
like this. Start with splitting security:administrators off from
system:administrators, which is easy, and maybe add a couple of more flexible
options for volume ownership. The other bits of "user A can create volumes on
server S but not server P" can be handled simply as a matter of policy, in
most cases.

and.

- what does it mean to say "database server operators are not forced to trust
each other", when the fact is, there's no point in cooperatively sharing a
database with someone who you don't trust completely. Really, trust means
simply "trust to update the {volume,backup,xxx} database", right?

and.

- the problem of cooperating with regions under separate administration was
why cells were invented. (that, and the fact that inventing cells was Quick
And Dirty). Aesthetically, I'd like to see a new model hew as closely to the
old one as possible. Simplicity *is* a virtue.

and

- anyone who has admin permissions on the V.1.1 fid in a volume should be able
to release it. To anywhere. This is as good a definition of "volume admin" as
we need. It does mean that the volserver would have to be able to interpret
ACLs, which is new, but the code is very modular...

and

- the flexibility is useful, even if you can't get perfect subdivision of
authority. I'm willing to accept that Joe can frig with Bob's server
somewhat, for instance, by releasing volumes which are replicated in both
places. That's awfully minor, and if Bob doesn't like it, then he can put his
own resources in his own cell, or remove the local replica on his server, or
write a script to remove it every 5 minutes.

Ok, random ramblings, granted, but let's see who hates 'em.
Neulinger, Nathan R.
2000-11-03 14:29:36 UTC
Permalink
Wouldn't it be easier to get the pseudo-root.afs volume support implemented?

-- Nathan
-----Original Message-----
Sent: Friday, November 03, 2000 8:22 AM
To: Nathan Neulinger
Subject: Re: [OpenAFS-devel] openafs cell and contrib area?
Post by Nathan Neulinger
Post by a***@speakeasy.org
- the problem of cooperating with regions under separate
administration was why cells were invented. (that, and the fact
that inventing cells was Quick And Dirty).
Aesthetically, I'd like
Post by Nathan Neulinger
Post by a***@speakeasy.org
to see a new model hew as closely to the old one as possible.
Simplicity *is* a virtue.
Right - why do we need to have a big distributed openafs.org cell?
(I mean, it would be nice, but is it critical?)
Actually, yes. AFS clients are useless without pointing them at an
AFS Cell. I believe that to be truly successful, we need to have a
'default' AFS Cell that can be the 'default' ThisCell in OpenAFS
distributions. Obviously, people at large sites that are currently
using AFS would want to point their clients at their own cell.
However, it would be nice if OpenAFS were _useful_ out-of-the-box
without human intervention, in ALL cases.
If we travel down this road, we would need a distributed primary cell
such that someone in Somalia wouldn't have to have packets travel all
the way to Pittsburgh just to start AFS ;)
-derek
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL N1NWH
_______________________________________________
OpenAFS-devel mailing list
https://lists.openafs.org/mailman/listinfo.cgi/openafs-devel
Jeffrey Hutzelman
2000-11-03 16:30:30 UTC
Permalink
Post by a***@speakeasy.org
- I think you're biting off too big a chunk for the first pass at something
like this. Start with splitting security:administrators off from
system:administrators, which is easy, and maybe add a couple of more flexible
options for volume ownership. The other bits of "user A can create volumes on
server S but not server P" can be handled simply as a matter of policy, in
most cases.
I don't understand what your 'security:administrators' group is supposed
to be for. All of the major Kerberos implementations, including the
kaserver, have their own ideas about who is an admin. And the volserver
and vlserver have never used system:administrators -- they use the
superuser list, which is the inflexible bit we're trying to change.
Post by a***@speakeasy.org
- what does it mean to say "database server operators are not forced to trust
each other", when the fact is, there's no point in cooperatively sharing a
database with someone who you don't trust completely. Really, trust means
simply "trust to update the {volume,backup,xxx} database", right?
No. Under the current model, trust means "trust to be allowed to do
absolutely anything on the server machine as root". If I have privileged
access to a fileserver machine, I can use the AFS key file to forge
tickets that allow me to access UserList-using services as if I were on
that list. That's what the -localauth switch does. Combined with the
'exec', 'getfile', and 'install' commands in bos, I can run any program as
root, and read or write any file.


I'm envisioning a cell where the various machines on which the fileservers
and database servers run are operated by different people, who should not
be forced to allow each other privileged access to their machines. This
is useful for the kind of cell we're talking about, where fileservers
essentially serve as "mirrors" of each other. It's also useful for a cell
whose fileservers are individual user's machines in dorm rooms at a
university.
Post by a***@speakeasy.org
- anyone who has admin permissions on the V.1.1 fid in a volume should
be able to release it. To anywhere. This is as good a definition of
"volume admin" as we need. It does mean that the volserver would have
to be able to interpret ACLs, which is new, but the code is very
modular...
Unfortunately, it also has the problem that the _vlserver_ must be able to
interpret ACL's, and so must the volservers which don't yet have a copy of
the volume. That could get messy... Certainly, the right to perform a
release should depend only on the volume permissions, and not on what
fileservers the RW and RO sites happen to live on.
Post by a***@speakeasy.org
- the flexibility is useful, even if you can't get perfect subdivision
of authority. I'm willing to accept that Joe can frig with Bob's server
somewhat, for instance, by releasing volumes which are replicated in
both places. That's awfully minor, and if Bob doesn't like it, then he
can put his own resources in his own cell, or remove the local replica
on his server, or write a script to remove it every 5 minutes.
Absolutely. I thought my model addressed that - the only real question is
whether a particular server admin can force a release of volumes with RO
sites on his server, even though he does not have any special rights on
the volume involved.

-- Jeff
Ted McCabe
2000-11-03 17:58:56 UTC
Permalink
I concur with ***@speakeasy.org that the trust needed in the
maintainers of the db servers must be total. I also point out that
while the fileservers need to trust the db servers, the db servers
need not trust the fileservers (currently of course, they do).

Is it enough to change AFS so that the db servers don't need to trust
the fileservers?
No.

For a distributed cell to have integrity of data, the people with
physical access to the fileservers need to be trusted to maintain that
integrity. There is no way to ensure that (extreme case, picture a
fileserver hacked to provide bogus volume data, to only some selected
machines). Unfortunately, the integrity of the data is the primary
purpose of the envisioned distributed openafs/default cell.

So given that you can never know for sure when the trust in a
distributed fileserver is violated, i.e. some trust *has* to be
assumed, two questions come to mind.
How much trust should be assumed?
Can the security model of AFS be modified to accomodate the desired
level of assumed trust *without* breaking the more conventional model
for setting up a cell?

Once there is some concensus about the trust levels assumed, then a
discussion about how to redisign the AFS security model can continue.

--Ted
Ted McCabe
2000-11-03 18:02:09 UTC
Permalink
Jeff wrote:
Certainly, the right to perform a
release should depend only on the volume permissions, and not on what
fileservers the RW and RO sites happen to live on.

Incorrect. For example, the maintainer of the server with an RO site
may have constraints regarding the free space available which he could
not control if a volume admin could freely re-release any volume with
an RO already on that site.

--Ted
Default
2000-11-04 02:29:52 UTC
Permalink
Post by Jeffrey Hutzelman
Certainly, the right to perform a
release should depend only on the volume permissions, and not on what
fileservers the RW and RO sites happen to live on.
Incorrect. For example, the maintainer of the server with an RO site
may have constraints regarding the free space available which he could
not control if a volume admin could freely re-release any volume with
an RO already on that site.
Mm. Interesting point. Can a server admin adjust the quotas of the volumes
that have replicas on his server? If not, he could be in some trouble.

Any thoughts about completing the "minquota" work? In other words, a
guaranteed reserved disk usage for a particular volume?
Default
2000-11-04 02:08:00 UTC
Permalink
Post by Nathan Neulinger
Well, one thing that might be nice to do here would be the idea of a
'pull replicate' instead of a push replicate. Somehow allow anyone with
the appropriate permissions on a volume to PULL the volume from a remote
server. The remote server needn't even be aware that the replicate
exists, other than the initial validation of permissions.
For the sake of the failover code, it helps that there are only ever two
versions of a volume in existence at any one point in time, and that state
really shouldn't exist for very long. Redundancy suffers quite a bit when
there are two versions extant, as failover must only be permitted going
forward in time, never backward.

Push ensures that the oldest version goes away ASAP.
Post by Nathan Neulinger
Actually, something I've wished afs had for a long time is the concept
of a server side cache. For example - I've got a bunch of local afs
servers with big disks on them that aren't used. It would be nice if the
afs clients could somehow ask the LOCAL file servers to get a callback
to a particular file on their behalf, and then that client could then
retrieve it from the cache on the server instead. i.e. allow AFS servers
to proxy AFS servers.
Sounds like IFS. Or XFS. Dig around and see if you can find the papers.
Post by Nathan Neulinger
The benefit would be that if you have 10 machines in the cell accessing
transarc, you don't have to sit and wait for transarc's network/server
on all 10 of them, just the first one to access a particular file.
Default
2000-11-04 01:43:50 UTC
Permalink
into what the old apollo workstations had - dynamic symlinks. Why not
This has been suggested before. I don't recall ever hearing any arguments
against, and it's pretty easy to do in afs_lookup() if you require that they
all start with '@'.


I concur with Russ that *what* the @sys values are is not all that important.
Also, remember not to confuse 'sys' and @sys. They are completely independent
of each other.
Default
2000-11-04 01:43:50 UTC
Permalink
into what the old apollo workstations had - dynamic symlinks. Why not
This has been suggested before. I don't recall ever hearing any arguments
against, and it's pretty easy to do in afs_lookup() if you require that they
all start with '@'.


I concur with Russ that *what* the @sys values are is not all that important.
Also, remember not to confuse 'sys' and @sys. They are completely independent
of each other.
Default
2000-11-04 02:00:24 UTC
Permalink
Post by Derek Atkins
Actually, yes. AFS clients are useless without pointing them at an
AFS Cell. I believe that to be truly successful, we need to have a
'default' AFS Cell that can be the 'default' ThisCell in OpenAFS
distributions. Obviously, people at large sites that are currently
using AFS would want to point their clients at their own cell.
However, it would be nice if OpenAFS were _useful_ out-of-the-box
without human intervention, in ALL cases.
If we travel down this road, we would need a distributed primary cell
such that someone in Somalia wouldn't have to have packets travel all
the way to Pittsburgh just to start AFS ;)
The default cell is root.afs, and a time source. AFSDB support or other dynamic configuration would obviate the need.

Even so, a distributed default cell needn't have distributed
administration.

And even then, the CM presently doesn't know how to choose a "best" VL server or root.afs server without trying them first -- the subnet mask proximity guesses just aren't going to help your Somali friend. So a few packets are likely to travel to Pittsburgh -- splitting up the administration isn't going to help with this problem.

Even so, it's hardly the end of the world to make a half-dozen RX RPCs from Somalia to Pittsburgh every time you boot a client-only instance of OpenAFS. Would it? It doesn't take much hardware to handle 200-300 calls/sec.

Booting a CM involves (IIRC) 2 VLDB RPCs (getvolumebyname(root.afs) and getvolumebyid(nnn), though the latter is redundant, it's just an implementation artifact) plus 2 FS RPCs (getattr and readdir). So one dinky beatup old server could handle 50 clients rebooting every second. Given average uptimes around, say, a week, that's 86400*7*50 client-only instances of OpenAFS. We should be so lucky. (yeah, there's time, and there's another stat and readlink needed to traverse each AFS cell mountpoint, but OTOH, 200 calls per second is a pretty slow server).
a***@speakeasy.org
2000-11-04 02:24:52 UTC
Permalink
Post by Jeffrey Hutzelman
I don't understand what your 'security:administrators' group is supposed
to be for. All of the major Kerberos implementations, including the
kaserver, have their own ideas about who is an admin. And the volserver
and vlserver have never used system:administrators -- they use the
superuser list, which is the inflexible bit we're trying to change.
Sorry, I was being vague. Operationally, having administrative rights to any
of the servers has been sufficient to get administrative rights to any of the
others, including security, as you point out.

I'm just saying that the first thing to do is make sure that possession of the
vldb service key does not permit administrative access to the kadb.
Post by Jeffrey Hutzelman
No. Under the current model, trust means "trust to be allowed to do
absolutely anything on the server machine as root". If I have privileged
access to a fileserver machine, I can use the AFS key file to forge
tickets that allow me to access UserList-using services as if I were on
that list. That's what the -localauth switch does. Combined with the
'exec', 'getfile', and 'install' commands in bos, I can run any program as
root, and read or write any file.
right. We're agreeing here.
Post by Jeffrey Hutzelman
I'm envisioning a cell where the various machines on which the fileservers
and database servers run are operated by different people, who should not
be forced to allow each other privileged access to their machines. This
is useful for the kind of cell we're talking about, where fileservers
essentially serve as "mirrors" of each other. It's also useful for a cell
whose fileservers are individual user's machines in dorm rooms at a
university.
We may even be able to agree here. I thought you were saying that vldb server
1 and vldb server 2 might be operated by different people who don't trust each
other. I think that's silly.

Can we agree (in deference to a decade of misguided common practice, sigh) use
"server" to mean a piece of iron and "service" to mean a possibly-replicated
process with a single key?
Post by Jeffrey Hutzelman
Post by a***@speakeasy.org
- anyone who has admin permissions on the V.1.1 fid in a volume should
be able to release it. To anywhere. This is as good a definition of
"volume admin" as we need. It does mean that the volserver would have
to be able to interpret ACLs, which is new, but the code is very
modular...
Unfortunately, it also has the problem that the _vlserver_ must be able to
interpret ACL's, and so must the volservers which don't yet have a copy of
the volume. That could get messy... Certainly, the right to perform a
release should depend only on the volume permissions, and not on what
fileservers the RW and RO sites happen to live on.
VLservers can't interpret the ACLs, they don't have 'em, and they're not on
the same hardware. The source volserver would have to make the vldb update
calls.
It would also have to make the vol rpcs to the target sites. Vos is a nasty
tangle, with lots of annoying failure modes that are a veritable PITA to
recover from when it is interrupted. Trapping CTRL-C helps, but really,
*services* are long-running things, client utilities are not. This approach
doesn't get messy, it gets clean...
Post by Jeffrey Hutzelman
Absolutely. I thought my model addressed that - the only real question is
whether a particular server admin can force a release of volumes with RO
sites on his server, even though he does not have any special rights on
the volume involved.
I don't think that's necessarily unreasonable, as long as there's some way to
prevent Bob from having a replica on his server if he starts being a pest
about forcing releases every five minutes.
Jeffrey Hutzelman
2000-11-04 22:17:19 UTC
Permalink
Post by a***@speakeasy.org
I'm just saying that the first thing to do is make sure that possession of the
vldb service key does not permit administrative access to the kadb.
OK; that seems reasonable.
Post by a***@speakeasy.org
We may even be able to agree here. I thought you were saying that vldb server
1 and vldb server 2 might be operated by different people who don't trust each
other. I think that's silly.
Can we agree (in deference to a decade of misguided common practice, sigh) use
"server" to mean a piece of iron and "service" to mean a possibly-replicated
process with a single key?
That works for me.
Post by a***@speakeasy.org
VLservers can't interpret the ACLs, they don't have 'em, and they're not on
the same hardware. The source volserver would have to make the vldb update
calls.
It would also have to make the vol rpcs to the target sites. Vos is a nasty
tangle, with lots of annoying failure modes that are a veritable PITA to
recover from when it is interrupted. Trapping CTRL-C helps, but really,
*services* are long-running things, client utilities are not. This approach
doesn't get messy, it gets clean...
Hm. That's an interesting approach, and possibly a good change for most
cases. But I don't think it addresses the issue of separating fileserver
admins.


Let me try to present the problem in a different way. Carrying over the
terminology we agreed on above...

(1) Each cell has a number of database services - authentication
(kaserver), authorization (ptserver), and volume location. These
services may be run by the same or separate groups, but they
presently share the same service key, and thus anyone which access
to that key has privileged access to all three services. As you
mention above, these services should use separate keys, to make them
separable. While this is a desirable feature, I don't think it is
required by the openafs cell.

(2) The database services must run on multiple machins, for redundancy.
In a cell like openafs.org, it is desirable that these machines be
widely geographically distributed. It is also desirable that they
be able to be operated by administrators at the sites at which they
are located. Thus, it is desirable (and, IMHO, required for the
openafs.org cell) that the operators of one dbserver machine need
not trust the operators of another. It is also desirable that the
operators of such machines need not trust the operators of the
services that run on them.

(3) It is desirable, but not required for openafs.org, that those who
have privileged access to the filesystem contents not automatically
get access to the authorization service. Presently, these two are
both tied to membership in the system:administrators group. Note
that it is practically impossible to prevent prdb admins from getting
access to any filesystem object they want, but it may be worthwhile
to make that not automatic.

(4) Each cell has a number of fileservers, which consist of a machine
running the viced and volume services. It is desirable that the
operators of these machines and services need not be trusted by
the cell admins, except with the content of volumes stored on them.
I see this property as being critical to a cell like openafs.org.

(5) It is desirable that the cell admins need not be trusted by the
operators of fileserver machines, though they must be trusted by
the operators of the services on those machines. Again, I think
this is important for openafs.org.


(1) can be accomplished by creating separate service principals for the
authorization and volume location services (something like afs-***@cell
and afs-***@cell). Clients which support this feature should try the
new keys first, and then the old ***@cell key. Supporting old clients
is a bit trickier. It is probably OK for the vldb service to require
new clients, since only admins need authenticated access. The prdb
service presumably must accept connections authenticated using the
old ***@cell principal.

The authentication service already uses separate service keys, so there
is no problem to be solved there.

(2) and (5) boil down to allowing only server administrators to have
privileged access to a machine. This can be solved by taking several
steps...
- Don't run database services as root
- Make the bosserver use a separate, per-machine key
- Allow the bos exec, install, and getfile commands, and all
forms of remote configuration, to be disabled at compile time
or by a command-line switch.

(3) is accomplished by splitting system:administrators into two groups.
Unfortunately, it is hard to allocate a new distinguished group ID, so
the system:ptadmins group should be looked up by name when the ptserver
starts. Similarly, it may be desirable for the set of vldb admins to
be represented by a pts group, which would also be looked up by name.
I see no reason why the volserver and vlserver can't use GetCPS.

(4) basically requires that each fileserver use a separate service
principal, instead of a common one. I would suggest that such principals
be named afs-fileserver.<fqdn>@cell, but it has been suggested to me
that this would require the cache manager to do DNS lookups, which is
not desirable. I remain open to other ideas.

Backwards compatibility for fileserver clients using the ***@cell
principal is a pain. The hackish approach I see is running a service
on the database server machines that will reveal the session key for
a particular ***@cell connection to authorized fileservers. Obviously,
clients who use the old principal will be subject to snooping by
operators of fileserver services, but there's little that can be done
about that.


It has been pointed out to me out-of-band that all of the complicated
volume-level permissions that we discussed can and should be handled
by a privilege-delegation service, instead of being wired into AFS
itself.

-- Jeffrey T. Hutzelman (N3NHS) <jhutz+@cmu.edu>
Sr. Research Systems Programmer
School of Computer Science - Research Computing Facility
Carnegie Mellon University - Pittsburgh, PA
Chas Williams
2000-11-04 18:41:31 UTC
Permalink
see ftp://ftp.cmf.nrl.navy.mil/pub/chas/openafs/solaris8.diffs
for a set of patches that will allow openafs to compile and run on a
solaris 8 system.

i havent extensively tested these patches but since the changes were
pretty minimal so i am hoping it will be fairly stable. its been
running about a week w/o any trouble on a desktop machine.

some notes:

ntp isnt built (solaris8 comes w/ this as part of the o/s?)
syscall number is 101 (might need to change to agree with transarc afs)
no testing of afs server functionality
there are a couple warnings during compile that should be 'fixed' (mostly
related to struct timeval)
Default
2000-11-05 01:40:01 UTC
Permalink
I don't think that could be made to work reasonably, because the current
@sys stuff I imagine is just done through special handling of the
'readlink' system call in AFS space.
It doesn't seem like too much trouble.
@sys is presently handled in afs_lookup. I don't think there's anything
interesting done in readlink.

The tricky part is deciding when to treat @sys as symbolic and when
to treat it as literal...
Jeffrey Hutzelman
2000-11-06 00:58:52 UTC
Permalink
Post by Love
[Catching up now when I finaly understod that I never got subscribed to the
mailinglist, can the mailinglist maintainer make the reply adress to the
mailinglist mangler a valid one, please ? ]
Unfortunately, the openafs.org domain is not set up yet, and changing all
the places where that appears in the list configuration would be a pain.
So instead, I opted to add a paragraph to the bottom of the messages it
sends out, which tells you to replace "lists.openafs.org" with
"lists-openafs.central.org" until the openafs.org nameservers are set up.
Default
2000-11-06 01:52:03 UTC
Permalink
I'm afraid I must disagree with those who disagree. NTP is not part of
AFS; an NTP implementation has no place in the OpenAFS distribution.
Especially when what we're talking about is an ancient, decrepit NTPv2
implementation. To release such a thing and (implicitly) encoourage its
use would be a great disservice to the Internet community at large, not to
mention users of OpenAFS -- many NTP servers no longer even speak the v2
protocol.
I also must insist that if the OpenAFS distribution continues to contain
an NTP implementation, that it at least not contain configuration files
which mention my timeservers....
Ditto. In the beginning, AFS *had* to ship an ntp, because it wasn't quite
ubiquitous. Not so any longer.
Bill Sommerfeld
2000-11-07 16:09:08 UTC
Permalink
I'm currently working on porting openafs to NetBSD. [I'm most of the
way through getting the userland code to build at the moment..]

Have the gatekeepers come up with any coding conventions, standards,
baseline assumptions, etc?

It appears that a bunch of the accreted layers of ifdefs would be
significantly cleaned up if we could just assume a baseline of ANSI C
and POSIX.1 .. i.e., use <termios.h> for terminal manipuation,
strerror() instead of sys_errlist[], assume vfprintf exists rather
than defining it in terms of _doprnt(), etc., etc., etc.

Are the gatekeepers likely to accept changes which assume an ANSI
compiler and a POSIX.1 environment in userland?

Is anyone interested in testing some of these changes on other
platforms prior to submission to the gatekeepers?

Oh, and is anyone working on replacing the archaic Steve Miller DES
implementation with something better/faster/smaller/easier to build?

- Bill
Default
2000-11-07 12:14:00 UTC
Permalink
Because the directory lookup overhead on most UNIX filesystems is quite
high. The result is that a server that accesses its data through links in
the filesystem is considerably slower than one that accesses them by inode
number. IIRC, ext2 is better about this than most systems, but it's still
not as good as being able to do lookups by number.
Maintaing references to viceinodes from native fs directories does not require
that the fileserver perform open-by-pathname, and I don't believe that the
linux server does so.
Also, AFS keeps a small amount of metadata with each inode, namely the
parent volume, vnode, uniqifier, and data version of the vnode with which
that inode is associated. This information can be of critical importance
when reconstructing a volume whose vnode indices were destroyed. When the
through-the-filesystem approach is used, this metadata must be stored in
an index file somewhere else in the filesystem (possibly not even on the
same disk). Storing it separately increases the chances that it will be
lost, or that the wrong data will be used.
This is tricky, but it's not insurmountable. No harder than rewriting
fsck from scratch for several proprietary OSes without filesystem
source code.
Default
2000-11-08 22:54:04 UTC
Permalink
Too bad IBM didn't release the java client.

But the NT client is a user-space implementation...
Default
2000-11-10 00:50:25 UTC
Permalink
Oh, yeah. If rxkad v3 is going to encrypt the data with DES or 3DES then by
all means, get a new des. And since I'm not doing any of the work, it's not
really any of my business, but. I think it would make sense to use the new
AES instead.
s***@orchard.arlington.ma.us
2000-12-04 23:16:28 UTC
Permalink
I'd support an alternate interface between afsd and the cache manager
which used NFS-style file handles rather than inode numbers to
identify cache files. This would also allow a cache to be split
across multiple partitions.

(NetBSD 1.5 supports fhopen(), fhstat() and fhstatfs() system calls to
allow use of file handles by applications other than NFS)

- Bill
a***@speakeasy.org
2000-12-06 13:28:07 UTC
Permalink
Yes and no. In normal operation, the cache manager has no need for
filenames - it just wants a bunch of files that it can open at will,
without lots of overhead. However, it turns out to be useful for
debugging to have physical files on disk with names that allow them to be
accessed using normal tools.
And it's persistent. Is the squid cache persistent across reboots?
Jim Rees
2000-12-14 02:24:06 UTC
Permalink
This doesn't let you easily create shortcuts.. For example, I like
being able to access /afs/athena, /afs/sipb, /afs/dev, and other MIT
shorthands.

I don't like these shortcuts. They defeat the universal namespace, which is
one of the best things about afs.
Derek Atkins
2000-12-14 03:50:52 UTC
Permalink
The point of shortcuts is only for local (user) convenience, and you
don't lose the global namespace. For example, you could have
/afs/athena -> athena.mit.edu, /afs/sipb -> sipb.mit.edu, /afs/andrew
-> andrew.cmu.edu, etc. The canonical namespace is still the same,
but local users can still have the convenience of short names.
Obviously, "pwd" would give the long name.

If you don't like shortcuts, you don't have to use them. :)

-derek

PS: Jim, how's disconnected ops coming along? ;)
Post by Derek Atkins
This doesn't let you easily create shortcuts.. For example, I like
being able to access /afs/athena, /afs/sipb, /afs/dev, and other MIT
shorthands.
I don't like these shortcuts. They defeat the universal namespace, which is
one of the best things about afs.
_______________________________________________
OpenAFS-devel mailing list
https://lists.openafs.org/mailman/listinfo.cgi/openafs-devel
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
***@MIT.EDU PGP key available
Derek Atkins
2000-12-14 04:23:52 UTC
Permalink
Symlinks shouldn't use the shortcut. Shortcuts are for typing,
not for symlinking. Anyone using shortcuts in symlinks should
be shot.

-derek
Post by Derek Atkins
The point of shortcuts is only for local (user) convenience, and you
don't lose the global namespace. For example, you could have
/afs/athena -> athena.mit.edu, /afs/sipb -> sipb.mit.edu, /afs/andrew
-> andrew.cmu.edu, etc. The canonical namespace is still the same,
but local users can still have the convenience of short names.
Obviously, "pwd" would give the long name.
Even built in pwd in the shells ?
Post by Derek Atkins
If you don't like shortcuts, you don't have to use them. :)
Of course I have to use them, as soon as I hit a symlink that uses the
shortcut.
Love
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
***@MIT.EDU PGP key available
Love
2000-12-14 04:15:13 UTC
Permalink
Post by Derek Atkins
The point of shortcuts is only for local (user) convenience, and you
don't lose the global namespace. For example, you could have
/afs/athena -> athena.mit.edu, /afs/sipb -> sipb.mit.edu, /afs/andrew
-> andrew.cmu.edu, etc. The canonical namespace is still the same,
but local users can still have the convenience of short names.
Obviously, "pwd" would give the long name.
Even built in pwd in the shells ?
Post by Derek Atkins
If you don't like shortcuts, you don't have to use them. :)
Of course I have to use them, as soon as I hit a symlink that uses the
shortcut.

Love
Derek Atkins
2000-12-14 04:23:52 UTC
Permalink
Symlinks shouldn't use the shortcut. Shortcuts are for typing,
not for symlinking. Anyone using shortcuts in symlinks should
be shot.

-derek
Post by Derek Atkins
The point of shortcuts is only for local (user) convenience, and you
don't lose the global namespace. For example, you could have
/afs/athena -> athena.mit.edu, /afs/sipb -> sipb.mit.edu, /afs/andrew
-> andrew.cmu.edu, etc. The canonical namespace is still the same,
but local users can still have the convenience of short names.
Obviously, "pwd" would give the long name.
Even built in pwd in the shells ?
Post by Derek Atkins
If you don't like shortcuts, you don't have to use them. :)
Of course I have to use them, as soon as I hit a symlink that uses the
shortcut.
Love
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
***@MIT.EDU PGP key available
Russ Allbery
2000-12-14 04:19:47 UTC
Permalink
Post by Jim Rees
I don't like these shortcuts. They defeat the universal namespace,
which is one of the best things about afs.
How do you reach your read/write volume tree?
--
Russ Allbery (***@stanford.edu) <http://www.eyrie.org/~eagle/>
Derek Atkins
2000-12-14 04:38:16 UTC
Permalink
Post by Russ Allbery
How do you reach your read/write volume tree?
Personally, I would mount RO on /afs/<cell> and RW on /afs/.<cell>
If you request a shortcut, then I'd symlink /afs/<cell-shortcut>-><cell>
and /afs/.<cell-shortcut>->.<cell>

E.g., /afs/.athena.mit.edu is the RW volume, and /afs/.athena ->
.athena.mit.edu for a shortcut.

-derek
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
***@MIT.EDU PGP key available
Russ Allbery
2000-12-14 05:33:05 UTC
Permalink
Personally, I would mount RO on /afs/<cell> and RW on /afs/.<cell> If
you request a shortcut, then I'd symlink /afs/<cell-shortcut>-><cell>
and /afs/.<cell-shortcut>->.<cell>
Right, that's what I want too.

I wonder if we could just standardize on .<cell> being the read/write for
<cell> in /afs; that combined with DNS searching so that you could use
just the first part of the cell name would give me all the functionality
I'd need for root.afs to not be a regular volume.
--
Russ Allbery (***@stanford.edu) <http://www.eyrie.org/~eagle/>
Derek Atkins
2000-12-14 05:52:24 UTC
Permalink
Post by Russ Allbery
Personally, I would mount RO on /afs/<cell> and RW on /afs/.<cell> If
you request a shortcut, then I'd symlink /afs/<cell-shortcut>-><cell>
and /afs/.<cell-shortcut>->.<cell>
Right, that's what I want too.
I wonder if we could just standardize on .<cell> being the read/write for
<cell> in /afs; that combined with DNS searching so that you could use
just the first part of the cell name would give me all the functionality
I'd need for root.afs to not be a regular volume.
That would certainly be how _I_ would implement it :)

E.g.

ls -l /afs
lrwxrwxrwx 1 root root 16 .andrew -> .andrew.cmu.edu
drwxrwxrwx 1 root root 4096 .andrew.cmu.edu (RO)
lrwxrwxrwx 1 root root 16 .athena -> .athena.mit.edu
drwxrwxrwx 1 root root 4096 .athena.mit.edu (RW)
lrwxrwxrwx 1 root root 15 andrew -> andrew.cmu.edu
drwxrwxrwx 1 root root 4096 andrew.cmu.edu (RO)
lrwxrwxrwx 1 root root 15 athena -> athena.mit.edu
drwxrwxrwx 1 root root 4096 athena.mit.edu (RO)

-derek
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
***@MIT.EDU PGP key available
lha+ (Love)
2000-12-18 17:17:34 UTC
Permalink
Post by Russ Allbery
Personally, I would mount RO on /afs/<cell> and RW on /afs/.<cell> If
you request a shortcut, then I'd symlink /afs/<cell-shortcut>-><cell>
and /afs/.<cell-shortcut>->.<cell>
Right, that's what I want too.
I wonder if we could just standardize on .<cell> being the read/write for
<cell> in /afs; that combined with DNS searching so that you could use
just the first part of the cell name would give me all the functionality
I'd need for root.afs to not be a regular volume.
``.cell'' ends before ``cell' in graphical clients that doesn't hide
. files (read Windows NT (This should be solved with toggling the hidden
bit (if this is possible over SMB/CIFS))).

The problem is the users use dot-ed version of the cell.

Love
Derek Atkins
2000-12-18 18:34:37 UTC
Permalink
This would be an AFS-client operation anyways. I have no problem
with different clients (Unix v. NT) doing things differently.

-derek
Post by lha+ (Love)
``.cell'' ends before ``cell' in graphical clients that doesn't hide
. files (read Windows NT (This should be solved with toggling the hidden
bit (if this is possible over SMB/CIFS))).
The problem is the users use dot-ed version of the cell.
Love
_______________________________________________
OpenAFS-devel mailing list
https://lists.openafs.org/mailman/listinfo.cgi/openafs-devel
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
***@MIT.EDU PGP key available
Russ Allbery
2000-12-14 05:33:05 UTC
Permalink
Personally, I would mount RO on /afs/<cell> and RW on /afs/.<cell> If
you request a shortcut, then I'd symlink /afs/<cell-shortcut>-><cell>
and /afs/.<cell-shortcut>->.<cell>
Right, that's what I want too.

I wonder if we could just standardize on .<cell> being the read/write for
<cell> in /afs; that combined with DNS searching so that you could use
just the first part of the cell name would give me all the functionality
I'd need for root.afs to not be a regular volume.
--
Russ Allbery (***@stanford.edu) <http://www.eyrie.org/~eagle/>
Derek Atkins
2000-12-14 04:38:16 UTC
Permalink
Post by Russ Allbery
How do you reach your read/write volume tree?
Personally, I would mount RO on /afs/<cell> and RW on /afs/.<cell>
If you request a shortcut, then I'd symlink /afs/<cell-shortcut>-><cell>
and /afs/.<cell-shortcut>->.<cell>

E.g., /afs/.athena.mit.edu is the RW volume, and /afs/.athena ->
.athena.mit.edu for a shortcut.

-derek
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
***@MIT.EDU PGP key available
Derek Atkins
2000-12-14 03:50:52 UTC
Permalink
The point of shortcuts is only for local (user) convenience, and you
don't lose the global namespace. For example, you could have
/afs/athena -> athena.mit.edu, /afs/sipb -> sipb.mit.edu, /afs/andrew
-> andrew.cmu.edu, etc. The canonical namespace is still the same,
but local users can still have the convenience of short names.
Obviously, "pwd" would give the long name.

If you don't like shortcuts, you don't have to use them. :)

-derek

PS: Jim, how's disconnected ops coming along? ;)
Post by Derek Atkins
This doesn't let you easily create shortcuts.. For example, I like
being able to access /afs/athena, /afs/sipb, /afs/dev, and other MIT
shorthands.
I don't like these shortcuts. They defeat the universal namespace, which is
one of the best things about afs.
_______________________________________________
OpenAFS-devel mailing list
https://lists.openafs.org/mailman/listinfo.cgi/openafs-devel
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
***@MIT.EDU PGP key available
Russ Allbery
2000-12-14 04:19:47 UTC
Permalink
Post by Jim Rees
I don't like these shortcuts. They defeat the universal namespace,
which is one of the best things about afs.
How do you reach your read/write volume tree?
--
Russ Allbery (***@stanford.edu) <http://www.eyrie.org/~eagle/>
Jeffrey Hutzelman
2000-12-14 04:34:43 UTC
Permalink
Post by Russ Allbery
Post by Jim Rees
I don't like these shortcuts. They defeat the universal namespace,
which is one of the best things about afs.
How do you reach your read/write volume tree?
Through a mount point somewhere in root.cell?
Russ Allbery
2000-12-14 05:34:04 UTC
Permalink
Post by Jeffrey Hutzelman
Post by Russ Allbery
How do you reach your read/write volume tree?
Through a mount point somewhere in root.cell?
Having the trees be parallel is a *really* nice feature that I'd hate to
lose. Mounting the read/write tree under the regular tree breaks that
parallel structure in ways that might be possible to be worked around but
which are annoying.
--
Russ Allbery (***@stanford.edu) <http://www.eyrie.org/~eagle/>
s***@orchard.arlington.ma.us
2000-12-04 23:16:28 UTC
Permalink
I'd support an alternate interface between afsd and the cache manager
which used NFS-style file handles rather than inode numbers to
identify cache files. This would also allow a cache to be split
across multiple partitions.

(NetBSD 1.5 supports fhopen(), fhstat() and fhstatfs() system calls to
allow use of file handles by applications other than NFS)

- Bill
a***@speakeasy.org
2000-12-06 13:28:07 UTC
Permalink
Yes and no. In normal operation, the cache manager has no need for
filenames - it just wants a bunch of files that it can open at will,
without lots of overhead. However, it turns out to be useful for
debugging to have physical files on disk with names that allow them to be
accessed using normal tools.
And it's persistent. Is the squid cache persistent across reboots?
Jim Rees
2000-12-14 02:24:06 UTC
Permalink
This doesn't let you easily create shortcuts.. For example, I like
being able to access /afs/athena, /afs/sipb, /afs/dev, and other MIT
shorthands.

I don't like these shortcuts. They defeat the universal namespace, which is
one of the best things about afs.
Jeffrey Hutzelman
2000-12-14 04:34:43 UTC
Permalink
Post by Russ Allbery
Post by Jim Rees
I don't like these shortcuts. They defeat the universal namespace,
which is one of the best things about afs.
How do you reach your read/write volume tree?
Through a mount point somewhere in root.cell?
Loading...