[autotest] Schedule tests and then reimage.
This breaks suite and reimage scheduling into an async |schedule()|
function, paired with a sync |wait()| function so that we can schedule
tests and then start reimaging.
Both suites and reimaging have been granted an |abort()| function, so
that we can terminate jobs if reimaging fails, and terminate the
reimaging job if it still exists after the tests are done running.
This should improve the throughput of the lab by allowing us to start
running tests on machines as soon as they become available. It also
allows us to no longer use host locking, as it has been bug-prone.
BUG=chromium-os:37159
TEST=unit, lots of local run_suite.py
Change-Id: I6504a0f4b44c240542329d70c61bd33a4f28fbee
Reviewed-on: https://gerrit.chromium.org/gerrit/40577
Commit-Queue: Alex Miller <milleral@chromium.org>
Reviewed-by: Alex Miller <milleral@chromium.org>
Tested-by: Alex Miller <milleral@chromium.org>
6 files changed