Switch to using aliases for worker-types in taskgraph.
Categories
(Firefox Build System :: Task Configuration, task)
Tracking
(Not tracked)
People
(Reporter: tomprince, Assigned: tomprince)
References
Details
Attachments
(6 files, 1 obsolete file)
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
There are a number of ways we want to vary workers over time and jobs, including
- we are working on migrating to gce
- mac pgo builds have a dedicated worker-type for level 3 but not level 1
Rather than have all tasks know about how the machines are provisioned, we should move to using short-names for the worker types, and then have a config mapping those to the actual worker types.
This will probably subsume taskgraph.util.worker_types eventually.
Assignee | ||
Updated•5 years ago
|
Comment 1•5 years ago
|
||
💖!
A few extra thoughts:
-
it'd be great to have this in ci-configuration, so that we can change workerType names across all repos simultaneously
-
it'd be great to allow overriding this in a try push (maybe by just supplying a URL to a different worker-types.yml?)
For Windows workerTypes, pmoore and grenade often do try pushes to run builds/tests on "beta" workertypes. That's a nice model and it would be great to support it more naturally.
-
it'd be great if this could later be expanded to allow proportional allocation
When we upgraded mac tests from buildbot + buildbot-bridge to taskcluster workers, we reformatted them in batches, and added some custom code that would send N% of requests to the old worker-type and (100-N)% to the new worker-types. We did so in a stable fashion (so that a particular task was always on the same worker-type).
Assignee | ||
Comment 2•5 years ago
|
||
This slightly decreases the amount of code that needs to know how to determine this.
Assignee | ||
Comment 3•5 years ago
|
||
Currently the scopes are handled in some test-specific code. However, there is
logic not to be in generic code.
Assignee | ||
Comment 4•5 years ago
|
||
Some of those sound like useful ideas, and some of them I'm not sure of. I will keep the surface area of the code that care about the mapping to real names small, so that we can extend it to handle some of those use cases easier in the future.
Assignee | ||
Comment 5•5 years ago
|
||
Pushed by mozilla@hocat.ca: https://hg.mozilla.org/integration/autoland/rev/421bdcc103d3 [taskgraph] Set worker `os` and `implementation` earlier in job transform; r=dustin https://hg.mozilla.org/integration/autoland/rev/722b3915da31 [taskgraph] Move handling of windows scopes to taskgraph.transfroms.task; r=dustin
Comment 7•5 years ago
|
||
Backed out for causing Gecko Decision Task bustage.
Backout link: https://hg.mozilla.org/integration/autoland/rev/54ed5eac2abca2519704c74bc5c421b846031504
Push link: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception%2Crunnable&selectedJob=232597820&revision=722b3915da319bd9cab0a9f2a43c18b75585ffec
Log link: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=232592511&repo=autoland&lineNumber=3859
Pushed by mozilla@hocat.ca: https://hg.mozilla.org/integration/autoland/rev/6b1f78426763 [taskgraph] Set worker `os` and `implementation` earlier in job transform; r=dustin https://hg.mozilla.org/integration/autoland/rev/29168c60c4e6 [taskgraph] Move handling of windows scopes to taskgraph.transfroms.task; r=dustin
Assignee | ||
Updated•5 years ago
|
Comment 9•5 years ago
|
||
bugherder |
Assignee | ||
Comment 10•5 years ago
|
||
:dustin, I've included a sketch of what I'm thinking, can you have look over it, and see if you think it is reasonable?
Updated•5 years ago
|
Assignee | ||
Comment 11•5 years ago
|
||
This adds worker-type alias that has dedicated workers at level-3 for running
instrumented builds, but uses a test worker type at other levels.
Comment 12•5 years ago
|
||
Comment on attachment 9051101 [details]
Bug 1532783: Add worker types for running instrumented builds;
Revision D23576 was moved to bug 1535132. Setting attachment 9051101 [details] to obsolete.
Updated•5 years ago
|
Comment 13•5 years ago
|
||
Pushed by mozilla@hocat.ca: https://hg.mozilla.org/integration/autoland/rev/4eabf4f36fef Implement worker aliases; r=aki,glandium,jmaher,dustin
Comment 14•5 years ago
|
||
bugherder |
Comment 15•5 years ago
|
||
Pushed by mozilla@jorgk.com: https://hg.mozilla.org/comm-central/rev/2120bf85232a Port bug 1532783 - Implement worker aliases. rs=bustage-fix
Comment 16•5 years ago
|
||
Hi all, Rob isn't here so I pushed this with a "selection" of workers that sounded familiar. AFAIK, TB doesn't do android, PGO and aarch64 also seemed unfamiliar.
Can you please let me know what I should add or subtract.
Assignee | ||
Comment 17•5 years ago
|
||
Assignee | ||
Comment 18•5 years ago
|
||
Comment 19•5 years ago
|
||
Pushed by mozilla@hocat.ca: https://hg.mozilla.org/integration/autoland/rev/cef374e9b298 [taskgraph] Switch to using worker aliases for docker-worker and generic-worker; r=dustin https://hg.mozilla.org/integration/autoland/rev/49006e43876f [taskgraph] Remove entries from WORKER_TYPES that correspond to workers with aliases; r=dustin
Assignee | ||
Comment 20•5 years ago
|
||
Comment 21•5 years ago
|
||
Pushed by mozilla@hocat.ca: https://hg.mozilla.org/integration/autoland/rev/96a1f7afe8ae [taskgraph] Fix lint error.
Comment 22•5 years ago
|
||
bugherder |
Comment 23•5 years ago
|
||
Pushed by mozilla@jorgk.com: https://hg.mozilla.org/comm-central/rev/0d3f162fe5bb Port bug 1532783: [taskgraph] Switch to using worker aliases for docker-worker and generic-worker. rs=bustage-fix
Assignee | ||
Updated•5 years ago
|
Updated•5 years ago
|
Description
•