On 19 May 2010 15:39, Luke Kanies <[email protected]> wrote:
> On May 18, 2010, at 6:08 PM, Trevor Vaughan wrote:
>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> I thought I'd toss this idea out here to get pointed and laughed at
>> before I Redmine'd it.
>>
>> I ran into the fun situation recently where I needed puppet to be more
>> atomic.
>>
>> Basically:
>>
>> (A) Update file -> (B) Restart Service
>>
>> But...for some reason puppet got interrupted precisely between A and B!
>>
>> So, the next time puppet ran, my system wasn't in the state that I had
>> described, instead the file had been updated but the service had not
>> been triggered.
>>
>> This got me thinking about the concept of atomic puppet updates. It
>> shouldn't be too difficult to write to disk/register the state of the
>> operations as they happen and to be able to pick back up by default if a
>> run is interrupted.
>>
>> I say this, of course, completely tongue-in-cheek as the last graph
>> discussion I jumped into went on for tons of messages!
>
> This wouldn't be all that difficult - just record each event as it comes in,
> and remove it once it's dealt with.  Then when Puppet starts up, it just
> deals with any un-dealt-with event, as it were.
>
> We currently only queue events in memory, but it's not like it's a huge
> architectural shift to record the events on disk.
>

This is very similar to how AngryMob[0] works internally, albiet
without the serialisation to disk.

I'm guessing the constant serialisation/de-serialisation would induce
a relatively minor slowdown, but I think the feature is useful enough
to warrant it.

Lindsay

[0] http://github.com/plus2/angry_mob

-- 
w: http://holmwood.id.au/~lindsay/
t: @auxesis

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

Reply via email to