329ef0add006898361abf223b7fb46bc11b2c7c1 |
|
18-Dec-2015 |
Dan Shi <dshi@google.com> |
[autotest] Fix unittest flake in suite_scheduler/driver_unittest.py mox does not work well with multiprocessing. By forcing the thread pool size to be 1, the method check flake was able to be resolved. BUG=chromium:570891 TEST=local run for i in `seq 1 10000`; do python site_utils/suite_scheduler/driver_unittest.py || { exit 1; } done | tee 1.log Change-Id: I81b0f42a85716a413dbdf77733efde11e60adc04 Reviewed-on: https://chromium-review.googlesource.com/319222 Commit-Queue: Dan Shi <dshi@chromium.org> Trybot-Ready: Dan Shi <dshi@chromium.org> Tested-by: Dan Shi <dshi@chromium.org> Reviewed-by: Mungyung Ryu <mkryu@google.com>
/external/autotest/site_utils/suite_scheduler/driver_unittest.py
|
abbe09600d73d77af92157027a20661c035be01e |
|
11-Dec-2013 |
J. Richard Barnette <jrbarnette@chromium.org> |
Allow lab status to block based on a build regex. Previously, the lab status could contain a string to block testing based on the board. With this change, the status can block any build that matches a regex in the status. This allows closing the lab to either a build or a milestone. It also allows closing the lab for other more specific conditions, for anyone desperate enough to want to. BUG=chromium:220934 TEST=unit tests Change-Id: I8a44f5e9be504415a7c5bd73c714c778bf684d2c Reviewed-on: https://chromium-review.googlesource.com/179544 Tested-by: Richard Barnette <jrbarnette@chromium.org> Reviewed-by: Alex Miller <milleral@chromium.org> Commit-Queue: Richard Barnette <jrbarnette@chromium.org>
/external/autotest/site_utils/suite_scheduler/driver_unittest.py
|
3cbd76b06c383d8bc3e4ba959659a0bd04180761 |
|
27-Nov-2013 |
J. Richard Barnette <jrbarnette@chromium.org> |
Move certain content from client/ to server/site_utils.py This moves the lab status functions and ParseBuildName(). They were out of place in client/common_lib, as they're only needed/ meaningful in server side code. BUG=None TEST=run driver_unittest.py Change-Id: I756291f27d7b041f0a907dee4004c3b447def929 Reviewed-on: https://chromium-review.googlesource.com/178306 Reviewed-by: Richard Barnette <jrbarnette@chromium.org> Commit-Queue: Richard Barnette <jrbarnette@chromium.org> Tested-by: Richard Barnette <jrbarnette@chromium.org>
/external/autotest/site_utils/suite_scheduler/driver_unittest.py
|
c7bcf8bf70d6e40aa4d37528f75b5a98b0f7a00e |
|
08-Sep-2013 |
Alex Miller <milleral@chromium.org> |
[autotest] Set timeout and priority based on frequency of scheduling. Out-of-band suites now have variable priority and duration based on the event that kicks off the task. Event | Priority | Duration new_build | PostBuild | 12 hours nightly | Daily | One day weekly | Weekly | One week This will mean that out-of-band suites will have lower priority than user-created jobs in the lab (which are made with the Default priority) and much lower than the inline build processes. The ability for a Weekly suite to live for a whole week is to compensate for this drop in priority. I expect that this will fix a lot of the problems we have with overlapping pools. Now if we overlapped pool:bvt with pool:suites, we wouldn't see out-of-band suites starving the BVT out of machines, as BVT would have a higher priority and thus preempt the out-of-band suites. BUG=chromium:221264 DEPLOY=suite_scheduler TEST=unit, force build and saw timeouts and priorities appear correctly Change-Id: I604b7869d7fe16859f09a9effb11cbcb33980e99 Reviewed-on: https://chromium-review.googlesource.com/168569 Reviewed-by: Alex Miller <milleral@chromium.org> Commit-Queue: Alex Miller <milleral@chromium.org> Tested-by: Alex Miller <milleral@chromium.org>
/external/autotest/site_utils/suite_scheduler/driver_unittest.py
|
4e7722b93398734d394aad29377aa849bb2cbcfb |
|
15-Feb-2013 |
Aviv Keshet <akeshet@chromium.org> |
[autotest] Make suite_scheduler respect lab status Scheduler skips handling of events if the lab is down. BUG=chromium-os:38817 TEST=New unit test for expected behavior passes Change-Id: I42256940daa9e6f516a2ce087ef84e6cbd59a751 Reviewed-on: https://gerrit.chromium.org/gerrit/43370 Commit-Queue: Aviv Keshet <akeshet@chromium.org> Tested-by: Aviv Keshet <akeshet@chromium.org> Reviewed-by: Aviv Keshet <akeshet@chromium.org>
/external/autotest/site_utils/suite_scheduler/driver_unittest.py
|
511a9e3a1cfc2c6dd1263c8f6cb667ab12cd7a6f |
|
03-Jul-2012 |
Alex Miller <milleral@chromium.org> |
[autotest] Check pool and board when scheduling a suite. When scheduling a suite, check that a board of a certain type actually exists in a pool before scheduling a test to run on that board. BUG=chromium-os:30641 TEST=unit Change-Id: If2776243e6893a9bdd4f23040effdbcb0a629dab Reviewed-on: https://gerrit.chromium.org/gerrit/26684 Reviewed-by: Chris Masone <cmasone@chromium.org> Commit-Ready: Alex Miller <milleral@chromium.org> Tested-by: Alex Miller <milleral@chromium.org>
/external/autotest/site_utils/suite_scheduler/driver_unittest.py
|
855d86f838faccb4ad112a222412e29c047b7d3e |
|
07-May-2012 |
Chris Masone <cmasone@chromium.org> |
[autotest] Reload scheduler config file every time we loop The suite scheduler uses a config file to tell it what tasks to perform. Until now, that config was read at startup and then never again. Now, the scheduler will re-read this config every time it's about to go through and decide which events to handle, updating task lists and event parameters prior to using them. BUG=chromium-os:30521 TEST=unit TEST=run the scheduler. Change the config file as it's running and observe TEST=that the changes are honored. An easy change is to add a task configured TEST=to run_on an event, and then set that event to always_handle. Change-Id: Idfa9085503f97cd9f099161fd2d4d43ed139c26f Reviewed-on: https://gerrit.chromium.org/gerrit/22070 Tested-by: Chris Masone <cmasone@chromium.org> Reviewed-by: Chris Sosa <sosa@chromium.org> Reviewed-by: Scott Zawalski <scottz@chromium.org> Commit-Ready: Chris Masone <cmasone@chromium.org>
/external/autotest/site_utils/suite_scheduler/driver_unittest.py
|
bbde3866b4d3bdde17cfd77579694f892613fcb0 |
|
07-May-2012 |
Chris Masone <cmasone@chromium.org> |
[autotest] SuiteScheduler should update events after handling ALL boards The event classes have a method called UpdateCriteria() that is meant to update internal state used by ShouldHandle(). Calling this inside Handle() means that it gets called once for every board we have. For some events this leads to incorrect decisions. Call this manually after the Driver is done calling Handle() for each board it knows about. BUG=chromium-os:30642 TEST=unit TEST=run scheduler against an autotest server that knows about multiple TEST=boards. watch logs to ensure that it runs events for every board, TEST=and only then updates criteria. Change-Id: I2b3755051fab5a815e506e97f7ce76a4e7285ef6 Reviewed-on: https://gerrit.chromium.org/gerrit/22047 Tested-by: Chris Masone <cmasone@chromium.org> Reviewed-by: Scott Zawalski <scottz@chromium.org> Commit-Ready: Chris Masone <cmasone@chromium.org>
/external/autotest/site_utils/suite_scheduler/driver_unittest.py
|
cbe42778096ced79d78192d2c553dad74b87f362 |
|
01-May-2012 |
Chris Masone <cmasone@chromium.org> |
[autotest] Fix suite_scheduler.py force-scheduling When I made Task.Run() expect a map of branch=>[list, of, builds] I didn't update the code pathway that allows the user to force-run suites on a given build. BUG=None TEST=./suite_scheduler.py -f suite_scheduler_always.ini -i x86-mario-release/R20-2223.0.0 -e nightly --log_dir . Change-Id: I35fd9c131b30aa9d0a765d032c551549892ae6d7 Reviewed-on: https://gerrit.chromium.org/gerrit/21512 Tested-by: Chris Masone <cmasone@chromium.org> Reviewed-by: Scott Zawalski <scottz@chromium.org> Commit-Ready: Chris Masone <cmasone@chromium.org>
/external/autotest/site_utils/suite_scheduler/driver_unittest.py
|
73a7838db228a1b4a6141b5ba9efa4d1d1cf6251 |
|
20-Apr-2012 |
Chris Masone <cmasone@chromium.org> |
[autotest] Implement BuildEvent.ShouldHandle() for real BuildEvent.ShouldHandle() should check with ManifestVersions to determine if a new build has appeared since last time we checked for new builds (i.e. the previous call to ShouldHandle()). BUG=chromium-os:27586 TEST=unit Change-Id: I3a69ee7c8e8e7be81e818e5105a8aaf2052c7dd4 Reviewed-on: https://gerrit.chromium.org/gerrit/20740 Tested-by: Chris Masone <cmasone@chromium.org> Reviewed-by: Chris Sosa <sosa@chromium.org> Commit-Ready: Chris Masone <cmasone@chromium.org>
/external/autotest/site_utils/suite_scheduler/driver_unittest.py
|
d17d185d7abd68584f3756a89a7475a5b6109f34 |
|
20-Apr-2012 |
Chris Masone <cmasone@chromium.org> |
[autotest] Pass ManifestVersions instance to Event constructors, not methods. BuildEvent subclasses need a ManifestVersions right away, so pass an instance of this class to the *Event constructors, then use it throughout all methods of the classes. BUG=chromium-os:27586 TEST=unit TEST=./suite_scheduler.py -f suite_scheduler_test.ini Change-Id: Ic0278765e01995deb770523c187a6a4c9a0dd2f0 Reviewed-on: https://gerrit.chromium.org/gerrit/20727 Commit-Ready: Chris Masone <cmasone@chromium.org> Reviewed-by: Chris Masone <cmasone@chromium.org> Tested-by: Chris Masone <cmasone@chromium.org>
/external/autotest/site_utils/suite_scheduler/driver_unittest.py
|
93f51d4da152538007d5b44a2dc9d2bbb1fe3429 |
|
18-Apr-2012 |
Chris Masone <cmasone@chromium.org> |
[autotest] Add BuildEvent and derived NewBuild event class The NewBuild event will allow us to Run() tasks whenever a new build appears for a supported board. BUG=chromium-os:27586 TEST=unit Change-Id: I3432ecde38397fde6e0d7d675bf302a796c117f5 Reviewed-on: https://gerrit.chromium.org/gerrit/20524 Tested-by: Chris Masone <cmasone@chromium.org> Reviewed-by: Chris Sosa <sosa@chromium.org> Commit-Ready: Chris Masone <cmasone@chromium.org>
/external/autotest/site_utils/suite_scheduler/driver_unittest.py
|
67f06d6003bb11f03f925810272f595d79dce44a |
|
13-Apr-2012 |
Chris Masone <cmasone@chromium.org> |
[autotest] Enable forcing an event to fire and schedule suites We need to ability to make the scheduler force an event, so we can backfill test results, if need be. This is also handy for testing stuff. Also, fix a bug in comparing build branch names to branch specifications encoded in Tasks. Before, every Task would run on every release branch, even if the Task said it should only run on factory and/or firmware. BUG=chromium-os:27586 TEST=unit TEST=./suite_scheduler.py -f suite_scheduler_test.ini -e nightly -i x86-mario-release/R20-2130.0.0-a1-b1905 Change-Id: I58217c358d8b85faf49a940d01bca184dc8590e0 Reviewed-on: https://gerrit.chromium.org/gerrit/20124 Commit-Ready: Chris Masone <cmasone@chromium.org> Reviewed-by: Chris Masone <cmasone@chromium.org> Tested-by: Chris Masone <cmasone@chromium.org>
/external/autotest/site_utils/suite_scheduler/driver_unittest.py
|
fe5a509f533e7de2531a0d0838146859b543569c |
|
12-Apr-2012 |
Chris Masone <cmasone@chromium.org> |
[autotest] Wire branch/build fetching up to Driver Add code to Driver to set up a ManifestVersions and use it to find builds to pass into Event.Handle(). BUG=chromium-os:27586 TEST=unit Change-Id: Id152be28db63dd91a1a1d75dc406c0497d7fb7a9 Reviewed-on: https://gerrit.chromium.org/gerrit/20038 Commit-Ready: Chris Masone <cmasone@chromium.org> Reviewed-by: Chris Masone <cmasone@chromium.org> Tested-by: Chris Masone <cmasone@chromium.org>
/external/autotest/site_utils/suite_scheduler/driver_unittest.py
|
96f1663ecc7d8821e804b0256fc68be0756ba66e |
|
05-Apr-2012 |
Chris Masone <cmasone@chromium.org> |
[autotest] Enable creation of Task objects from a config file. Now that we've started to hash out what we're going to allow in terms of specifying branches for a given task in the suite scheduler's config file, we can start creating code to vet the config stanzas and create Task objects. Also, now that we understand more about how we'll discover builds and run tasks in a branch-aware fashion, the Event and Task APIs need to change a bit. BUG=chromium-os:27586 TEST=unit Change-Id: I19cb9bc8727e53da7a4f16faf630c697f374f28f Reviewed-on: https://gerrit.chromium.org/gerrit/19628 Reviewed-by: Scott Zawalski <scottz@chromium.org> Reviewed-by: Chris Sosa <sosa@chromium.org> Commit-Ready: Chris Masone <cmasone@chromium.org> Tested-by: Chris Masone <cmasone@chromium.org>
/external/autotest/site_utils/suite_scheduler/driver_unittest.py
|
3fba86fc2184ddee87e7422370671abb18bd0792 |
|
03-Apr-2012 |
Chris Masone <cmasone@chromium.org> |
[autotest] Use 'board', not 'platform'; Make code handle all supported boards. Correcting the nomenclature. Also, Tasks should not be tied to a single board, but rather be Run() for multiple boards. BUG=chromium-os:27586 TEST=unit Change-Id: I7ab871deea47b89edd8d2b2dd7f432cc067dccb0 Reviewed-on: https://gerrit.chromium.org/gerrit/19522 Tested-by: Chris Masone <cmasone@chromium.org> Reviewed-by: Chris Sosa <sosa@chromium.org> Reviewed-by: Scott Zawalski <scottz@chromium.org> Commit-Ready: Chris Masone <cmasone@chromium.org>
/external/autotest/site_utils/suite_scheduler/driver_unittest.py
|
92874d3993da8a12289df53ca5be3706ba40a574 |
|
03-Apr-2012 |
Chris Masone <cmasone@chromium.org> |
[autotest] Simply rename platform_enumerator files to board_enumerator And then fix imports. BUG=chromium-os:27586 TEST=unit Change-Id: I689873583e1e811d1a11ab548a9db20bd44c297f Reviewed-on: https://gerrit.chromium.org/gerrit/19525 Tested-by: Chris Masone <cmasone@chromium.org> Reviewed-by: Scott Zawalski <scottz@chromium.org> Commit-Ready: Chris Masone <cmasone@chromium.org>
/external/autotest/site_utils/suite_scheduler/driver_unittest.py
|
2d61ca263d3e571b19604ea4c9d7b55d83c28405 |
|
03-Apr-2012 |
Chris Masone <cmasone@chromium.org> |
[autotest] Begin adding looping logic to new suite scheduler driver.Driver will hold the main loop logic for the scheduler. As the code in event.py started to get too big, I broke it into base_event.py and timed_event.py. Also, add ForgivingConfigParser, which just wraps SafeConfigParser to return None on get*() calls. BUG=chromium-os:27586 TEST=unit tests Change-Id: I6e69830f176f533a9d448ac4372da68c8c70a14b Reviewed-on: https://gerrit.chromium.org/gerrit/19488 Tested-by: Chris Masone <cmasone@chromium.org> Reviewed-by: Scott Zawalski <scottz@chromium.org> Commit-Ready: Chris Masone <cmasone@chromium.org>
/external/autotest/site_utils/suite_scheduler/driver_unittest.py
|