I cant say I've witnessed anything like that myself, although I don't really do a lot of independent insert_lines into the one file (I insert multiple lines as a slist, say when merging two files together, but I believe that equates to one promise). I may take a closer look to see if this could affect me...
On Thu, Sep 16, 2010 at 3:24 PM, Seva Gluschenko <seva.glusche...@gmail.com>wrote: > Well, be careful with it. My practices shown that using > empty_file_before_editing => "true" for building a file from scratch > can lead you into the trap when multiple insert_lines promises exist > and multiple cf-agents are running. (It may happen on heavily loaded > servers and default 5 minute schedule.) The one instance of cf-agent > then locks one insert_line promise while another copy locks another > one, so that file never becomes convergent. To prevent this, one must > either use classes definition like > > insert_lines: > "foo" classes => if_repaired("foo_added"); > > foo_added:: > "bar" comment => "only insert second line when succeed with the first > one"; > > or define variables and use single multiline insert_line promise then. > What is the worst thing with this issue is that one might never know > about it until faces it right in production. > > 2010/9/16 Michael Potter <mega...@gmail.com>: > > For me the killer cfengine feature is convergent file-editing, which I > > believe is fairly unique to cfengine. > > > > On Thu, Sep 16, 2010 at 6:27 AM, <no-re...@cfengine.com> wrote: > >> > >> Forum: Cfengine Help > >> Subject: Re: I've written an article about how Cfengine relates to Chef > >> and Puppet in terms of origin; and its new capabilities > >> Author: Seva Gluschenko > >> Link to topic: > https://cfengine.com/forum/read.php?3,18264,18267#msg-18267 > >> > >> Puppet evangelists mention its usage in Google. I had a chance to > clarify > >> that with an engineer employed by Google who told me that they use > Puppet > >> indeed, but only for certain MacBooks and they tend to get rid of it. It > is > >> known that Puppet's server easily grows beyond 1Gb in memory once the > number > >> of managed entities exceeds 20 or 30, so it hardly can be called robust. > >> Distributed installations of Puppet usually fire off its policy server > and > >> use svn or other repository tool to get updates which are then processed > by > >> its client. While the approach itself isn't bad, it adds an extra > component > >> to the scheme at least. > >> > >> _______________________________________________ > >> Help-cfengine mailing list > >> Help-cfengine@cfengine.org > >> https://cfengine.org/mailman/listinfo/help-cfengine > > > > > > _______________________________________________ > > Help-cfengine mailing list > > Help-cfengine@cfengine.org > > https://cfengine.org/mailman/listinfo/help-cfengine > > > > > > > > -- > SY, Seva Gluschenko. >
_______________________________________________ Help-cfengine mailing list Help-cfengine@cfengine.org https://cfengine.org/mailman/listinfo/help-cfengine