help-cfengine
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Editfiles Considered Harmful (was: Re: Complex Editfiles Examples)


From: Luke A. Kanies
Subject: Re: Editfiles Considered Harmful (was: Re: Complex Editfiles Examples)
Date: Thu, 4 Dec 2003 11:46:40 -0600 (CST)

On Thu, 4 Dec 2003, Mark Burgess wrote:

>
> I can agree with the general semtiment that "great power" yields
> "great power to destroy". But I think you are unfairly pinning
> this on one thing in a chain of responsibility.
>
> In my experience, people are not used to thinking in the
> cfengine way and make mistakes in trying to get around what
> they perceive as limitations. There is no tool that can prevent
> a user from writing nonsense over any file if they have the
> privileges. So you argument is fine, but it is not really related
> to editfiles or to cfengine.

I don't really buy this.  Cfengine makes many things incredibly easy,
which is why it is so popular, but cfengine also makes some things
inordinately difficult to do well.  In order to improve cfengine over
time, you have to accept that it is not as good as it could be.

You seem to think that any kind of abstraction is "not the cfengine way",
but I don't see how that could be.  I am successfully doing plenty of
abstraction in what I think of as "the cfengine way", but I am not
successfully using cfengine to do most it, because cfengine literally does
not support any real kinds of abstraction.  Without lists and iteration,
abstraction is essentially impossible, and its a real pain without a
couple extra nice features (like hashes/associative arrays).

No, I'm _not_ trying to say you should turn cfengine into perl.

But the reality is that many people need to manage relatively complex
differences between files on different hosts, and cfengine makes that
process quite difficult.  This is why Eric talks about using CVS to manage
all of the files, and just using cfengine to decide where to put files.

In other words, he is managing placement of the files "in the cfengine
way", but he is _not_ managing the contents of the files that way.  And I
think you will find most people who are doing sophisticated management of
file contents are doing so _outside_ of cfengine.

So, the question is:  When it comes time for people to manage the contents
of their files in a sophisticated way, would you rather they do that
management outside of cfengine (using cvs, or generating them, or what
have you) or would you rather cfengine support sophisticated content
management?

I prefer the second option, but it's not currently available, so instead I
(and Eric, and many others) am using the first one.

Certainly my recommendation to everyone I talk to is that if they are
editing more than one line in a file they should probably not use
editfiles, and if they really definitely want something to look and
function a certain way, they should also probably not use editfiles.

Luke




reply via email to

[Prev in Thread] Current Thread [Next in Thread]