We have a need to do automated integration testing of our software within our virtualized environment. To make it quick, I will give an example of what I am looking for.
I need a way to, at some scheduled time, spin up several VMs (the largest deployment we have uses approimately 25 VMs), install our (version X or latest) software on them, run the integration tests, capture the results, and spin down the VMs.
We use vSphere. We have the vSphere SDK (5.5) to write our app. The idea is the I&T team can specify (through a browser UI), how many VMs they need and which software to install on each VM (as well as the IP addresses). The idea is to use the vSphere SDK to create linked clones of the VMs, to execute commands on the VMs to install the software, to execute the commands to run the tests, and to execute commands to upload the result file(s) created on the VMs to our server where we can display the results.
I have been looking into other alternatives to make life a bit easier (chef, vagrant, orchestration ....) so we hopefully don't have to write everything using the vSphere SDK (which does seem rather obtuse). Maybe I can get some COTS software to do the VM creation and software installation for example that would possibly be more robust than anything I could come up with in short time? But, it would still have to be able to be controlled through our other app that displays the results and allows the scheduling of the tests.
Is our current methodology of using the vSphere SDK for the whole thing the best approach or is there a more sensible approach?
Much thanks.
Aucun commentaire:
Enregistrer un commentaire