Some thoughts - I’ve used puppet for a while and ansible more recently.
Ansible is easier to get started with
Puppet sequencing can be hard - and occasionally you get bugs appearing in odd places where there was a dependency that you hadn’t noticed - but things happened to work OK until some change
The puppet apache module will by default create the document root for a virtualhost if it is not already defined. But since I wanted the documentroot to be managed by a custom RPM I don’t have a reference to the actual directory in puppet.
The project contains a Vagrant config file, and Puppet manifests that together with an appropriate basebox will create a VM setup to build RPMS and host them on a Custom Yum repository
I’ve been using Puppet for a little while and am now working on a project that will be using RedHat’s Satellite (the upstream project is Spacewalk).
I haven’t really used puppet in anger on production systems yet, I’m referring to the open source edition of Puppet, and have only read about Satellite, but I didn’t find much comparison out there so thought it worth writing up what I’ve found.
I originally went down a manual route as I wanted to understand the process, and since I’m familiar with manual installs this was the easiest path for me at the time.