Hi Walid, Currently our primary tool for both provisioning and configuration management is Warewulf. (http://warewulf.lbl.gov/) In addition to being a good provisioning system, Warewulf provides a rudimentary configuration management system in the form of "file provisioning". This is just a database of files, with a basic templating language, which can then be assigned to different nodes to be downloaded after the base image is provisioned (but before running init). They can also be automatically updated while the node is online.
File provisioning provides a much less extensive set of options that a system like Puppet, Chef, etc. But the combination of base images with all their software installed (a "generic compute node image") with specialization via file provisioning on each node (scheduler configuration, network options, etc) seems to hit our sweet spot. It's also extremely lightweight, and we like having our entire provisioning solution in one tool. I've also used Puppet, Chef, and Ansible. Currently my favorite is Ansible, which I've been using for occasional "cloud" deployments to external services that I can't target with our internal Warewulf. But they're all decent tools, and they're all worlds better than *not* using configuration management. A few random +/- observations of the tools I know: Puppet: + Relatively easy to install and set up + Easy-to-understand configuration language + All operations should be idempotent (and were, in my experience) + Puppet Labs has pretty good support - Ran into limits of configuration language pretty quickly, and found it hard to extend - Spent a lot of time fighting with the authentication system, especially if I wanted to use diskless nodes - Had trouble getting the puppet-master daemon to scale well with larger clusters (but this was a couple years ago) Chef: + Extremely flexible configuration language (basically Ruby with some extras) + Lots of "batteries included": if you want to do something "mainstream", it's likely to be already built in. (Not much HPC-specific though.) + Relatively easy to build extensions in Ruby + Has good version control as a built-in concept - Because it's just Ruby, it's easy to accidentally build non-idempotent recipes. - Chef install (server or client) requires a lot of supporting software, so node images get big. - Support for RHEL-like distros not as good (IMO) as for Debian-like distros. Though FrameOS provides good packages in their third-party RBEL distro. Ansible: + Extremely lightweight: only requirement on the client nodes is Python 2.6 (or Python 2.4 + python-simplejson). + Transport and authentication are provided by SSH, rather than building yet another custom transport/auth scheme. + Configuration language is extremely simple, and extensions can be built in any language (even bash) + Supports both "push" and "pull" models + Also provides easy ad-hoc command execution (pdsh replacement) - Very new on the scene compared to most others (Puppet, Chef, Cfengine), still not a 1.0 product - Fewer "batteries included" than Puppet or Chef, smaller communities, less widely available recipes out there - Community support only, don't know of any commercial support And I seem to have written a novel. :) Can you tell I have opinions on this? Hope this helps... -Adam On Sun, Jan 06, 2013 at 04:38:40PM +0300, Walid wrote: > Dear All, > > At work we are starting to evaluate Configuration management to be used to > manage several diverse hpc clusters, and their diverse node types. I wanted > to see what are other admins, and HPC users experience like, the ones that > we will start evaluating are CFEngine3, Puppet, Chef, Saltstack, ansible, > and blueprint. there might other products that we need to evluate in > partnership such as Foreman, spacewalk, ..etc. > > I would like to hear from you if you did evaluate such tools, or using one, > or have a different strategy in keeping and maintaining configurations. > > Thank you, > > Walid > _______________________________________________ > Beowulf mailing list, Beowulf@beowulf.org sponsored by Penguin Computing > To change your subscription (digest mode or unsubscribe) visit > http://www.beowulf.org/mailman/listinfo/beowulf
pgpxPoAetAb_v.pgp
Description: PGP signature
_______________________________________________ Beowulf mailing list, Beowulf@beowulf.org sponsored by Penguin Computing To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf