I've been working with HP's Server Automation tool suite for a long time, and while it's a great tool - it's too much for a small business or home network to use (more accurately: it's way too expensive for anything less than a large company to afford).
I'm somewhat familiar with Puppet and OpenNMS for provisioning and monitoring. After googling for other information, though, it seems there's not much in the way of management tools that are mature enough to use without a lot of effort to maintain them.
Are there any other FLOSS tools (commercially supported is fine) for managing:
- server provisioning
- patch control
- software package pushing
- integration with native provisioning is fine (kickstart, jumpstart, autoyast, unattend.txt, winpe, etc)
- a GUI of some kind would be nice, but not required
- I want to be able to setup, for example, an OS profile, and ship it to X-many devices, preferably with fields that would be filled-in during the process for hostname, IP, etc
- agent-based is preferable to non-agent-based (ie, I know I could use soemthing like pssh for package and patch management, but that requires pre-shared keys as opposed to agent/certificate authentication)
- being able to tie-in to Nagios, OpenNMS, or similar would be fantastic - so known ports, processes, and SNMP data would be great
- virtualization support would be really helpful - but I'm OK with it not being able to create the VM, just populate/provision it
If the answer to this question turns out to be, "here's a bunch of tools that are part of the solution", I'm willing to build a wrapper of some kind for my own use.