I deploy Linux servers all the time and would like to test each installation. Like a system test.
For applications there a numerous of test frameworks, but I can't find anything for testing the a server installation.
To be more specific: Using Puppet I deploy various of Ubuntu combinations, such as LAMP, LNMP, Solr, Elasticsearch, Nodejs, etc. In a later stage someone else add an application to these installations. To ensure best quality as possible, I now run Jenkins with a matrix that test run each possible combination of Puppet manifests that I use. This ensures that Puppet won't fail during deployment.
The problem is that even if Puppet succeeds, there is no guarantee that, for example ElasicSearch actually works, or that iptables block the correct ports and so on. Of course I could write a bunch of bash scripts for testing, but that's just the wrong way.
The question is, does a framework for this already exists (but I've missed it)? Or are there any other good suggestion how to proceed here? The goal is to have the possibility to test for running processes, connect to ports, etc.
Thanks,