Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I work with a cfengine installation that has grown organically and become quite complicated. Some stanzas use many classes, e.g., class1&(class2|class3)&!class4|class5

Is there some tool that would take a cfengine config and simplify it, similar to the simplification of logic circuits with boolean algebra?

Failing that, are there any tools for analyzing cfengine configurations? E.g., a class and object visualization tool might be helpful.

share|improve this question
1  
Depending on how entrenched cfengine is at your place, you might want to consider Puppet, Chef, or another configuration management system. –  Mike Renfro May 14 '11 at 1:26

3 Answers 3

Try the evolve thinking free promise library. It separates data from common promises. Making changes usually involves only editing a CSV file.

http://evolvethinking.com/evolve-thinkings-free-cfengine-library/

share|improve this answer
    
Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. –  slm Aug 16 '13 at 20:10

There's a new configuration management tool based on CFEngine that automates all the configurations. In a Web Interface, you define and parametrize the Directives you wish to see applied to group of nodes, and automagically, it generates CFEngine promises for these nodes.

Then the cf-agent running nodes will fetch these promises, apply them, and send back reports to the web interface.

You can find this tool, Rudder, here : http://www.rudder-project.org/

Disclaimer : I'm one of the developer of this tool

share|improve this answer

Nova, the commercial version of Cfengine, would help you analyse cfengine configuration, links between objects, files, etc.

However I do not know any tools that would help you simplify your cfengine configuration. A first step could be change your inputs/bundlesequence based on the host classes.

Or you could split your configurations files, having one set for some servers, another set for other servers, etc, but you'll have to maintain each of these sets of config files ...

share|improve this answer
    
Any idea on the pricing of the CFEngine Nova product? –  ewwhite Jul 3 '11 at 7:29
    
It was quite expensive... $$$$$ –  ewwhite Nov 24 '11 at 20:00

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.