[401] in athena10

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

Clusterinfo design

daemon@ATHENA.MIT.EDU (ghudson@MIT.EDU)
Fri Aug 8 13:00:13 2008

Date: Fri, 8 Aug 2008 12:59:27 -0400 (EDT)
From: ghudson@MIT.EDU
Message-Id: <200808081659.m78GxRNO016267@outgoing.mit.edu>
To: athena10@mit.edu

Hesiod cluster info is the output of "hesinfo $(hostname -f) cluster".
Here's what Hesiod clusterinfo can do in Athena 9.4:

  * Specify the machine's default printer.
  * Point the machine at different update control information (dev
    cell vs. athena cell)
  * Specify a "cluster" flag which is used to deny root logins

9.4 machines cache cluster info in /var/athena/clusterinfo.  It is
updated at boot time, at reactivate time (reactivate runs before each
login and in a cron job), and before an automatic update.

Right now we have /usr/lib/get_hesiod_pcap which runs "hesinfo
$(hostname) cluster" (erroneously using the non-qualified hostname) to
look for the default printer for mit-lpq, but I believe no analog for
CUPS.  The standard cshrc and bashrc have code to get the default
printer out of /var/athena/clusterinfo but nothing creates that file,
and in fact /var/athena doesn't exist on Debathena machines.

My rough starting design is:

  * A new package debathena-clusterinfo installs
    /usr/sbin/save-cluster-info and a boot script and cron.hourly job
    to run it.  The cached clusterinfo goes into
    /var/run/athena-clusterinfo.csh and
    /var/run/athena-clusterinfo.sh.  This goes into the cluster
    metapackage.

  * Change the dotfiles to look in the new locations for cluster info.

  * In the future when I tackle debathena-auto-update, the auto-update
    script will run save-cluster-info and will rewrite
    /etc/apt/sources.list.d/debathena.list appropriately.

  * Likewise, the future "deny root logins on cluster machines"
    functionality will consult the cluster info cache.

By default, workstation machines won't cache or use cluster info and
will only use it via lprng's get_hesiod_pcap.  If you manually install
debathena-auto-update, that will pull in debathena-clusterinfo.  If
you just want to specify a default printer for a private machine, that
can be done without bothering ops by adding "PRINTER=whatever" to
/etc/environment.

I think the lprng get-hesiod-pcap script can go away, but I'm a little
reluctant to touch it.

This should be about an afternoon's work to write and test, so I
expect to have it checked in later today.

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