Have you thought about side-stepping puppetd/puppetmasterd and just  
writing your manifests to use puppet stand alone?

Adam

On Dec 12, 2008, at 6:30 AM, John Florian wrote:

>
> I've been pushing forward on this and have made much progress in
> having a puppet client continue to do its thing from the last known
> good state after becoming disconnected from the network.
>
> I've reached a major stumbling block though.  If the network interface
> had been up and operational, but is now failing (e.g., cable
> unplugged), puppet can continue on despite a few warnings in the
> logs.  However, if the interface hasn't even been configured (e.g.,
> booting with cable unplugged), puppet seems to take a different route
> and just refuses to push-on-regardless.  It just continues to log the
> following every few minutes:
>
> err: Could not call puppetca.getcert: #<Errno::ENETENREACH: Network is
> unreachable --connect(2)>
> err: Could not request certificate: Certificate retrieval failed:
> Network is unreachable --connect(2)
>
> I really need for puppet to simply continue with whatever state and
> configuration details it has cached from the last successful run.  Any
> ideas how I might achieve this?
>
>
> On Dec 8, 2:14 pm, John Florian <john.flor...@dart.biz> wrote:
>> 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 
puppet-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to