Eric Foo | 6ea4fbd | 2018-01-17 04:04:50 | [diff] [blame] | 1 | # LUCI Builder Migration - FAQ |
| 2 | |
Eric Foo | 952982f | 2018-11-06 05:09:02 | [diff] [blame] | 3 | _**Buildbot end of life date is March 1, 2019**. As of March 1, |
| 4 | all Chrome/Chromium builds hosted on [chromium.org](https://www.chromium.org) |
| 5 | will be running on LUCI._ |
| 6 | |
Eric Foo | 6ea4fbd | 2018-01-17 04:04:50 | [diff] [blame] | 7 | LUCI which stands for Layered Universal Continuous Integration is a replacement |
| 8 | for Buildbot (our existing single-threaded monolithic continuous integration |
| 9 | system). Over time, we have been swapping out Buildbot responsibilities with |
| 10 | LUCI services. As such, most builds today on Buildbot are already running using |
| 11 | LUCI services. The next step is to migrate Buildbot builders to LUCI builders, |
| 12 | with the end result to turndown Buildbot. |
| 13 | |
| 14 | As a Chromium developer, **read this** to understand the CQ and CI |
| 15 | user expectations and how to contact us. |
| 16 | |
| 17 | [TOC] |
| 18 | |
| 19 | ## FAQ |
| 20 | |
Eric Foo | 952982f | 2018-11-06 05:09:02 | [diff] [blame] | 21 | ### **When will Buildbot builders be turned down?** |
| 22 | _As of **March 1, 2019**, all Buildbot masters run by Chrome Operations will be |
| 23 | permanently shut down. All existing builders will have been migrated to LUCI |
| 24 | before this date._ |
| 25 | |
| 26 | ### **I am an owner of a builder, where can I find more info on migrations?** |
| 27 | _A migration guide is available to help you with migrations. Please reach out |
| 28 | to the Chrome Operations team at infra-dev@chromium.org for references and |
| 29 | scheduling or timeframe info._ |
| 30 | |
Eric Foo | 6ea4fbd | 2018-01-17 04:04:50 | [diff] [blame] | 31 | ### **Why can't we keep using existing builders?** |
| 32 | |
| 33 | _The existing Buildbot builders are not running on the LUCI stack, as such, they |
| 34 | are still prone to Buildbot limitations such as single process scheduling and |
| 35 | deployment issues (restarts needed) to name a few. We have been in preparation |
| 36 | to migrate builders to LUCI with as minimal impact as possible to Chromium devs._ |
| 37 | |
| 38 | ### **What is the timeframe of migrating Buildbot builders to LUCI?** |
| 39 | |
| 40 | *We have started migration of existing Buildbot builders to LUCI builders in |
| 41 | **Q1 2018** and will first focus on the Chromium CQ builder sets. A Chromium |
| 42 | CQ builder set consists of try-builders that are part of the commit queue and their |
| 43 | corresponding waterfall (continuous integration) ci-builders. A builder set will |
| 44 | be migrated together whenever possible. Target migration time per builder set is |
| 45 | approx. 1 week per set with a few days of overlap with existing builders to |
| 46 | ensure correctness and performance. Note that times can vary per builder set.* |
| 47 | |
| 48 | ### **Who is involved with the builder migrations?** |
| 49 | |
Eric Foo | c9c0c4a | 2018-11-06 04:54:21 | [diff] [blame] | 50 | *We have created a LUCI migration task force |
Eric Foo | 6ea4fbd | 2018-01-17 04:04:50 | [diff] [blame] | 51 | ([infra-dev@chromium.org](mailto:infra-dev@chromium.org)) comprised of Chrome |
| 52 | Operations developers. Owners of Chromium builders are responsible for approvals |
| 53 | for final go ahead to switch a LUCI builder to production.* |
| 54 | |
| 55 | ### **Where can I learn more about LUCI?** |
| 56 | |
| 57 | *A tour of LUCI is available in [presentation format](http://bit.ly/2kgyE9U). |
| 58 | Also, you can learn more about the [LUCI UI under Chromium |
| 59 | source](tour_of_luci_ui.md).* |
| 60 | |
| 61 | ### **Will the builder migration affect my work?** |
| 62 | |
| 63 | *No, there should be minimal to no disruption. Our migration plan is to make it |
| 64 | as seamless as possible for Chromium devs to continue their work and use our CQ |
| 65 | and CI systems effectively.* |
| 66 | |
| 67 | ### **What limitations does the migration have?** |
| 68 | |
Eric Foo | c9c0c4a | 2018-11-06 04:54:21 | [diff] [blame] | 69 | *While we're working to make the transition as seamless as possible, there can |
| 70 | be a few hiccups that may occur when a builder is migrated. Below are the |
Eric Foo | 6ea4fbd | 2018-01-17 04:04:50 | [diff] [blame] | 71 | known limitations:* |
| 72 | |
| 73 | * *The blamelist will not be calculated correctly between the first LUCI build |
| 74 | and the last Buildbot build. The second and subsequent LUCI builds will have |
| 75 | correct blamelists, however.* |
| 76 | |
| 77 | ### **What differences will I see?** |
| 78 | |
| 79 | *All Chromium developers should already be using the new LUCI UI |
| 80 | ([ci.chromium.org](https://ci.chromium.org)). The views will continue to look the |
| 81 | same once LUCI builders are switched to production. Sheriff-O-Matic, |
| 82 | Gatekeeper, and Findit build integrations will all work as intended. The |
| 83 | main differences to expect are:* |
| 84 | |
| 85 | * *CQ try builders will show a LUCI tag in the Code Review UI. See |
| 86 | [below](#How-do-I-know-a-build-was-run-on-LUCI) for details.* |
| 87 | * *LUCI builder pages will have a different URL path. See [UI |
| 88 | tour](tour_of_luci_ui.md#builder-page) |
| 89 | for details.* |
| 90 | * *LUCI build pages will have a different URL path. See |
| 91 | [UI tour](tour_of_luci_ui.md#build-results-page) |
| 92 | for details.* |
| 93 | * *When the switch is made, build numbers will be incremented |
| 94 | by approximately +10 to separate Buildbot and LUCI |
| 95 | builds.* |
| 96 | * *Blamelist limitation between first LUCI and last |
| 97 | Buildbot builds. See |
| 98 | [above](#What-limitations-does-the-migration-have) for |
| 99 | details.* |
| 100 | |
| 101 | ### **How do I know a build was run on LUCI?** |
| 102 | |
| 103 | *Builds on LUCI use a different URL path that |
| 104 | starts with `/p/chromium/builders/…` |
| 105 | If the build is still running on Buildbot, |
| 106 | "buildbot" will still be part of the URL path. Also, in |
Eric Foo | c9c0c4a | 2018-11-06 04:54:21 | [diff] [blame] | 107 | the Code Review UI, try-builders on Buildbot is shown |
| 108 | with a "Buildbot" tag. The default with no tag represents |
| 109 | a LUCI build.* |
Eric Foo | 6ea4fbd | 2018-01-17 04:04:50 | [diff] [blame] | 110 | |
Eric Foo | c9c0c4a | 2018-11-06 04:54:21 | [diff] [blame] | 111 |  |
Eric Foo | 6ea4fbd | 2018-01-17 04:04:50 | [diff] [blame] | 112 | |
| 113 | *In some cases, builds on LUCI can also have the |
| 114 | following URL |
| 115 | `ci.chromium.org/p/chromium/builds/b<buildbucket_build_id>`. |
Eric Foo | c9c0c4a | 2018-11-06 04:54:21 | [diff] [blame] | 116 | This occurs when the build does not have a build number |
Eric Foo | 6ea4fbd | 2018-01-17 04:04:50 | [diff] [blame] | 117 | which should not occur for any Chromium build* |
| 118 | |
| 119 | ### **When will Buildbot be turned down?** |
| 120 | |
| 121 | _Buildbot builders will be turned down progressively and won't be turned down |
| 122 | all at once. Once a CQ builder set has completed migration, we will schedule a |
| 123 | date within the following month to turn down the corresponding Buildbot |
| 124 | builders. This date will be coordinated between the development teams and Chrome |
| 125 | Operations._ |
| 126 | |
| 127 | ### **How do I escalate for help?** |
| 128 | |
| 129 | _Contact the Chrome Operations Foundation team |
| 130 | ([infra-dev@chromium.org](mailto:infra-dev@chromium.org)) and include |
| 131 | [dpranke@chromium.org](mailto:dpranke@chromium.org), |
| 132 | [estaab@chromium.org](mailto:estaab@chromium.org), |
| 133 | [efoo@chromium.org](mailto:efoo@chromium.org) and |
| 134 | [nodir@chromium.org](mailto:nodir@chromium.org) directly for an immediate |
| 135 | response. Also, refer to the [Contact us](#Contact-Us) section below for other |
| 136 | options to reach us._ |
| 137 | |
| 138 | ### **What are the steps involved to migrate builders to LUCI bots?** |
| 139 | |
| 140 | _Builder migration involves 3 major steps._ |
| 141 | 1. _Preparation (machine allocation/configs)._ |
| 142 | 2. _Making builds work on LUCI (recipes)._ |
| 143 | 3. _Flipping to LUCI builder on prod (UI)._ |
| 144 | |
| 145 | ### **Can I help?** |
| 146 | |
| 147 | _There are many ways you can help. Either through contributing to LUCI, helping |
| 148 | with builder migrations or providing feedback. Reach out to the Chrome |
| 149 | Operations Foundation team |
| 150 | ([infra-dev@chromium.org](mailto:infra-dev@chromium.org)) and CC |
| 151 | [efoo@chromium.org](mailto:efoo@chromium.org) and |
| 152 | [estaab@chromium.org](mailto:estaab@chromium.org) to let us know._ |
| 153 | |
| 154 | ## **Contact Us** |
| 155 | |
| 156 | _We are continually making improvements to the migration process and to LUCI |
| 157 | services. Our initial goal is to migrate all Chromium CQ builders sets first as |
| 158 | seamless as possible for Chromium devs to continue to work unimpacted and use |
| 159 | our CQ and CI systems effectively._ |
| 160 | |
| 161 | _If you have issues or feedback you would like to share with us, we would love to |
| 162 | hear it and incorporate it into our ongoing LUCI improvements._ |
| 163 | |
| 164 | * _Use the __feedback button__  |
| 166 | on a LUCI page._ |
| 167 | * *__File a migration bug__ using the following |
Eric Foo | 71df3b8 | 2018-02-23 04:00:21 | [diff] [blame] | 168 | [template](https://bugs.chromium.org/p/chromium/issues/entry?labels=LUCI-Backlog,LUCI-Migrations&summary=[LUCI-Migration-Bug]%20Enter%20an%20one-line%20summary&components=Infra>Platform&[email protected],[email protected],[email protected]&description=Please%20use%20this%20to%20template%20to%20file%20a%20bug%20into%20LUCI%20backlog.%20%20%0A%0AReminder%20to%20include%20the%20following%3A%0A-%20Description%20of%20issue%0A-%20Priority%0A-%20Is%20this%20a%20blocker...%0A-%20What%20builder%20is%20this%20bug%20blocking).* |
Eric Foo | 6ea4fbd | 2018-01-17 04:04:50 | [diff] [blame] | 169 | * *__File a feature request__ using the following |
Eric Foo | 71df3b8 | 2018-02-23 04:00:21 | [diff] [blame] | 170 | [template](https://bugs.chromium.org/p/chromium/issues/entry?labels=LUCI-Backlog&summary=[LUCI-Feedback]%20Enter%20an%20one-line%20summary&components=Infra>Platform&[email protected],[email protected],[email protected]&description=Please%20use%20this%20to%20template%20to%20file%20a%20feature%20request%20into%20LUCI%20backlog.%20%20%0A%0AReminder%20to%20include%20the%20following%3A%0A-%20Description%0A-%20Why%20this%20feature%20is%20needed).* |
Eric Foo | 6ea4fbd | 2018-01-17 04:04:50 | [diff] [blame] | 171 | * *To __share your feedback__, please fill out this [short |
| 172 | survey](https://goo.gl/forms/YPO6XCQ3q47r00iw2).* |
| 173 | * *__Ask a question__ using [IRC under the #chromium](https://www.chromium.org/developers/irc) channel.* |
| 174 | * *__Contact us__ directly by emailing us at |
| 175 | [infra-dev@chromium.org](mailto:infra-dev@chromium.org).* |
| 176 | |