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