pcp
[Top] [All Lists]

Vagrant update

To: pcp@xxxxxxxxxxx
Subject: Vagrant update
From: Martins Innus <minnus@xxxxxxxxxxx>
Date: Fri, 06 Feb 2015 15:08:25 -0500
Delivered-to: pcp@xxxxxxxxxxx
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
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

<Prev in Thread] Current Thread [Next in Thread>
  • Vagrant update, Martins Innus <=