[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. 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:
1) devices.yaml file defines roles for nodes and says how many of each role you want, 2) the test code branch is copied to each node, 3) the run-$rolename.sh script is run on each node, 4) 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
Some notes:
1) 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.
2) 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.
3) 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 :)
Cheers, mwh