Chromite waterfall board layout should be an explicit list. |
||||||||
Issue descriptionCurrently, in Chromite, release board selection is handled the same way it is on ToT: it is inferred through a combination of "important=True" heuristics (https://chromium.googlesource.com/chromiumos/chromite/+/b2f195323154639da7f2c51569c7113512505934/cbuildbot/chromeos_config.py#21) and an explicit list (https://chromium.googlesource.com/chromiumos/chromite/+/b2f195323154639da7f2c51569c7113512505934/cbuildbot/chromeos_config.py#649). This has worked for a while, but has been a point of confusion more than once, especially when people not super familiar with the configuration need to manually add/remove a board from it. I am thinking that the following change should be made: 1) Continue inferring all non-Release/Canary builders as-is. 2) Break the waterfall inclusion list by builder type rather than waterfall type (we can infer waterfall from the config parameters, I think). 3) Move experimental non-release builders to their respective builder type lists from their waterfall list. 4) Add *all* canary/release builders in that list. No waterfall inference will be made for them. 5) Add a PRESUBMIT check to assert that all "important=True" builders are on a waterfall. (4), in particular, will make it so that the transition from ToT to branched config is as simple as setting IS_RELEASE_BRANCH to True and pruning undesired ToT items from that list. (5) will make it safe. This should reduce the complexity of adding new builders. The additional burden of ensuring that the builder is in the list on ToT (enforced by (5)) should, in practice, be a non-issue, since currently one would have added to the list as experimental anyway. WDYT?
,
Jul 6 2016
,
Jul 7 2016
RE #1, I'm not convinced that this needs to be so thorough. I think using cbuildbot's inner config structures to define *how* things are built is still really useful. I also think we can leave that largely alone and focus specifically on simplifying waterfall layout. Adding a test that fails if any important=True boards aren't in the layout would close the loop.
,
Sep 27 2016
this is either the same as what Don is now working on, or will be obsoleted by what he is working on
,
Sep 27 2016
,
Apr 12 2017
This was done in the following CL. In config_dump.json, each master config now has an explicit list of slaves. This is not yet true for release builders, but will be in a few months. If it's useful, we could also add that information into waterfall_layout_dump.txt, after we come up with the right format. https://chromium-review.googlesource.com/c/457127/
,
Mar 14 2018
This bug is Untriaged and very old. Because it has an owner, the status will be set to assigned to avoid closing a bug someone is using. If this bug still needs triage, change it back to Untriaged.
,
Mar 30 2018
,
Mar 30 2018
|
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by dgarr...@chromium.org
, Jul 6 2016