[2293] in Release_7.7_team
On putting infoagents on local disk
daemon@ATHENA.MIT.EDU (Greg Hudson)
Wed May 31 17:06:34 2000
Date: Wed, 31 May 2000 17:06:28 -0400 (EDT)
Message-Id: <200005312106.RAA25789@small-gods.mit.edu>
From: Greg Hudson <ghudson@MIT.EDU>
To: release-team@MIT.EDU
Cc: tbelton@MIT.EDU
We continue to get pressure from users to put netscape on the local
disks of cluster workstations, something we have dragged our heels on
for a while now because we don't like any of the ways of doing it.
Student users are unlikely to be able to generate the kind of
political pressure which would force us to act, but they can cause
Athena to die a lingering Scribe-like death by avoiding using it, so I
think we ought to consider this issue carefully.
There are a couple of ways to solve the problem. Here is why we don't
like the approach of putting netscape in the system packs and tracking
it local on Solaris and IRIX:
* Because of the way we manage the Athena source tree, it is
annoying to put binary-only products on the system packs.
* Athena development does not want to be the ones to maintain
netscape.
* It would take up a lot of space in the /usr partition if we
did things in the natural way.
Users, of course, do not care about any of those issues; all they care
about is that netscape is often painfully slow to start and that this
reflects badly on Athena. So, here is an alternative approach:
* Have workstations do a nightly synctree of the infoagents
locker into /var/athena/infoagents. (Since ~infoagents/arch
is pretty big, we'd probably only synctree the main locker
and the relevant arch directory.)
* Create a Hesiod filsys entry "infoagents-local" with the
value "LOC /var/athena/infoagents w /mit/infoagents", which
is now possible thanks to Mike Whitson.
* Create an attach-and-run script /usr/athena/bin/netscape
which points at the infoagents-local locker. The script
would probably have to be smart and fall back to the
infoagents locker in some failure cases.
Users could still get the version in AFS with "add -f infoagents" or
"athrun infoagents netscape", of course.
At release team some months ago, people criticized this approach
because it essentially creates a specialized secondary AFS cache.
Nonetheless, I think it would significantly improve the end-user
experience of starting netscape in the case where some or all of the
relevant netscape files are not in the AFS cache. (And I believe that
case is common.)
Anyway, I tried this approach out and ran into the following issues:
* The infoagents locker has some directories and files with
fascist UFS permissions. We could fix this in the locker,
and/or do a chmod a+rX pass after the synctree to fix such
problems locally.
* The netscape startup script looks for things under
/mit/infoagents and not under /mit/infoagents-local, which
is of course totally reasonable. So the locker startup
scripts would have to make special considerations, such as
allowing an environment variable to override the locker
root.
* When I ran netscape out of a local locker (mounted on
/mit/infoagents to avoid the second issue), it failed to
find some keymap file, suggesting an @SYS dependency. But I
can't reproduce this problem. Either way, it is probably
easily fixed.
* (Small issue) There is a system:authuser acl'd directory
/mit/infoagents/arch/i386_nbsd1/authbin which does not have
the "mit" IP acl. That's easily fixed or ignored.