Provide remote development board access to Linaro engineers

Registered by James Westby

Provide remote development board access to Linaro engineers for various
tasks:

  * porting tasks
  * benchmarking
  * power management measurements

The boards should be available for exclusive use, with a lease system to avoid starvation
if people forget and go on holiday. This may be a facility of lava, and the boards may be
dedicated, leased from the validation pool, or a combination of the two.

* Do users need to have root access?
* Do we need to reset the machine to a known-good state before it's allocated to someone? I suppose so.
* Do we need to allow users to choose which image to use (e.g. varying filesystem type and/or hwpack)?
* Is booting over the network an option?
* If not, do we need to be paranoid and ensure the SD card holding the known-good image can't be tampered with (e.g. https://wiki.ubuntu.com/Specs/N/ARM/public-panda-ppa-build-cluster)

Blueprint information

Status:
Complete
Approver:
James Westby
Priority:
Medium
Drafter:
Guilherme Salgado
Direction:
Needs approval
Assignee:
None
Definition:
Obsolete
Series goal:
Accepted for linaro-11.11
Implementation:
Not started
Milestone target:
None
Completed by
Neil Williams

Related branches

Sprints

Whiteboard

== User stories ==

  * As a developer I want exclusive access to a specific board as soon as it's available so that I can debug board-specific issues

  * As a developer I want exclusive access to a board during a particular timeframe so that I can work on it during my usual work hours

  * As a developer I wish to conserve my "development environment" so that I don't have to recreate it on every lease

=== Tricky/unclear user stories ===

  * As kernel developer I wish to boot the board with a particular kernel that I just built so that I can test/debug it
    - May or may not be one that they just built on a board using this system.

  * As a Toolchain engineer, I want to have a system with a consistent environment allocated to me for a week so that I can benchmark the toolchain with my changes on top of that stable baseline.
    * Requires selecting particular versions of the hwpack/rootfs if new lease is started

  * As a member of the Graphics working group, I want to run a benchmark suite on a range of different boards with a similar environment, so that I can see the effect of my changes on every board
    * Does this need interactive access?

  * As a member of the Multimedia working group, I need to run a benchmark suite and gather profiling statistics (using perf, oprofile, gprof, etc), that may generate a few hundred MB of data, so that they can be retrieved and compared later
    * Does this need interactive access?

  * As a Toolchain engineer, I want to continuously build the toolchain against a consistent environment and record the benchmark results, so that I can keep track of the progress we make.
    * Does this need interactive access?

  * As a developer I wish to choose the rootfs type that will be in use so that I can <something we don't know>

  * As a developer I want to install new packages on the machine, not necesarily ones that I think of before starting work.
  * As a Platform engineer, I want to reproduce a FTBFS on a given package by installing the necessary dependencies and building the package, so that I can find out what's causing the build failure
    * Porter boards can be used for the two ones above; should we just remove them from here, then?

  * As a PM developer I want to access the power managment monitoring hardware attached to the board

  * As a developer I want a target that I can interactively control and see graphical/video output and hear audio output, so that I can develop multimedia features.

(?)

Work Items