← Back to team overview

yellow team mailing list archive

Re: Test launcher script

 

On Apr 8, 2012, at 16:18 , Graham Binns wrote:

> Hi chaps,
> 
> It occurred to me that I've not actually sent anything out the script
> to automate test runs, so here's something:
> 
> - Branch this: lp:~gmb/+junk/gris-gris
> - Run the following command:
> 
> ./run_lp_tests.py --master-config=/path/to/master/config/yaml
> --slave-config=/path/to/slave/config/yaml
> --repository=/path/to/charm/repo
> 
> And it should _just work_.

Hi Graham,

I tried exercising your script today and ran into some problems.  The issues are odd to the point that I wonder if you perhaps forgot to push up your latest work -or- I've got some environmental issues.

* The script has a pdb still in it.

* When running the script, the slave never came up.  'wait_for_machine' got an error as 'instance-state' was not part of the juju status output for the slave machine, as you can see at  http://paste.ubuntu.com/922372/.  Is that part of the change to the format of 'juju status' that was introduced recently.

For comparison, launching a master and slave by hand (though not changing the machine type) gives this: http://paste.ubuntu.com/922365/.  The slave is still pending but at least has an instance-id and an instance-state reported.

Running your script I eventually get "timeout waiting for service to start".  That is after I made a change to charmhelpers wait_for_machine to not rely on 'instance-state' existing.

So, in short, I'm a bit stumped as to why a slave will not come up using your script.  Gary suggests it may be a recent change to juju.


--bac

> 
> Notes:
> 
> 0. You need to have an Juju environment configured for
>    EC2 in your environments.yaml; it needs to be called
>    'ec2'. The script will copy this and modify it for
>    the sake of launching the instances we need.
> 1. You need to have the following installed:
>    - python-shelltoolbox
>    - python-charmhelpers (it's not packaged yet, but
>      you can grab the code from
>      lp:~gmb/charm-tools/add-charm-helpers and run
>      python setup.py install
> 2. The script will launch a slave and a master, will wait
>    for the slave to be ready, and then will force a build.
>    Once it's done that it will exit.
> 3. Once the build's complete, you need to run:
>    `juju destroy-environment ec2-testing`
>    followed by
>    `./run_lp_tests.py --cleanup`
>    The latter will restore your old environments.yaml.
> 
> Further things we could do with the script:
> 
> - Make it monitor the build, capture the final output
>   and tear down the environment when it's finished
>   (I tried this, but of course destroy-environment
>   is interactive, and piping `yes` to it caused it to
>   eat the CPU.
> - ??? Suggestions welcome.
> 
> -- 
> Graham Binns | PGP Key: EC66FA7D
> http://launchpad.net/~gmb
> 
> -- 
> Mailing list: https://launchpad.net/~yellow
> Post to     : yellow@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yellow
> More help   : https://help.launchpad.net/ListHelp



Follow ups

References