Add support to LAVA for deploying images to fast models and testing in them

Registered by Michael Hudson-Doyle

LAVA normally deals with physical hardware, but we want to support fast models as a test client type in LAVA. This will allow testing Linaro images and kernels on things like A15 before real hardware is available.

Blueprint information

Status:
Complete
Approver:
Paul Larson
Priority:
Essential
Drafter:
Zygmunt Krynicki
Direction:
Needs approval
Assignee:
Andy Doan
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Fathi Boudra
Completed by
Andy Doan

Related branches

Sprints

Whiteboard

[pwlars 2012-01-23] Removed android since we don't have an android image that will boot under this, changed ubuntu images to "provided axf kernel/rootfs" since we don't have hwpacks for rtsm
[zkrynicki 2012-02-23] Reorganized and split into many other blueprints
[pwlars 2012-02-22] Moved this to the new roadmap id, retargetted for 2012.03
[asac 2012-02-24] This most likely still makes sense. Need to review the plan in the context of proper platform enablement of fast models. focus on something else for the next few days. basically everything that is assuming that inputs will be different to inputs you currently get for ubuntu/android images is at risk of being invalid. I checked all the blueprints and couldn't spot something that does that though. have to talk through with plars to know for sure.
[asac 2012-02-24] what I am really missing here is making a good virtualization abstraction. seems we pump in lots of complexity without hiding stuff nicely behind an abstraction for all virtualizations. If this blueprint is about a general fast-model abstraction that's fine.
[zkrynicki]: asac, what kind of abstraction are you to talking about? Dispatcher a bunch of mess and I was hoping that the work on fast models would allow us to build sensible, clean pieces that can be used to replace various parts of the dispatcher.
[zkrynicki]: fast models will use identical interface as all of the other jobs (rootfs + hwpack). The model will be defined in dispatcher per-device configuration.
[zkrynicki, 2012-03-22] Move to 2012.04
[fboudra, 2012-04-27] Re-target to 2012.05 milestone.

Meta:
Headline: LAVA now supports testing on Fast Models
Acceptance:
 1. LAVA can connect to, and control a system running the fast models software to do things like pushing files, gathering results, and starting/stopping/restarting images running under fast models (this will likely be on a separate machine)
 2. Provided axf kernel/rootfs
 3. results can be gathered from a test run under fast models
Roadmap id: LAVA2012-FAST-MODELS-IN-LAVA

(?)

Work Items

Work items:
Look at qemu for inspiration to add fast models in lava-dispatcher: DONE
Rewrite most of the dispatcher in lava-core: DONE
Load the axf file from the data produced by l-m-c: DONE
Define a job submission interface for sim files: DONE
Meld old lava-fastmodel code into lava-core: DONE
Deploy code on lava-serve05: DONE
Ensure licensing works on lava-server05: DONE
Run stream on fast model: DONE
Successfully run stream on fast model in the lab: INPROGRESS
Transition to tun/tap network interface: TODO
Attempt to retry pip and apt-get upon network failures: TODO
Implement global timeout model: TODO
Add support for soft (non-mandatory) timeouts: TODO
Add support for shell commands: TODO
Add support for interactive on-device debugging on failure: TODO
Run big.little switcher tests in the lab: TODO
Patch scheduler to redirect fast model tests to remote lava-core: TODO
Create appropriate devices in the scheduler database: TODO

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.