[2293] in Release_7.7_team

home help back first fref pref prev next nref lref last post

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.

home help back first fref pref prev next nref lref last post