Can't boot to same image, servers are collocated at different providers. For configuration management I find puppet working quite reliably and it does notify me about failed scripts/installations. And I prefer restarting only services, not whole servers, unless really necessary.
When I get to deploy a new server, the workflow I would like to achieve goes like this:
1. I input all the relevant data (MAC/IP/mounts/purpose/misc) into some sort of application, via browser (or API for larger installs)
2. This application then creates necessary config files for:
- PXE boot server (which does initial install of the bare OS with functional puppet),
- puppetmaster (which completes the installation and creates a fully functional server by compiling packages) or whatever configuration management SW,
- Nagios (or whatever monitoring software)
- Ganglia (or whatever performance metrics software)
3. I just power up the machine and all the work gets done automatically,
The sysadmin's job should not primarily consist of repeating items from step #2 mentioned above, and those unnecessary steps are what I am trying to avoid. I still have to create templates for all the above stuff, but that is the fun part anyway.