ReleaseEngineering/PuppetAgain/Modules/buildmaster: Difference between revisions
No edit summary |
|||
Line 78: | Line 78: | ||
;signing_server_username | ;signing_server_username | ||
:signing server credentials, per build type | :signing server credentials, per build type | ||
;buildmaster_ssh_key_* | |||
:SSH keys that will be placed on buildmasters; see the <tt>buildmaster_ssh_keys</tt> configuration option. | |||
= servo buildmasters = | = servo buildmasters = |
Revision as of 15:29, 11 November 2013
This module installs and sets up the buildmaster software. Multiple buildmasters can be installed on the same node. This module supports two different styles of masters, "Mozilla", and "Simple". More detailed descriptions of both are below.
Secrets
These secrets are common to the different types of masters:
- buildbot_schedulerdb_username
- buildbot_schedulerdb_password
- buildbot_schedulerdb_hostname
- buildbot_schedulerdb_database
- credentials for the Buildbot database
"Mozilla" buildmasters
Mozilla buildmasters are special because they are set-up using external scripts to do some of the the work. To set up a node as Mozilla buildmaster node, use the following snippet in the nodes definition. (configuration should not be in nodes.pp there is already bug 848824 for this.)
node "relabs07.build.mtv1.mozilla.com" { buildmaster::buildbot_master::mozilla { "bm07-build1": http_port => 8001, master_type => "build", basedir => "build1"; } buildmaster::buildbot_master::mozilla { "bm07-build2": http_port => 8002, master_type => "build", basedir => "build2"; } include toplevel::server::buildmaster
Masters can be one of the following:
- build
- scheduler
- try
- tests
Masters will be installed in:
/builds/buildbot/${basedir}
Secrets
This module fills in BuildSlaves.py, postrun.cfg, and passwords.py with a bunch of secrets used to communicate with other services:
- blobber_password
- blobber_username
- Username and password used to communicate with Blobber
- jetperf_oauth_key
- jetperf_oauth_secret
- talos_oauth_key
- talos_oauth_secret
- datazilla authentication tokens
- android_tests_password
- linux_tests_password
- mac_tests_password
- win_tests_password
- prod_build_password
- try_build_password
- Buildbot slave passwords, per slave type
- balrog_password
- balrog_username
- Balrog credentials
- tuxedo_password
- tuxedo_username
- tuxedo credentials
- pulse_exchange
- pulse_username
- pulse_password
- AMQP credentials for access to http://pulse.mozilla.org
- buildbot_statusdb_username
- buildbot_statusdb_password
- buildbot_statusdb_hostname
- buildbot_statusdb_database
- credentials for the status database
- signing_server_dep_password
- signing_server_nightly_password
- signing_server_release_password
- signing_server_username
- signing server credentials, per build type
- buildmaster_ssh_key_*
- SSH keys that will be placed on buildmasters; see the buildmaster_ssh_keys configuration option.
servo buildmasters
Servo buildmasters are fully setup by Puppet. Instantiation usually should happen in a toplevel class using a snippet like:
buildmaster::buildbot_master::servo { "servo1": basedir => "/builds/buildbot/servo1", http_port => 8001, master_cfg => "puppet:///modules/buildmaster/servo/master.cfg"; }
"buildbot_version" can also be passed to install an alternative version of Buildbot.
Secrets
This uses the following secrets:
- servo_slave_password
- Buildbot slave password