> But one thing perl does very well is to allow the number of programmers
> contributing content to scale - which seems to me to be the important
> part if you want to avoid re-inventing every wheel and building things
> from atoms by yourself.  The point of using perl is that I can make an
> http request, parse the returned xml, and write the data to a database
> of my choice, only having to write a few lines myself.  And I can do
> that and other equally complicated things because thousands of different
> people have written bits of code without much coordination and the
> language permits it to all work together.  Can a mostly-uncoordinated
> set of people write different parts of a cfengine conf without namespace
> collisions?  Is there a way to track internal version dependencies among
> the parts?

Yes, there are private name spaces in cfengine. Cfengine Nova tracks 
dependencies between
the parts. Versioning can be dealt with in a number of ways. There's no silver 
bullet
there, but a dozen possibilties. I recommend that you don't have thousands
of people involved however ;-) At some point you can only coordinate multiple 
inputs by
having a *human* review the final aggregate policy, because a *human* must take
responsibility for it. Many cooks, etc.

>> Don't make the mistake of thinking of cfengine as just a scripting
>> language. It is an
>> automation framework.
> 
> Yes, but automating machines isn't particularly interesting or the main
> part of what I'd like to accomplish.  And seriously, modern systems run
> nearly unattended for years these days anyway so that's not the hard
> job.  What I really want is to facilitate what a team of specialized
> humans do - and I don't see how this part can scale unless I'm missing
> something.  This is what I was trying to ask earlier regarding different
> people in different roles.  How do the people who have particular
> application knowledge provide that code in a way that a non-programming
> operations scheduler can choose when a particular application version,
> which might need the corresponding cfengine conf code to manage, goes to
> a particular machine?

You should look at the Special Topics Guide on Teamwork. And Knowledge 
Management (e.g.
Cfengine Nova) is going to be your friend. See that Special Topics Guide too.

>> And as for "seasoned sysadmins", the more seasoned they think they
>> are seasoned, the more they tend to be stuck in bad habits of the
>> past. A *great* sysadmin
>> is one that is constantly challenging his/her assumptions.
> 
> Yes, I'm intrigued at some of the concepts here, but some things aren't
> assumptions, they are just facts.  And I want the program to work for
> the humans, not the other way around.
> 

This is a good goal indeed.

-- 
Mark Burgess

-------------------------------------------------
Professor of Network and System Administration
Oslo University College, Norway

Personal Web: http://www.iu.hio.no/~mark
Office Telf : +47 22453272
-------------------------------------------------
_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
https://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to