Hello all,
On Fri, Apr 05, 2013 at 03:40:03PM +1300, Michael Hudson-Doyle wrote:
[beware of the x-post!] [resend from correct email address...]
Hi all,
As discussed briefly with some of you, I've been hacking on some scripts to allow us to run some tests / benchmarks that make use of more than one calxeda node before we get proper support in LAVA. The script is here:
http://bazaar.launchpad.net/~mwhudson/+junk/highbank-bench-scripts/view/head...
but it's pretty terrible code, you probably don't want to look at it.
terrible code, but still pretty cool :)
More interesting might be the test code branch:
http://bazaar.launchpad.net/~mwhudson/+junk/highbank-bench-1/files
If it's not clear, the idea here is that:
- devices.yaml file defines roles for nodes and says how many of each role you want,
- the test code branch is copied to each node,
- the run-$rolename.sh script is run on each node,
- finally the contents of the /lava/results directory on each node is copied back to the system the tests were run from.
Coordination between nodes is done via lava-wait-for and lava-send shell scripts as proposed in the connect session.
fakedispatcher is invoked with the URL of the test code branch, e.g.:
python fakedispatcher.py lp:~mwhudson/+junk/highbank-bench-1
Great job! It's very cool that we have an interim sollution for you guys to go ahead with your tests while the LAVA implementation is not ready.
Some notes:
- I hope that using an "API" like that proposed in the connect session will let us figure out if it's actually a useful api.
It would indeed be really useful to have feedback on that API, the sooner the better.
fakedispatcher is still pretty terrible in many ways (e.g. it has a hardcoded list of (currently just 2) calxeda nodes to use), and either gives obscure errors or just hangs when things go wrong.
Despite 2), it does actually work. So I'm pretty happy about that, and would like to talk to all of you about how to write your test cases in a form that works with fakedispatcher :)
It's worth mentioning that:
- porting test cases written for fakedispatcher to LAVA proper should require very low effort.
- having such test cases already written is going to help the LAVA implementation a lot in terms of both delivery time and quality.
(and we, the LAVA team, might do the necessary porting ourselves) hint, hint ;-)