29a1699233e8ab15056d3d820dbad76728c8e4a6 |
|
22-Sep-2015 |
Dan Shi <dshi@chromium.org> |
[autotest] Enable job_retry in suite_scheduler With this change, one can add "job_retry: True" in suite_scheduler.ini to enable job retry. file_bugs should also be set to True for job retry to work. BUG=chromium:534742 TEST=unittest DEPOLY=suite_scheduler Change-Id: I0b4fa5d2c797abef23ce668e09bc1a16891ef03e Reviewed-on: https://chromium-review.googlesource.com/301387 Commit-Ready: Dan Shi <dshi@chromium.org> Tested-by: Dan Shi <dshi@chromium.org> Reviewed-by: Fang Deng <fdeng@chromium.org> Reviewed-by: Mungyung Ryu <mkryu@google.com>
/external/autotest/site_utils/suite_scheduler/deduping_scheduler.py
|
a25e0d48f2c15b7c4d430b671aaee9cb56c8fb1e |
|
24-Jul-2015 |
Dan Shi <dshi@chromium.org> |
[autotest] Support scheduling suite jobs need firmware update in suite_scheduler. Sample entry in suite_scheduler.ini will be like: This should create faft_ec suite when new build created on firmware branch, tot CrOS build is used. Test is from ChromeOS branch. Test command: /usr/local/autotest/site_utils/suite_scheduler/suite_scheduler.py -b \ -d /usr/local/autotest/logs -f /usr/local/autotest/test_suite_scheduler.ini \ -r /tmp/_autotmp_0Wmh0i_suite_scheduler --e new_build \ -i veyron_jerry-firmware/R41-6588.106.0 [faft] run_on: new_build suite: faft_ec branch_specs: firmware cros_build_spec: tot test_source: cros boards: veyron_jerry pool: faft_test This should create faft_ec suite when new build created on R44 branch, tot firmware build on firmware branch is used. Test is from firmware branch. Test command: /usr/local/autotest/site_utils/suite_scheduler/suite_scheduler.py -b \ -d /usr/local/autotest/logs -f /usr/local/autotest/test_suite_scheduler.ini \ -r /tmp/_autotmp_0Wmh0i_suite_scheduler --e new_build \ -i veyron_jerry-release/R44-7077.90.0 [faft2] run_on: new_build suite: faft_ec branch_specs: ==tot-2 firmware_rw_build_spec: firmware test_source: firmware boards: veyron_jerry pool: faft_test BUG=chromium:513409 TEST=local run suite_scheduler command as mentioned in commit message. Change-Id: I8976c5af6ff771cd0ca409e55ffbbe1634c4cf4d Reviewed-on: https://chromium-review.googlesource.com/288900 Trybot-Ready: Dan Shi <dshi@chromium.org> Tested-by: Dan Shi <dshi@chromium.org> Reviewed-by: Wai-Hong Tam <waihong@chromium.org> Reviewed-by: Simran Basi <sbasi@chromium.org> Reviewed-by: Fang Deng <fdeng@chromium.org> Commit-Queue: Dan Shi <dshi@chromium.org>
/external/autotest/site_utils/suite_scheduler/deduping_scheduler.py
|
d8f940e43413b52c7ba508423b939295ef74ce34 |
|
30-Apr-2015 |
Fang Deng <fdeng@chromium.org> |
[autotest] Consolidate Suite scheduler bug. Suite scheduler bug now contains clearer and more helpful information about what is the problem and how to fix. For each <build, suite, type of control file error>, only one bug will be filed. Example: https://code.google.com/p/autotest-bug-filing-test/issues/detail?id=2271 TEST=Unittest;File a SuiteSchedulerBug. >> import common >> from autotest_lib.client.common_lib import error >> e = error.ControlFileNotFound('A mesage') >> from autotest_lib.server.cros.dynamic_suite import reporting >> b = reporting.SuiteSchedulerBug('bvt', 'R43-6332.0.0', 'x86-alex', e) >> reporting.Reporter().report(b, ignore_duplicate=True) BUG=chromium:406434 DEPLOY=suite schedueler; Change-Id: I6e89c24b49541fed89906974ff44b319d7faf459 Reviewed-on: https://chromium-review.googlesource.com/268636 Tested-by: Fang Deng <fdeng@chromium.org> Reviewed-by: Dan Shi <dshi@chromium.org> Commit-Queue: Fang Deng <fdeng@chromium.org>
/external/autotest/site_utils/suite_scheduler/deduping_scheduler.py
|
a5d645670d2766765ce73f39b5ab9e7f46886c4d |
|
27-Aug-2014 |
Alex Miller <milleral@chromium.org> |
[autotest] suite_scheduler: Don't die on a TimeoutException. If we happen to not be able to contact the AFE, just conservatively assume that we shouldn't run that request. This way, if we happen to time out while scheduling nightly suites, we don't just crash and give up on scheduling all of them. BUG=chromium:407701 DEPLOY=suite_scheduler TEST=unit Change-Id: I29884be237cc8697f614352295e5b7891e64de7f Reviewed-on: https://chromium-review.googlesource.com/214322 Tested-by: Alex Miller <milleral@chromium.org> Reviewed-by: Dan Shi <dshi@chromium.org> Commit-Queue: Alex Miller <milleral@chromium.org>
/external/autotest/site_utils/suite_scheduler/deduping_scheduler.py
|
b6ec8ae8b13902110f664cf51e3a1d9b43c9f8f3 |
|
23-Apr-2014 |
Simran Basi <sbasi@chromium.org> |
[autotest]: Run suites from AFE. * Updated the AFE to allow for suite runs. When an image is provided the create_job RPC will redirect to the create_suite_job RPC instead. * Updated create_suite_job to allow for a control_file to be supplied. create_suite_job will use this control file rather than what the devserver stages when it creates the suite job. * Removed the parameterized job code from create_job as it is not used and broken. * The create_job page now includes a 'Pool' text box to specify for these jobs. BUG=chromium:358579 TEST=Able to launch suite jobs from run_suite and AFE. And regular tests kicked off via the AFE still work as well. rpc_interface and site_rpc_interface unittests, suite_scheduler unittests. DEPLOY=apache,afe,suite_scheduler Change-Id: I53312419c32740e78fc07598babeb497c162ba81 Reviewed-on: https://chromium-review.googlesource.com/194349 Reviewed-by: Simran Basi <sbasi@chromium.org> Commit-Queue: Simran Basi <sbasi@chromium.org> Tested-by: Simran Basi <sbasi@chromium.org>
/external/autotest/site_utils/suite_scheduler/deduping_scheduler.py
|
6de2bdedc42b9c6226730ad9ba3e64a8a0bd104d |
|
26-Mar-2014 |
Prashanth B <beeps@google.com> |
[autotest] Pipe file bugs through suite_scheduler. With the introduction of no-wait we lost the ability to file bugs on suite_scheduler tests. This cl fixes it by piping file_bugs from the ini file through the create_suite_job request, and setting no-wait appropriately. This cl also turns on bug filing for kernel_daily_benchmark. TEST=Ran unittests, added unittest, ran a suite through a simulated event and filed bugs. BUG=chromium:326606, chromium:356444 Change-Id: Iaab008ef1b8c5964fa34c2e95551d29258b508db Reviewed-on: https://chromium-review.googlesource.com/191633 Reviewed-by: Prashanth B <beeps@chromium.org> Tested-by: Prashanth B <beeps@chromium.org> Commit-Queue: Prashanth B <beeps@chromium.org>
/external/autotest/site_utils/suite_scheduler/deduping_scheduler.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/deduping_scheduler.py
|
334f08229806e279c7107b86ab1847625577e0ea |
|
03-Dec-2013 |
Dan Shi <dshi@chromium.org> |
[autotest] Change suite job to not waiting for results in suite scheduler. This CL changes the default behavior of suite job to not waiting for each test job's result. This helps to reduce the number of hostless job in drone. BUG=chromium:316990 TEST=unittest DEPLOY=suite_scheduler Change-Id: I61f7eba1e1b2fb761e9077ecdbdf74ed04cd0424 Reviewed-on: https://chromium-review.googlesource.com/178669 Commit-Queue: Dan Shi <dshi@chromium.org> Tested-by: Dan Shi <dshi@chromium.org> Reviewed-by: Alex Miller <milleral@chromium.org>
/external/autotest/site_utils/suite_scheduler/deduping_scheduler.py
|
fe023260259bf7e80bd8a1a3c66eab2fff4e234e |
|
29-Sep-2013 |
beeps <beeps@chromium.org> |
[autotest] Deduping scheduler cannot file bugs with owner=sheriff. Sometimes the sheriff isn't available because the waterfall is managed by the channel. The bug filer is unforgiving when we try to assign the bug to an invalid id (eg:foo@chromium.org), but will silently move on if we try to cc an invalid id. This cl cc's the sheriff to deduping_scheduler bugs, and adds the Hardware-lab label so these bugs don't go unnoticed when the waterfall is managed by the channel. It also fixes the error message in the bug filer to surface bad owner failures. TEST=Filed bugs with an invalid sheriff as cc. BUG=chromium:301140 Change-Id: I6a588cd0601cb9d4e62d0bcf38d336766341bddf Reviewed-on: https://chromium-review.googlesource.com/171008 Reviewed-by: Prashanth B <beeps@chromium.org> Commit-Queue: Prashanth B <beeps@chromium.org> Tested-by: Prashanth B <beeps@chromium.org>
/external/autotest/site_utils/suite_scheduler/deduping_scheduler.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/deduping_scheduler.py
|
7d658cf6bade565c1098fd7b47075e96e7b542ca |
|
05-Sep-2013 |
Alex Miller <milleral@chromium.org> |
[autotest] Thread priority from create_suite_job through to create_job. This schedules a suite job itself at the same priority level of its tests, and also injects the priority value into the suite control files. The change to thread priority through from dynamic_suite into create_job needs to happen concurrently, because the type of `priority` is changing from a string to an int. This also means everything that passes in a priority gets fixed up in this CL. suite_scheduler has also been tweaked to schedule all tests at the PostBuild priority (for now...). This also does all of the work to get priority to show up by name instead of by integral value. In the create_job pane, we disallow anyone to schedule a job at a priority that would preempt major build processes (anything coming from a waterfall). However, all old jobs are shown at the integral value, because showing two seperate priority scales at the same time would be incredibly confusing. (Especially since URGENT would be incredibly low priority) BUG=chromium:250583 DEPLOY=afe, apache, suite_scheduler TEST=unit, run_suite with a priority level Change-Id: I9ecf5ceed5c58bd8ee0815c6d15f4aba300082fe Reviewed-on: https://chromium-review.googlesource.com/168143 Reviewed-by: Alex Miller <milleral@chromium.org> Tested-by: Alex Miller <milleral@chromium.org> Commit-Queue: Alex Miller <milleral@chromium.org>
/external/autotest/site_utils/suite_scheduler/deduping_scheduler.py
|
a776c8bae51a0b5472602bf66ebd903dc779a6ab |
|
27-Aug-2013 |
Keyar Hood <keyar@chromium.org> |
[autotest] Create generic bug filer function. This makes it easier to file simple generic bugs. The user doesn't need to create the Bug, create the Reporter and then call report(). BUG=None TEST=Unittests. Manual test for passing_experimental.py. Change-Id: I6d27cfa6a72b8dd4d22d8301b1c3105b90363a5a Reviewed-on: https://chromium-review.googlesource.com/67009 Reviewed-by: Prashanth Balasubramanian <beeps@chromium.org> Tested-by: Keyar Hood <keyar@chromium.org> Commit-Queue: Prashanth Balasubramanian <beeps@chromium.org>
/external/autotest/site_utils/suite_scheduler/deduping_scheduler.py
|
8c350449210e6235d5922c61fce347f5a160e81f |
|
09-Aug-2013 |
Keyar Hood <keyar@chromium.org> |
[autotest]: Refactor bug filing. This creates a new Bug class that TestFailure now derives from. This allows us to file bugs for issues that are not test failures. BUG=chromium:254256 TEST=Unit tests and ran the dummy suite and saw that the tests were deduped. Change-Id: I104489e9627a64506fc9c206392f1297fa538c44 Reviewed-on: https://gerrit.chromium.org/gerrit/65898 Reviewed-by: Prashanth Balasubramanian <beeps@chromium.org> Reviewed-by: Keyar Hood <keyar@chromium.org> Tested-by: Keyar Hood <keyar@chromium.org> Commit-Queue: Keyar Hood <keyar@chromium.org>
/external/autotest/site_utils/suite_scheduler/deduping_scheduler.py
|
8f84d13b337b4a5a15c3de912e1843a3b14169b5 |
|
11-Aug-2013 |
beeps <beeps@chromium.org> |
[autotest] Remove Milestone from automatic bugs. This cl also does: 1. Cleanup: removed the old tracker completely, since we've been using phapi for ~ a month and things are fine. 2. Fixes unittest: New unittest only verify basic control flow for filing a new issue/deduping an issuei, since the core bug filer is dependent on several external modules and a functional test on a fake project is far more effective than unittests. TEST=Ran a suite and filed/deduped bugs. BUG=chromium:267560, chromium:271070 Change-Id: I5e238d647608c8321f4308eede309d58b94ab3a3 Reviewed-on: https://gerrit.chromium.org/gerrit/65551 Tested-by: Prashanth Balasubramanian <beeps@chromium.org> Reviewed-by: Fang Deng <fdeng@chromium.org> Commit-Queue: Prashanth Balasubramanian <beeps@chromium.org>
/external/autotest/site_utils/suite_scheduler/deduping_scheduler.py
|
3197b39f82eb92afff33c7d44b805afe120c7627 |
|
26-Jun-2013 |
Fang Deng <fdeng@chromium.org> |
[autotest] Suite scheduler files bugs for exceptions raised in create_suite_job This CL is to make suite scheduler file bugs using our bug filer for several types of exceptions raised by create_suite_job. The exceptions are: - ControlFileNotFound - NoControlFileList - ControlFileEmpty - ControlFileMalformed To enable bug filing, use '-b' option of suite_scheduler.py Bug will be assgined to Lab sheriff. This CL changes the private method _create_bug_report to public in server/cros/dynamic_suite/reporting.py, so that we can file a general bug that is not a test failure. After crbug.com/254256 is fixed, the bug filing logic in deduping_scheduler.py should be modified. This CL also moves ParseBuildName() from base_event.py to site_utils, to avoid import loop. Callers of this methods are updated. BUG=chromium:242569 TEST=deduping_scheduler_unittest.py;driver_unittest.py;base_event_unittest.py; ran on chromeos-lab1.hot and confirm bug are properly filed. DEPLOY=suite_scheduler Change-Id: Ia57a2e625b7b39dcfe51892c208613c927f3a54e Reviewed-on: https://gerrit.chromium.org/gerrit/60158 Commit-Queue: Fang Deng <fdeng@chromium.org> Reviewed-by: Fang Deng <fdeng@chromium.org> Tested-by: Fang Deng <fdeng@chromium.org>
/external/autotest/site_utils/suite_scheduler/deduping_scheduler.py
|
d83ef449fc80c663ce90a3a07aa15d6c25ee08a1 |
|
17-Jan-2013 |
Aviv Keshet <akeshet@chromium.org> |
[autotest] Only integer or None as num argument in create_suite_job Cleanup to reduce confusion and type casting back and forth between int and string. BUG=chromium-os:37936 TEST=unit test that non-integer or None num arguments throw appropriate exception; unit test that integer arguments get passed along correctly; ran a suite locally to ensure rpc call still working Change-Id: Id8b8e0dd5a08db2ebec67cdba13b2b1d8eb0b149 Reviewed-on: https://gerrit.chromium.org/gerrit/41791 Reviewed-by: Aviv Keshet <akeshet@chromium.org> Tested-by: Aviv Keshet <akeshet@chromium.org> Commit-Queue: David James <davidjames@chromium.org>
/external/autotest/site_utils/suite_scheduler/deduping_scheduler.py
|
b493555db2d43e79d96e793cae9d1ffb822dd6c1 |
|
14-Aug-2012 |
Chris Masone <cmasone@chromium.org> |
[autotest] Move dynamic suite code into its own module No big rewrite, just moving files around BUG=chromium-os:30266 TEST=unit TEST=successful run_suite.py run TEST=suite_enumerator.py, suite_preprocessor.py, and suite_scheduler.py Change-Id: I2fbcae0332104ce3adcb10a1e90ce94cb209aca8 Reviewed-on: https://gerrit.chromium.org/gerrit/30267 Reviewed-by: Scott Zawalski <scottz@chromium.org> Commit-Ready: Chris Masone <cmasone@chromium.org> Tested-by: Chris Masone <cmasone@chromium.org>
/external/autotest/site_utils/suite_scheduler/deduping_scheduler.py
|
3eeaf0a16652998b31c425bc5007fdc9fed60e38 |
|
09-Aug-2012 |
Chris Masone <cmasone@chromium.org> |
[autotest] suite_scheduler.py should accept, honor 'num' in Task definitions The suite scheduler needs to allow a sharding factor (num) to be specified in Task stanzas, and pass it through to create_suite_job() if specified. BUG=chromium-os:33194 TEST=unit TEST=create a suite_scheduler config that provides a 'num' field for TEST=at least one task. While running, watch the RPC log of the AFE TEST=to ensure that your desired num is getting passed, but that TEST=None is getting passed for other Tasks. STATUS=Fixed Change-Id: I049d76a835900df0c58502f40334a5b4c6c93401 Reviewed-on: https://gerrit.chromium.org/gerrit/29810 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/deduping_scheduler.py
|
cd214e0d2fe515b3cc7faacc44e4e539142670ea |
|
11-Jul-2012 |
Chris Masone <cmasone@chromium.org> |
[autotest] DedupingScheduler.GetHosts() should return results We missed a return statement in GetHosts(), meaning it would always return None. Whoops. BUG=chromium-os:32459 TEST=unit TEST=use suite_scheduler to force a new_build event on an R22 build. it should schedule suites. STATUS=Fixed Change-Id: I8792c17a3a99d43d78dd6ffbb8b7307a210fdc8b Reviewed-on: https://gerrit.chromium.org/gerrit/27093 Tested-by: Chris Masone <cmasone@chromium.org> Reviewed-by: Scott Zawalski <scottz@chromium.org> Commit-Ready: Chris Masone <cmasone@chromium.org> Reviewed-by: Alex Miller <milleral@chromium.org>
/external/autotest/site_utils/suite_scheduler/deduping_scheduler.py
|
c15c6b4f2be888ff8631d43571d697ccf287efd1 |
|
09-Jul-2012 |
Scott Zawalski <scottz@google.com> |
Fix a few issues with some recent changes to suite_scheduler. EnumeratorException was not fully referenced causing crashes. In deduping_scheduler a function definition was missing self. Start printing tracebacks in the error messages logged in emailed to make it easier to track down issues like the above. TEST=Unittests BUG=None Change-Id: Ieee88f9a18debedb1dafdd92fd811d271e4f3816 Reviewed-on: https://gerrit.chromium.org/gerrit/26943 Reviewed-by: Chris Masone <cmasone@chromium.org> Commit-Ready: Scott Zawalski <scottz@chromium.org> Reviewed-by: Scott Zawalski <scottz@chromium.org> Tested-by: Scott Zawalski <scottz@chromium.org>
/external/autotest/site_utils/suite_scheduler/deduping_scheduler.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/deduping_scheduler.py
|
6d388bce820b54792aa51e7294ac8c3c50bec036 |
|
14-May-2012 |
Chris Masone <cmasone@chromium.org> |
[autotest] Tighten up suite_scheduler's job deduping logic The deduping logic in suite scheduler used to simply check for a job name that began with the build name (e.g. x86-mario/R20-2226.0.0) and ended with the suite name (e.g. 'bvt'). Since we have suites named both 'regression' and 'kernel.daily.regression', that's not good enough. This Cl updates the logic to look for job names that end with 'control.<suite_name>' BUG=chromium-os:30848 TEST=make a config that runs two suites whose names would conflict and test against a local autotest instance Change-Id: I5061dca1f0bcd96107771a6a565a788e8caa9e4e Reviewed-on: https://gerrit.chromium.org/gerrit/22579 Tested-by: Chris Masone <cmasone@chromium.org> Commit-Ready: Chris Masone <cmasone@chromium.org> Reviewed-by: Chris Masone <cmasone@chromium.org>
/external/autotest/site_utils/suite_scheduler/deduping_scheduler.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/deduping_scheduler.py
|
fad911ada4f6126280765f15204eaf8b3b4bc437 |
|
29-Mar-2012 |
Chris Masone <cmasone@chromium.org> |
[autotest] Add TriggerableJob and TimedTrigger to scheduler The new scheduler will parse its config file and create a number of TriggerableJob instances, which will be hung off of the appropriate Trigger object. So, if your job kicks off 'nightly', the scheduler will attach the TriggerableJob for your job to the Nightly object. Then, every time the scheduler wakes up, it asks each Trigger if it should be Fire()d. If so, the scheduler will Fire() the Trigger, which will Trigger() every TriggerableJob. Note also that, if a given Trigger() call returns false, the Trigger will throw away the associated TriggerableJob. This allows for one-shot Triggers. BUG=chromium-os:27586 TEST=unit tests Change-Id: Ibc892fd9afcd7a99594397000c6061224282b19f Reviewed-on: https://gerrit.chromium.org/gerrit/19311 Tested-by: Chris Masone <cmasone@chromium.org> Reviewed-by: Scott Zawalski <scottz@chromium.org> Reviewed-by: Chris Sosa <sosa@chromium.org> Commit-Ready: Chris Masone <cmasone@chromium.org>
/external/autotest/site_utils/suite_scheduler/deduping_scheduler.py
|
fbdd0706636487d3c88cca67bac4cd82a81bd079 |
|
28-Mar-2012 |
Chris Masone <cmasone@chromium.org> |
[autotest] Add de-duping suite scheduling logic for new scheduler In the new scheduler, we'll rely on naming conventions to detect duplicate jobs. The DedupingScheduler class will schedule a job for a suite, given the name, board and build to test -- unless it finds an existing job. For example, the existence of a job called: x86-mario-release/R18-1647.0.0-a1-b1567-test_suites/control.bvt would prevent us from scheduling a 'bvt' suite for build 'x86-mario-release/R18-1647.0.0-a1-b1567' on board 'x86-mario'. BUG=chromium-os:27586 TEST=new unit tests Change-Id: Ida87804dd34600410fef33200881d30f939d9fd0 Reviewed-on: https://gerrit.chromium.org/gerrit/19188 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/deduping_scheduler.py
|