[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Autoinstalls (was Re: Social Contract GR's Affect on sarge)



[Topic change, dropping from previous thread.]

On Wed, Apr 28, 2004 at 10:33:19AM -0500, Scott Dier wrote:
> I've never been much of a fan of FAI, I'm afraid. :)
> 
> I do have the benefit that anything I develop in that realm I'll have
> to deal with for 1-2 years in an environment where I need to
> (re-)install at least 150-200 machines a year.  It better damn work.
> :)  The hacks I did to make autoinstall 'not suck' for our use are
> great, but they aren't polished by any means.  They work most of the
> time, or break badly and give horrible information about what broke.

I blame bad packages, dpkg, and apt for this.  I worked extensively with
FAI to install about half the machines you're working with.  A small
disclaimer here, I worked with FAI when it was pre-2.x.  Many of the
problems I had may be resolved now.

Some machines had crazy hardware problems, such as bad DMA hard drives,
and others were simply underpowered.  When FAI broke an install, it
broke badly, but FAI wasn't always to blame.  It was sometimes
impossibly difficult to find which package broke the chain, however,
because of the nature of Debian installs.

The Debian installation is largely serial in nature.  Even with tools
like apt that handle dependency resolution well, a break in a single
package sometimes breaks the install as a whole.  There are tweaks you
can make in the dpkg configuration to increase it's tolerance for
errors.  Apt listens to dpkg for signs of catastrophic failures and
responds appropriately.  However, the outcome isn't always what you
want.

If it's one package at the root of a dependency branch, then that
package and all those that depend upon it may not finish the install.
Other independent branches should, however, continue installation.  This
isn't what usually happened for me.  One way around that was to loop the
process of "apt-get dselect-upgrade -yu; dpkg --configure --pending;
apt-get install -f" until the whole process exited without error or
until some arbitrary loop counter was reached.  Not ideal by any means.

Essentially the behavior I was looking for was, "Install and configure
everything you can, at all costs.  Be damned the rest."

Anyway..

-- 
Chad Walstrom <chewie@wookimus.net>           http://www.wookimus.net/
           assert(expired(knowledge)); /* core dump */

Attachment: signature.asc
Description: Digital signature


Reply to: