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.
