I am reviewing puppet for suitability on a project that I'm working
on.  In many regards, it looks perfect and I'm very pleased with the
overall feel thus far.  For a proof-of-concept example, I've created a
manifest that ensures that the ntp package is installed on the client,
that it has the correct ntp.conf and that the services is running with
that config.  So far so good.

The clients are going to be PC/104 systems running the Fedora
"appliance" OS from CompactFlash more or less as if it were a live CD
(think compressed and read-only).  The goal is to have this OS be just
the bare bones plus the puppet client.  On boot, the puppet client
would install the required packages, configure them and start services
and custom applications as
necessary.  This means that any disk updates occurring after boot will
not persist through a reboot.  Boot times are longer this way, but the
systems remain very flexible and can be deployed for a variety of
purposes, which would ultimately be dictated by the puppet master.

If there is a network loss for whatever reason, it is required that
system remain operational in all other regards.  If the network outage
occurs after boot up this is rather trivial to handle.  However, if
the system is rebooted after loss of network, it must proceed under
the last known state of configuration.  I've been partly successful in
this regard by creating a 2nd file system on the CompactFlash to
which /var/cache/yum is sym-linked.  This in effect makes the yum
cache persistent through reboots.

With the network disconnected, I can remove the ntp package and its
configuration file from the client, reboot and puppet will dutifully
reinstall the ntp package.  However it is unable to retrieve the
configuration file from the puppet master and thus far I have not
found any way to configure puppetd to maintain a locally cached
version to use as a fail safe.  I have experimented with ignorecache
and usecacheonfailure but without success.  Do I need to make each
puppet client its own file server somehow with a synchronized copy of
the master?  Is there some other route I've missed?

I've also noted that the ntp daemon does not start in this case, but
I'm pretty sure that's simply because puppetd knows a dependency
hasn't yet been met.  If I can just convince puppetd to somehow
persist/cache (similar to what I did with yum) the config file and use
that if all else fails, I'll be ready to roll on this project.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to