> 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