Merge lp://qastaging/lava-dispatcher/multinode into lp://qastaging/lava-dispatcher
Proposed by
Neil Williams
Status: | Merged |
---|---|
Approved by: | Neil Williams |
Approved revision: | 693 |
Merged at revision: | 659 |
Proposed branch: | lp://qastaging/lava-dispatcher/multinode |
Merge into: | lp://qastaging/lava-dispatcher |
Diff against target: |
4419 lines (+2791/-513) (has conflicts) 42 files modified
doc/conf.py (+2/-2) doc/debugging.rst (+119/-0) doc/index.rst (+1/-0) doc/multinode-usecases.rst (+8/-0) doc/multinode.rst (+291/-0) doc/multinodeapi.rst (+302/-0) doc/usecaseone.rst (+521/-0) doc/usecasetwo.rst (+224/-0) lava/dispatcher/commands.py (+8/-1) lava/dispatcher/node.py (+411/-0) lava_dispatcher/__init__.py (+1/-1) lava_dispatcher/actions/deploy.py (+1/-0) lava_dispatcher/actions/launch_control.py (+60/-3) lava_dispatcher/actions/lava_test_shell.py (+69/-1) lava_dispatcher/config.py (+0/-1) lava_dispatcher/context.py (+20/-4) lava_dispatcher/default-config/lava-dispatcher/device-types/aa9.conf (+16/-0) lava_dispatcher/default-config/lava-dispatcher/device-types/capri.conf (+0/-46) lava_dispatcher/default-config/lava-dispatcher/device-types/mx53loco.conf (+16/-6) lava_dispatcher/default-config/lava-dispatcher/device-types/nexus10.conf (+0/-46) lava_dispatcher/default-config/lava-dispatcher/device-types/rtsm_foundation-armv8.conf (+0/-20) lava_dispatcher/default-config/lava-dispatcher/device-types/rtsm_ve-a15x1-a7x1.conf (+0/-117) lava_dispatcher/default-config/lava-dispatcher/device-types/rtsm_ve-a15x4-a7x4.conf (+0/-117) lava_dispatcher/default-config/lava-dispatcher/device-types/rtsm_ve-armv8.conf (+0/-128) lava_dispatcher/device/master.py (+15/-10) lava_dispatcher/downloader.py (+1/-1) lava_dispatcher/job.py (+148/-4) lava_dispatcher/signals/__init__.py (+88/-1) lava_dispatcher/tests/test-config/bin/fake-qemu (+3/-0) lava_dispatcher/tests/test_device_version.py (+24/-0) lava_dispatcher/utils.py (+2/-2) lava_test_shell/multi_node/lava-group (+19/-0) lava_test_shell/multi_node/lava-multi-node.lib (+210/-0) lava_test_shell/multi_node/lava-network (+104/-0) lava_test_shell/multi_node/lava-role (+14/-0) lava_test_shell/multi_node/lava-self (+9/-0) lava_test_shell/multi_node/lava-send (+17/-0) lava_test_shell/multi_node/lava-sync (+20/-0) lava_test_shell/multi_node/lava-wait (+21/-0) lava_test_shell/multi_node/lava-wait-all (+23/-0) requirements.txt (+2/-1) setup.py (+1/-1) Text conflict in lava_dispatcher/actions/lava_test_shell.py Text conflict in lava_dispatcher/context.py Conflict adding file lava_dispatcher/default-config/lava-dispatcher/device-types/aa9.conf. Moved existing file to lava_dispatcher/default-config/lava-dispatcher/device-types/aa9.conf.moved. Text conflict in lava_dispatcher/default-config/lava-dispatcher/device-types/mx53loco.conf Text conflict in lava_dispatcher/device/master.py Text conflict in lava_dispatcher/job.py Conflict adding file lava_dispatcher/tests/test-config/bin. Moved existing file to lava_dispatcher/tests/test-config/bin.moved. Text conflict in lava_dispatcher/tests/test_device_version.py |
To merge this branch: | bzr merge lp://qastaging/lava-dispatcher/multinode |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Neil Williams | Approve | ||
Antonio Terceiro | Needs Fixing | ||
Review via email:
|
This proposal supersedes a proposal from 2013-08-20.
Description of the change
Landing MultiNode.
Handles the communication between jobs in a MultiNode group to deliver the LAVA MultiNode API with synchronisation primitives.
This branch applies with conflicts. The conflicts are proposed to be resolved as per this temporary branch: lp:~codehelp/lava-dispatcher/multinode-merge
lava-dispatcher will be the merged after dashboard but before scheduler, so that MultiNode jobs can start as soon as the scheduler is ready.
Updated: Include missing changes from tip.
To post a comment you must log in.
Hi guys,
This is great work! I like how we managed to minimize the impact on existing
code, so we are not risking breaking what already works! :-)
I have a fair number of comments below. I hope it helps us to get to a even
better code.
On Wed, Aug 21, 2013 at 09:45:46AM -0000, Neil Williams wrote: /code.launchpad .net/~linaro- automation/ lava-dispatcher /multinode/ +merge/ 181233
> Neil Williams has proposed merging lp:lava-dispatcher/multinode into lp:lava-dispatcher.
>
> Requested reviews:
> Linaro Validation Team (linaro-validation)
>
> For more details, see:
> https:/
>
> Landing MultiNode.
>
> Handles the communication between jobs in a MultiNode group to deliver
> the LAVA MultiNode API with synchronisation primitives.
>
> This branch applies with conflicts. The conflicts are proposed to be
> resolved as per this temporary branch:
> lp:~codehelp/lava-dispatcher/multinode-merge
I don't undertand why you didn't resolve the conflict already before making the
merge proposal ... specially because you already have that done somewhere else
:-)
> lava-dispatcher will be the merged after dashboard but before
> scheduler, so that MultiNode jobs can start as soon as the scheduler
> is ready.
>
> Updated: Include missing changes from tip.
[...]
There were a bunch of file renamings/removals in lava_dispatcher /default- config
in the diff, I don't think they should be here. I'm ommitting those from the
review. Maybe the merge from trunk was not complete, please make sure you
review the diff wrt trunk before going further with this.
> === modified file 'lava/dispatche r/commands. py' /commands. py 2013-07-16 15:58:16 +0000 /commands. py 2013-08-21 09:44:41 +0000 validator. errors import ValidationError .node import NodeDispatcher .config .config import get_config, get_device_config, get_devices erences
> --- lava/dispatcher
> +++ lava/dispatcher
> @@ -7,7 +7,7 @@
> from json_schema_
> from lava.tool.command import Command
> from lava.tool.errors import CommandError
> -
> +from lava.dispatcher
> import lava_dispatcher
> from lava_dispatcher
> from lava_dispatcher.job import LavaTestJob, validate_job_data
> @@ -93,6 +93,7 @@
> # Set process id if job-id was passed to dispatcher
> if self.args.job_id:
> try:
> + # noinspection PyUnresolvedRef
what is this?
> from setproctitle import getproctitle, setproctitle json_jobdata, oob_file, self.args. output_ dir)
> except ImportError:
> logging.warning(
> @@ -107,6 +108,14 @@
> jobdata = stream.read()
> json_jobdata = json.loads(jobdata)
>
> + # detect multinode and start a NodeDispatcher to work with the LAVA Coordinator.
> + if not self.args.validate:
> + if 'target_group' in json_jobdata:
> + node = NodeDispatcher(
> + node.run()
> + # the NodeDispatcher has started and closed.
> + # FIXME: get any error state from nodeDispatcher!
is it OK to land with this issue here unsolved?
> + exit(0)
> if self.args.target is None:
> if 'target' not in json_jobdata:
> ...