Sjoerd Oostdijck wrote:
> On 8/22/11 10:36 AM, [email protected] wrote:
>> From the top-level, what I want is for "update.cf", when checking
>> "/var/cfengine/inputs", to try one server, and if that times out, then to
>> try another in the list.
>>
>> Now the "copy_from" compound body has a "servers" which takes a list, and
>> the manual defines that as "the servers are tried in order until one of them
>> succeeds". That sounds good. Very good. In theory.
>>
>>
> I don't know about the examples, but having your copy body use two
> servers works just fine in my experience. Just do something like this:
> [...]
Thanks for your reply, which I will look at for my current problem.
But there is a wider problem of cfengine distributing code which is not
as good as it should be.
(And what follows is now addressed to the wider community of cfengine
maintainers, packagers and distributors.)
cfengine distributes an "update.cf". That ought to be high quality and
reliable. But what I find is that this DISTRIBUTED version seems not to
have been written with flexibility in mind. In other words, the example
code from cfengine, about its own product, is suboptimal and sets a
somewhat deficient example of its very own intention.
I, the end-user, ought to be find the provided "update.cf" to be a good,
well-worked, and flexible example. And I ought to be able to take it
and, with the absolute minimum of changes, incorporate it into my local
environment. Note that "absolute minimum of changes".
The reply talks about "your copy body" (i.e. the "your" is the
end-user). But that is exactly the problem! "update.cf" should only
require very basic data ("vars") changes. It ought not to require the
end-user to have to recode and re-program it, especially this the bit of
the code is one of the very foundations upon which everything else rests
...or falls.
And if it falls, because the end-user is forced to start programming it,
then it has failed in its stated aim of keeping promises.
And it's not just here. On several occasions I've found the "standard
library" distributed with the code to have deficiencies. Yet such code
ought to be setting the very highest standards, surely.
I like cfengine. I used version 2 a lot at my previous place across
several hundred machines, several OSes and a wide variety of services.
But with this version 3 (I'm on 3.1.4 at present) I have worries about
the apparent lack of quality control in the supplied files ("update.cf"
and "cfengine_stdlib.cf"). The very things which should be setting
exemplary standards, not only of writing but of structural design, seem,
to me, to have some deficiencies.
To return to my current instance of the problem: I, the end-user, ought
to be able to rely on the provided "update.cf" already to have the
structure and flexibility to handle multiple servers. Instead, it is
actually programmed against this!
I'm happy to submit bug reports. Indeed, I've already done some in the
last few months, about different topics.
Anyway, thanks for your help.
--
: David Lee
: ECMWF (Data Handling System)
: Shinfield Park
: Reading RG2 9AX
: Berkshire
:
: tel: +44-118-9499 362
: email: [email protected]
_______________________________________________
Help-cfengine mailing list
[email protected]
https://cfengine.org/mailman/listinfo/help-cfengine