[1471] in Release_7.7_team

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

Automatic reinstall

daemon@ATHENA.MIT.EDU (Robert A Basch)
Fri Aug 28 10:25:21 1998

To: release-team@MIT.EDU
Date: Fri, 28 Aug 1998 10:25:17 EDT
From: Robert A Basch <rbasch@MIT.EDU>

I'm unsure how much this might have been considered in the past, but
I've been thinking that a helpful machine configuration feature, at
least for IRIX, would be a flag indicating that the machine can be
reinstalled automatically, i.e. contains no local data that needs to
be preserved.  This would be particularly useful for the update
procedure:

	- The OS update (e.g. the recent update from 5.3 to 6.2)
	  would be faster if it simply reinstalled any eligible
	  machine.  The existing OS update is slower than an
	  install, because it has an expensive initial pass
	  during which it removes all of the existing packages.
	  The install, on the other hand, merely makes new
	  filesystems before installing the new OS packages.

	- Update failures could be handled automatically.  This
	  could include problems detected by the update script,
	  such as lack of disk space, as well as mid-update
	  crash/reboot.

	- Similarly, automatic reinstall could help deal with a
	  situation where potentially many machines have to be
	  reinstalled.  For example, looking down the road a
	  bit, the IRIX 6.5 release notes claim that it is
	  the last release that will support EFS file systems.
	  While we are currently installing machines with
	  XFS root partitions, it is conceivable that many
	  older Indy's with EFS roots will have to be reinstalled,
	  if/when we go to a post-6.5 IRIX release.

Beyond this, we could also implement a periodic automatic reinstall of
machines, to help ensure system integrity, remove cruft, etc.

Note that no human intervention is now required to do a non-custom
reinstallation.  For many cases, we could copy in and boot the miniroot
we have in the install volume to do everything except repartition the
disk; this would not need to do a diskless boot from the install
server.  If a repartition is needed, we can set the correct variables
in nvram to do a diskless boot off of the install server, and reboot
to do a complete default installation.

Of course, the big problem keeping us from doing automatic
installation is that (as far as I know) we can't tell if it's safe
to do so on a particular machine.  (A private workstation could still
have PUBLIC=true in rc.conf, or map to a public cluster).  So, I'm
wondering if there is a feasible way to do this.  One idea is to add
an rc.conf variable AUTOINSTALL, analogous to AUTOUPDATE, which would
be true for "truly public" machines.  Another option would be to have
the information in a network data base, somehow.  In either case,
there could be administrative/maintenance hassle, plus the dangers of
an incorrect "AUTOINSTALL=true" setting.

Another issue is that we would probably want additional install servers
if we needed to support large-scale simultaneous diskless booting.
Again, though, the diskless boot is only necessary to repartition
the disk; if the disk partition sizes are OK, the reinstall could all
be done from a miniroot copied from the install AFS volume, as was done
for the 5.3-6.2 update.

Even with these problems, it seems that the advantages offered by an
auto-install feature make it worthwhile to consider how it might be
made feasible.  Then all we'd need to worry about is how slow the
install is...

Thoughts?

Bob


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