Configuration management software

A year or so ago I migrated from cfengine to puppet. Lately I've been less than pleased with puppet. It has issues with using too much memory (especially when recursing directories with many files), it recently broke on any directory string ending in a slash, and version 0.24.4 clients are not compatible with servers before 0.24.4. I took a look around but the landscape hasn't changed much. I suspect bcfg2 might use less resources but I really dislike the idea of using XML configuration files. I'm not sure puppet's syntax is the best either but at least it's relatively concise and powerful. And I'm not going back to cfengine. So I guess puppet remains the best option, but that may not be saying much.

Trackback URL for this post:

http://hightechsorcery.com/trackback/104

Don't give up on Puppet yet

I'm sorry to hear you're dissatisfied with Puppet. If it helps at all, we are working on it.

I'll see if I can do something about the memory issues -- I assume you're having them on the client, since most of the server-side memory issues are related to file-serving and we're already working on that actively.

Thanks Luke

No, I'm not giving up. Puppet is substantially ahead of the alternatives as far as I'm concerned. You are correct that the memory issues are on the clients.

Right now I try to keep memory usage at or below 75MB (using monit to restart or stop the instances). This is important for virtual servers that may only have 128MB of memory (in extreme cases, most have at least 256MB, which is still not that much). I'm still trying to determine which constructs use excessive amounts of memory. The only one I'm sure about is trying to use Puppet instead of chown and chmod commands to set permissions or ownership on a moderate set of files (think log archives, web directories, and such). However, that case is only the most dramatic where Puppet was using hundreds of megabytes of memory and could easily be replaced by a function call to chown or chmod. I've seen some spikes (say 10-20MB) on one set of servers after adding some Apache2 configuration that I haven't yet isolated.

Also, I should point out that since my puppet server has not yet been upgrade to 0.24.4 my clients are all still using 0.24.1. I'm not sure if an upgrade would help memory consumption.

Creative Commons License Except where otherwise noted, content on this site is licensed under a Creative Commons by-nc-sa 3.0 License