Skip to content

Commit 5c21de6

Browse files
committed
Clarify future plans for level 3
1 parent de2a442 commit 5c21de6

1 file changed

Lines changed: 44 additions & 14 deletions

File tree

rfcs/0033-shared-trust-domain.md

Lines changed: 44 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
# Summary
66

7-
Build and maintain a shared Trust Domain, Workers, and Scriptworkers on the Firefox CI cluster that any Mozilla project can use. (Browser products will remain in their existing - separate - trust domain.)
7+
Build and maintain a shared Trust Domain, Workers, and Scriptworkers on the Firefox CI cluster that any Mozilla project can use. Browser products will remain in their existing - separate - trust domain.
88

99
## Motivation
1010

@@ -15,29 +15,59 @@ One of the barriers to entry for using Taskcluster is waiting on RelEng to creat
1515
We will create a new trust domain and workers that are generally available for Mozilla employees and trusted volunteers to use. Specifically:
1616

1717
* A new Trust Domain (`mozilla`) that is not tied to a specific project or product
18-
* New Workers for builds on Linux, macOS 11.0, and Windows Server 2012
18+
* New Workers for builds on Linux, macOS 10.15, and Windows Server 2012
19+
* A RelEng maintained Docker image will be provided for Linux
1920
* These will be created under a new `mozilla-1` provisioner
20-
* New Workers for tests on Linux (through developer provided Docker images), macOS 11.0, and Windows 10
21+
* New Workers for tests on Linux, macOS 10.15, and Windows 10
22+
* A RelEng maintained Docker image will be provided for Linux
2123
* These will be created under a new `mozilla-t` provisioner
22-
* New Scriptworker instances forsigning and mac-signing
24+
* New Scriptworker instances for signing and mac-signing
2325
* These will be created under the existing `scriptworker-k8s` and `scriptworker-prov-v1` provisioners
2426
* Workers will be prefixed with `mozilla-t-`
27+
* mac-signing will run 10.14, like our other mac-signing workers (there's no known reason to upgrade)
2528

26-
Notably, we are only concerned with level 1 workers at this time, which means we can ignore things like scriptworkers that are only used when shipping. Level 3 workers will be dealt with at a later stage.
29+
Notably, we are only concerned with level 1 workers at this time, which means we can ignore things like scriptworkers that are only used when shipping. Level 3 workers will be dealt with at a later stage, and most likely will not use a shared trust domain or workers across projects.
2730

28-
Access to create and manage tasks on these new workers will be granted to anyone with `scm_level_1`.
31+
Access to create and manage tasks on these new workers will be granted to anyone with `scm_level_1_github` or `scm_level_1`.
2932

3033
Going forward, we will ensure workers for other supported build or target platforms are added to this pool. (For example, when we add support for scheduling iOS tests in Taskcluster, that will be made available in the `mozilla-t` provisioner as well.)
3134

32-
# Open Questions
35+
## List of Pools
36+
37+
Pool ID | Purpose
38+
====================================================================================
39+
mozilla-1/linux | Linux jobs
40+
mozilla-1/linux-highcpu | Linux jobs requiring more CPU resources
41+
mozilla-1/win2012 | Windows Server 2012 jobs
42+
mozilla-1/win2012-highcpu | Windows Server 2012 jobs requiring more CPU resources
43+
mozilla-1/win10 | Windows 10 jobs
44+
mozilla-1/macos-bigsur | macOS 10.15 jobs
45+
mozilla-t/signing | Non-mac signing jobs
46+
mozilla-t/mac-signing | Mac signing jobs
47+
48+
## Hardware Machine Allocation
49+
50+
We will need hardware for 3 different pools, which will be allocated as noted below:
51+
* 2 machines for macOS signing, running allocated from the existing production Firefox pool
52+
* 3 machines for macOS builds, allocated from TBD
53+
* 3 machines for macOS tests, allocated from TBD
54+
55+
When additional workers are needed in the future, they will be allocated from TBD.
3356

34-
* Are we happy with the new trust domain name & provisioners for the workers?
35-
* Where did we get the macOS hardware for the build, test, and signing pools?
36-
* New or pull from existing pools?
37-
* How many machines do we need in each hardware pool?
38-
* Is macOS 11.0 the right version to use for build and test?
39-
* Are there other test platforms or scriptworkers we should support?
40-
* Is `scm_level_1` the right group to use, or do we need a new one for this purpose?
57+
## `v3` Taskcluster index format
58+
59+
The current `v2` index format only includes repository names as an identifier (not user or organization). This is generally not an issue for any of current trust domains (because they generally only support one project), but in this new pool where we have N projects, it introduces the potential for collisions or pollution between them. To ensure this isn't an issue we will introduce a new `v3` index format that includes the repository location in its path as well - including both domain and path. Examples include:
60+
* `index.mozilla.v3.github.com.mozilla-mobile.mozilla-vpn-client.branch.main.latest.taskgraph.decision`
61+
* `index.gecko.v3.hg.mozilla.org.releases.mozilla-beta.latest.firefox.decision`
62+
63+
This will require changes to a few things to support the new format:
64+
* build-decision
65+
* scriptworker
66+
* taskgraph
67+
68+
Existing users of Taskcluster will not be required to upgrade to the v3 format.
69+
70+
# Open Questions
4171

4272
# Implementation
4373

0 commit comments

Comments
 (0)