My team of testers and me have a big collection of functional tests (written in python and run with pytest). The thing is that all the tests are run on a single testing server, an ubuntu VPS with selenium,webdriver,firefox,chrome,xvfb,pytest etc.
What I would like us to do is create many different VMs (combinations of OSs and browser versions) that would be launched/run based on a configuration file, and would run the automated scripts that we have on our github repo.
Example: I want to run these X scripts on a Windows 7 VM with IE8.
I am currently familiarizing myself with Vagrant as a possible solution. Would it be possible to create some base boxes with specific configurations and then "somehow" trigger them from an interface?
I am referring to Puppet and Chef in the title because I have read many articles that combine them with Vagrant. I have no experience with them.
It would be helpful if I could understand the architecture that could be implemented... and maybe the limitations. Essentially i would like to make a small and local implementation of SauceLabs/Browserstack.