From https://docs.google.com/spreadsheets/d/1YDUTCI14tTUD0cNp8Ua9XLVefoeopg9nAPPthd799Pw/edit#gid=0 and https://docs.google.com/document/d/1EKrUevrK7-gp7Jo_I5ND3BAJI2uBIH9TUS3igbknEYA/edit# First pass is to accomplish this by declaring builders marked as experimental through the tree status. The original proposal discussed "push-button functionality" to temporarily disable builders. An improved user interface over directly setting the tree status will be tracked in a follow up task.
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/chromite/+/d7c22c196107af3cbb336d7b6ad9093f2b3988f6 commit d7c22c196107af3cbb336d7b6ad9093f2b3988f6 Author: Drew Davenport <ddavenport@chromium.org> Date: Wed Jun 14 08:19:30 2017 chromite: Move tree_status.py to chromite/lib BUG= chromium:729200 TEST=FEATURES=test emerge chromite Change-Id: I51c3ca2b8bc73017694296e88779e69e5111abdf Reviewed-on: https://chromium-review.googlesource.com/528018 Commit-Ready: Drew Davenport <ddavenport@chromium.org> Tested-by: Drew Davenport <ddavenport@chromium.org> Reviewed-by: Drew Davenport <ddavenport@chromium.org> [modify] https://crrev.com/d7c22c196107af3cbb336d7b6ad9093f2b3988f6/scripts/cbuildbot.py [modify] https://crrev.com/d7c22c196107af3cbb336d7b6ad9093f2b3988f6/cbuildbot/validation_pool.py [modify] https://crrev.com/d7c22c196107af3cbb336d7b6ad9093f2b3988f6/cbuildbot/commands.py [modify] https://crrev.com/d7c22c196107af3cbb336d7b6ad9093f2b3988f6/cbuildbot/validation_pool_unittest.py [modify] https://crrev.com/d7c22c196107af3cbb336d7b6ad9093f2b3988f6/cbuildbot/stages/completion_stages.py [modify] https://crrev.com/d7c22c196107af3cbb336d7b6ad9093f2b3988f6/cbuildbot/stages/sync_stages.py [modify] https://crrev.com/d7c22c196107af3cbb336d7b6ad9093f2b3988f6/cbuildbot/stages/completion_stages_unittest.py [rename] https://crrev.com/d7c22c196107af3cbb336d7b6ad9093f2b3988f6/lib/tree_status.py [rename] https://crrev.com/d7c22c196107af3cbb336d7b6ad9093f2b3988f6/lib/tree_status_unittest.py [modify] https://crrev.com/d7c22c196107af3cbb336d7b6ad9093f2b3988f6/cbuildbot/stages/sync_stages_unittest.py [modify] https://crrev.com/d7c22c196107af3cbb336d7b6ad9093f2b3988f6/scripts/cros_best_revision_unittest.py [modify] https://crrev.com/d7c22c196107af3cbb336d7b6ad9093f2b3988f6/cbuildbot/cbuildbot_run.py [modify] https://crrev.com/d7c22c196107af3cbb336d7b6ad9093f2b3988f6/scripts/cros_best_revision.py [modify] https://crrev.com/d7c22c196107af3cbb336d7b6ad9093f2b3988f6/scripts/som_alerts_dispatcher.py [modify] https://crrev.com/d7c22c196107af3cbb336d7b6ad9093f2b3988f6/lib/builder_status_lib.py [rename] https://crrev.com/d7c22c196107af3cbb336d7b6ad9093f2b3988f6/lib/tree_status_unittest [modify] https://crrev.com/d7c22c196107af3cbb336d7b6ad9093f2b3988f6/cbuildbot/stages/report_stages.py
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/chromite/+/f893fc978489a9c807e52fe5a640ce09f3d11058 commit f893fc978489a9c807e52fe5a640ce09f3d11058 Author: Drew Davenport <ddavenport@chromium.org> Date: Thu Jul 06 04:54:48 2017 chromite: Filter out ignored builders - Initialize the list of ignored builders before creating ValidationPool. - Update the list of ignored builders when polling the slave status. - Cache the list of ignored builders in the run's metadata - Filter out ignored slaves in SlaveStatus.ShouldWait, when querying the list of slave configs in generic_stages module, and getting slave information from buildbucket. - Do not upload prebuilts for ignored slaves BUG= chromium:729200 TEST=FEATURES=test emerge chromite Change-Id: I9155c16e43e977352dc85a39f72f7015810077a9 Reviewed-on: https://chromium-review.googlesource.com/528214 Commit-Ready: Drew Davenport <ddavenport@chromium.org> Tested-by: Drew Davenport <ddavenport@chromium.org> Reviewed-by: Ningning Xia <nxia@chromium.org> [modify] https://crrev.com/f893fc978489a9c807e52fe5a640ce09f3d11058/cbuildbot/validation_pool.py [modify] https://crrev.com/f893fc978489a9c807e52fe5a640ce09f3d11058/lib/buildbucket_lib.py [modify] https://crrev.com/f893fc978489a9c807e52fe5a640ce09f3d11058/cbuildbot/manifest_version_unittest.py [modify] https://crrev.com/f893fc978489a9c807e52fe5a640ce09f3d11058/cbuildbot/prebuilts.py [modify] https://crrev.com/f893fc978489a9c807e52fe5a640ce09f3d11058/cbuildbot/stages/generic_stages.py [modify] https://crrev.com/f893fc978489a9c807e52fe5a640ce09f3d11058/cbuildbot/manifest_version.py [modify] https://crrev.com/f893fc978489a9c807e52fe5a640ce09f3d11058/lib/tree_status.py [modify] https://crrev.com/f893fc978489a9c807e52fe5a640ce09f3d11058/lib/buildbucket_lib_unittest.py [modify] https://crrev.com/f893fc978489a9c807e52fe5a640ce09f3d11058/cbuildbot/build_status_unittest.py [modify] https://crrev.com/f893fc978489a9c807e52fe5a640ce09f3d11058/cbuildbot/prebuilts_unittest.py [modify] https://crrev.com/f893fc978489a9c807e52fe5a640ce09f3d11058/lib/tree_status_unittest.py [modify] https://crrev.com/f893fc978489a9c807e52fe5a640ce09f3d11058/cbuildbot/build_status.py [modify] https://crrev.com/f893fc978489a9c807e52fe5a640ce09f3d11058/cbuildbot/stages/generic_stages_unittest.py [modify] https://crrev.com/f893fc978489a9c807e52fe5a640ce09f3d11058/lib/constants.py [modify] https://crrev.com/f893fc978489a9c807e52fe5a640ce09f3d11058/cbuildbot/validation_pool_unittest.py
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/chromite/+/56f7c6781fae67bc48ca2f7a4e4379f617b417f4 commit 56f7c6781fae67bc48ca2f7a4e4379f617b417f4 Author: Drew Davenport <ddavenport@chromium.org> Date: Thu Jul 06 04:54:48 2017 chromite: Rename "ignored" to "experimental" - "experimental" more accurately reflects what this feature does, and leaves the "ignored" word for possible future usage BUG= chromium:729200 TEST=test emerge chromite Change-Id: I47eedf3c8c1056513e864a2019ab2e458eabadac Reviewed-on: https://chromium-review.googlesource.com/552767 Commit-Ready: Drew Davenport <ddavenport@chromium.org> Tested-by: Drew Davenport <ddavenport@chromium.org> Reviewed-by: Ningning Xia <nxia@chromium.org> [modify] https://crrev.com/56f7c6781fae67bc48ca2f7a4e4379f617b417f4/cbuildbot/validation_pool.py [modify] https://crrev.com/56f7c6781fae67bc48ca2f7a4e4379f617b417f4/lib/buildbucket_lib.py [modify] https://crrev.com/56f7c6781fae67bc48ca2f7a4e4379f617b417f4/cbuildbot/manifest_version_unittest.py [modify] https://crrev.com/56f7c6781fae67bc48ca2f7a4e4379f617b417f4/cbuildbot/prebuilts.py [modify] https://crrev.com/56f7c6781fae67bc48ca2f7a4e4379f617b417f4/cbuildbot/stages/generic_stages.py [modify] https://crrev.com/56f7c6781fae67bc48ca2f7a4e4379f617b417f4/cbuildbot/manifest_version.py [modify] https://crrev.com/56f7c6781fae67bc48ca2f7a4e4379f617b417f4/lib/tree_status.py [modify] https://crrev.com/56f7c6781fae67bc48ca2f7a4e4379f617b417f4/lib/buildbucket_lib_unittest.py [modify] https://crrev.com/56f7c6781fae67bc48ca2f7a4e4379f617b417f4/cbuildbot/build_status_unittest.py [modify] https://crrev.com/56f7c6781fae67bc48ca2f7a4e4379f617b417f4/cbuildbot/prebuilts_unittest.py [modify] https://crrev.com/56f7c6781fae67bc48ca2f7a4e4379f617b417f4/lib/tree_status_unittest.py [modify] https://crrev.com/56f7c6781fae67bc48ca2f7a4e4379f617b417f4/cbuildbot/build_status.py [modify] https://crrev.com/56f7c6781fae67bc48ca2f7a4e4379f617b417f4/cbuildbot/stages/generic_stages_unittest.py [modify] https://crrev.com/56f7c6781fae67bc48ca2f7a4e4379f617b417f4/lib/constants.py [modify] https://crrev.com/56f7c6781fae67bc48ca2f7a4e4379f617b417f4/cbuildbot/validation_pool_unittest.py
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/chromite/+/ff2230fa2fa7f892b2866d49abbbc83a0dad9f09 commit ff2230fa2fa7f892b2866d49abbbc83a0dad9f09 Author: Drew Davenport <ddavenport@chromium.org> Date: Wed Jul 12 00:48:01 2017 chromite: Use EXPERIMENTAL= in tree status - Use EXPERIMENTAL= rather than EXPERIMENTAL-BUILDERS=. The latter is overly verbose, and the former is clear enough to communicate what's going on to viewers of the tree status BUG= chromium:729200 TEST=FEATURES=test emerge chromite Change-Id: Ib20ae87754e76851ff2be401508300359663ca09 Reviewed-on: https://chromium-review.googlesource.com/565164 Commit-Ready: Drew Davenport <ddavenport@chromium.org> Tested-by: Drew Davenport <ddavenport@chromium.org> Reviewed-by: Ningning Xia <nxia@chromium.org> [modify] https://crrev.com/ff2230fa2fa7f892b2866d49abbbc83a0dad9f09/lib/tree_status.py [modify] https://crrev.com/ff2230fa2fa7f892b2866d49abbbc83a0dad9f09/lib/tree_status_unittest.py
Announced on chromeos-infra-discuss and documented on Sheriff FAQ.
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/chromite/+/73ee32649f3e8ac3c18fe95b7ed2c1a959cd984d commit 73ee32649f3e8ac3c18fe95b7ed2c1a959cd984d Author: Drew Davenport <ddavenport@chromium.org> Date: Fri Jul 21 23:02:39 2017 chromite: Log EXPERIMENTAL= builders on waterfall Add a link to non-passing builders that were marked as experimental through the tree status. BUG= chromium:729200 TEST=FEATURES=test emerge chromite Change-Id: I2fb508f358574d9d4d68b22f441a6d31cc706390 Reviewed-on: https://chromium-review.googlesource.com/574739 Commit-Ready: Drew Davenport <ddavenport@chromium.org> Tested-by: Drew Davenport <ddavenport@chromium.org> Reviewed-by: Ningning Xia <nxia@chromium.org> [modify] https://crrev.com/73ee32649f3e8ac3c18fe95b7ed2c1a959cd984d/cbuildbot/stages/completion_stages_unittest.py [modify] https://crrev.com/73ee32649f3e8ac3c18fe95b7ed2c1a959cd984d/cbuildbot/stages/completion_stages.py [modify] https://crrev.com/73ee32649f3e8ac3c18fe95b7ed2c1a959cd984d/cbuildbot/manifest_version.py [modify] https://crrev.com/73ee32649f3e8ac3c18fe95b7ed2c1a959cd984d/cbuildbot/manifest_version_unittest.py
Comment 1 by bugdroid1@chromium.org
, Jun 14 2017