Sjoerd Oostdijck wrote:
> On 8/22/11 10:36 AM, no-re...@cfengine.com 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:  david....@ecmwf.int
_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
https://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to