Hi,
Here's my current vagrant setup, if there is interest to merge it
for others to work on/use.
https://github.com/ubccr/pcp/tree/vagrant
commit 101fa307933ad58b2ade616a9efc0c46d70443f6
Author: Martins Innus <minnus@xxxxxxxxxxx>
Date: Fri Feb 6 14:58:47 2015 -0500
Vagrant QA setup based on the Aconex idea
Run "vagrant up" in the pcp directory to load, provision and
run QA on a bunch of VMs
Requires virtualbox and vagrant installed
.gitignore | 2 +
Vagrantfile | 338
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 340 insertions(+), 0 deletions(-)
Requires virtualbox and vagrant installed.
Its just the Vagrantfile for now. I ended up not including the activemq
QA changes since I don't use it and wasn't sure on the right way to make
it work for all the platforms I had configured. So the git history isn't
in there but all credit goes to Aconex for this idea.
I tried to make it self contained and as uniform as possible just for my
ease of use and testing. So there are common config sections for all
ubuntu, all centos, etc as much as possible. In a fully fleshed out
system it probably makes sense to have individual configs for the
different VMs, individual config files, and not have a big mess in one file.
I have not done an audit on what portions of pcp get built on all the
platforms. I think some of the older VMs have python and QT issues.
In the root pcp directory a "vagrant up" will start , provision and run
qa on all the hosts. The provisioning happens in serial and the QA runs
happen in parallel.
The first time you run it, there will be a big network hit as the base
boxes are downloaded. But after that, all subsequent runs will use the
local cached data.
After the qa is done, any .bad files as well as the QA output itself are
copied to a new "qaresults" hierarchy in the current directory. Probably
could script something to do a simple analysis on the results.
If you had a good enough host machine, you could probably run all the
VMs at once, but vagrant up will also take a regex, so I tend to do
something like:
vagrant up /centos.*/
or depending on your shell
vagrant up \/centos.\*\/
You can configure the VM characteristics as well as the QA tests to run
with a few variables at the top.
As I mentioned in my last email, I had trouble getting the OpenSuse
images to load properly. I haven't gotten back to looking at that.
Also, these are all x86_64 boxes. Probably should add the 32bit
distributions that are appropriate if anyone has interest
It would be great to get some more hacking in this, I'm not tied to any
of my implementation details, it was just a quick and ugly way to get a
bunch of VMs up for QA.
Tested on Linux and Mac hosts.
Thanks
Martins
|