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