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

Reply via email to