Confirmed users
1,989
edits
(19 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
Congratulations. You have been chosen to setup a new reference platform. Armen summarized this journey as "It will be difficult". In addition to testing the new image on the test or build machines, there are several other steps that must be taken to ensure that our build infrastructure is read to work with the new platform and the associated slaves. | Congratulations. You have been chosen to setup a new reference platform. Armen summarized this journey as "It will be difficult". In addition to testing the new image on the test or build machines, there are several other steps that must be taken to ensure that our build infrastructure is read to work with the new platform and the associated slaves. | ||
There are several tasks that you can do ahead of time to make it easier noted in the checklist below. Many of these involve IT, so open bugs accordingly. | There are several tasks that you can do ahead of time to make it easier noted in the checklist below. Many of these involve IT, so open bugs accordingly. | ||
{{Release Engineering How To|Setup a New Reference Platform}} | |||
== Do you need a new master? == | == Do you need a new master? == | ||
Line 20: | Line 22: | ||
=== Open bugs so you can puppetize the new master(s) and add them to productionmasters.json === | === Open bugs so you can puppetize the new master(s) and add them to productionmasters.json === | ||
This is a example {{bug|783455}}. The buildmaster-production.pp (puppet-manifests) needs to have the new masters added to the nodes so you can puppetize the new masters. The productionmasters.json (tools) needs to have the new masters listed. I initially set them to disabled, they will be enabled when we are ready for production. | This is a example {{bug|783455}}. The buildmaster-production.pp (puppet-manifests) needs to have the new masters added to the nodes so you can puppetize the new masters. The productionmasters.json (tools) needs to have the new masters listed. I initially set them to disabled, they will be enabled when we are ready for production. Before the reconfig to enable the new master occurs, you should add ssh keys and an updated authorized_keys file to the master. Once the reconfig is complete, you'll need to start the new master. | ||
== Open a bug for buildbot and puppet changes == | == Open a bug for buildbot and puppet changes == | ||
Line 43: | Line 34: | ||
* testing machines and each type of build need graph server changes | * testing machines and each type of build need graph server changes | ||
** need to land changes to 'sql/data.sql' on the default branch of http://hg.mozilla.org/graphs (to match your inserts). | |||
** need to land changes to 'sql/data.sql' on the default branch of http://hg.mozilla.org/graphs | |||
** If this is a new build platform, make sure that graph server knows about the build platform | ** If this is a new build platform, make sure that graph server knows about the build platform | ||
** | *** insert a machine name like %OS%_%branch% (e.g. "WINNT_5.2_mozilla-central" and "WINNT_5.2_mozilla-central_leak_test") | ||
We don't have access to update the graph server anymore. You need to open a bug with the [https://bugzilla.mozilla.org/enter_bug.cgi?product=Data%20%26%20BI%20Services%20Team&component=Database%20Operations database operations team] to add them. This is an example {{bug||1131072}} of such a request. | |||
NOTE: If you inadvertently add an incorrect entry to the graph database, it is best to remove that entry so it doesn't appear as an option on this page, for example: http://graphs.mozilla.org/graph.html | |||
== Open a bug for Treeherder changes == | |||
* Treeherder needs to be updated to support the new platform. Please file a bug [https://bugzilla.mozilla.org/enter_bug.cgi?product=Tree+Management&component=Treeherder%3A+Data+Ingestion here] as soon as possible once the buildernames are known, to avoid delays - since unlike TBPL, Treeherder needs regex support prior to the jobs going live, since they are categorised as part of ingestion & not just in the UI layer. | |||
== Open a bug for buildfaster changes == | |||
As easy as this ([https://hg.mozilla.org/build/braindump/file/default/reports/buildfaster_report.py buildfaster_report.py]): | |||
<pre> | |||
('winxp', ['Rev3 WINNT 5.1']), | |||
+ ('win8', ['Rev3 WINNT 6.2']), | |||
] | |||
</pre> | |||
== | == Slave health == | ||
https://hg.mozilla.org/build/tools/rev/5dbaa5080bcd | |||
https://hg.mozilla.org/users/coop_mozilla.com/slave_health/rev/f3eda2cc7d72 | |||
https://hg.mozilla.org/users/coop_mozilla.com/slave_health/rev/128bcd9c0e58 | |||
== Disable tests on branches where this platform isn't needed == | == Disable tests on branches where this platform isn't needed == | ||
** {{bug|786424}} shows an example, disabled Mountain Lion tests for mozilla-esr10 | ** {{bug|786424}} shows an example, disabled Mountain Lion tests for mozilla-esr10 | ||
** {{bug|803248}} buildbot config changes to support panda_android* | |||
When testing, ensure that you initiate sendchanges to both the the superset of branches, and the branches you want to limit the tests on to ensure when you run it in production there aren't any unexpected builds. | |||
== Slavealloc changes and cnames for slaves == | == Slavealloc changes and cnames for slaves == | ||
Line 107: | Line 117: | ||
https://hg.mozilla.org/build/braindump/file/ceaecd3c5b4f/reports/buildfaster_report.py#l73 | https://hg.mozilla.org/build/braindump/file/ceaecd3c5b4f/reports/buildfaster_report.py#l73 | ||
=== BuildAPI === | |||
See https://bug770579.bugzilla.mozilla.org/attachment.cgi?id=747452 | |||
=== Slave health === | |||
TBD |