We're in the process of researching a configuration/systems management implementation and we've done quite a lot of demoing of Puppet. Puppet seems to excel at the somewhat simple "ensure this package is installed, this config file exists, and that this service is running."
I can't seem to find a good real world example of managing software that doesn't play so nicely. Some examples:
- IBM DB2 (distributed via tarball with installer, "fixpacks" are similiar)
- Simpana CommVault (uses an installer with an ncurses interface, but will accept an "answer" file if coaxed)
- AccuRev (binary installer, with "answer" file support)
- VMWare Tools (binary installer)
What approach have Puppet users taken to integrate software like this into their environments?