ReleaseEngineering/How To/Setup a buildbot master: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
This page describes how to set-up a new Buildbot Master.
This page describes how to set-up a new Buildbot Master.


= Hardware =
= Production masters =
== Production masters ==
For buildbot masters that are intended to be doing production builds, tests, etc.
 
== Hardware ==
* Current policy is one buildbot master instance per VM
* Current policy is one buildbot master instance per VM
* 64-bit guest
* 64-bit guest
Line 15: Line 17:
** Configure to point to master-puppet1.build.mozilla.org
** Configure to point to master-puppet1.build.mozilla.org


= The Master Instance =
== Support files, Wikis ==
First, to get the master directory prepped and cronjobs set-up, do this on the machine:
Update [http://hg.mozilla.org/build/tools/file/default/buildfarm/maintenance/production-masters.json production-masters.json] in tools and the [https://intranet.mozilla.org/RelEngWiki/index.php/Masters master list], if appropriate
<pre>
# cltbld@wherever
BASEDIR=/builds/buildbot/my_master
MASTER_NAME=my_master_name # Must be one from ./setup-master.py -8 -l
PYTHON=/tools/python-2.6.5/bin/python
VIRTUALENV=/tools/python-2.6.5/bin/virtualenv
HG=/tools/python-2.6.5/bin/hg
hg clone http://hg.mozilla.org/build/buildbot-configs
cd buildbot-configs
make -f Makefile.setup all BASEDIR=$BASEDIR MASTER_NAME=$MASTER_NAME VIRTUALENV=$VIRTUALENV PYTHON=$PYTHON HG=$HG
</pre>
 
Then, update whatever files the Makefile instructs you too with correct passwords, descriptions, etc.


= Support files, Wikis =
== Puppet manifests ==
Update [http://hg.mozilla.org/build/tools/file/default/buildfarm/maintenance/production-masters.json production-masters.json] in tools and the [https://intranet.mozilla.org/RelEngWiki/index.php/Masters master list], if appropriate
* Make sure your masters are listed in buildmaster-production.pp


= IT-related things =
== IT-related things ==
* Nagios
* Nagios
** PING
** PING
Line 45: Line 34:
* Add master to Tinderbox whitelist
* Add master to Tinderbox whitelist


= SSH Keys =
== SSH Keys ==
* Copy production ssh keys (for ffxbld and trybld) to ~/.ssh.
* Copy production ssh keys (for ffxbld and trybld) to ~/.ssh.
* Make sure you can ssh to ffxbld@dm-pvtbuild01.mozilla.org and ffxbld@stage.mozilla.org
* Make sure you can ssh to ffxbld@dm-pvtbuild01.mozilla.org and ffxbld@stage.mozilla.org


= Other =
 
* Make sure NTP is running!
 
= Personal / development masters =
== The Master Instance ==
First, to get the master directory prepped and cronjobs set-up, do this on the machine:
<pre>
# cltbld@wherever
BASEDIR=/builds/buildbot/my_master
MASTER_NAME=my_master_name # Must be one from ./setup-master.py -8 -l
PYTHON=/tools/python-2.6.5/bin/python
VIRTUALENV=/tools/python-2.6.5/bin/virtualenv
HG=/tools/python-2.6.5/bin/hg
hg clone http://hg.mozilla.org/build/buildbot-configs
cd buildbot-configs
make -f Makefile.setup all BASEDIR=$BASEDIR MASTER_NAME=$MASTER_NAME VIRTUALENV=$VIRTUALENV PYTHON=$PYTHON HG=$HG
</pre>
 
Then, update whatever files the Makefile instructs you too with correct passwords, descriptions, etc.

Revision as of 19:12, 10 May 2011

This page describes how to set-up a new Buildbot Master.

Production masters

For buildbot masters that are intended to be doing production builds, tests, etc.

Hardware

  • Current policy is one buildbot master instance per VM
  • 64-bit guest
  • 2 virtual CPUs
  • 6 GB RAM
  • 6 GB swap
  • 20GB root partition

OS

  • Install CentOS 5.5
  • Install puppet
    • Configure to point to master-puppet1.build.mozilla.org

Support files, Wikis

Update production-masters.json in tools and the master list, if appropriate

Puppet manifests

  • Make sure your masters are listed in buildmaster-production.pp

IT-related things

  • Nagios
    • PING
    • Swap
    • avg load
    • buildbot
    • disk - /
    • disk - /builds
  • Mysql access to the DB server
  • Add master to Tinderbox whitelist

SSH Keys

  • Copy production ssh keys (for ffxbld and trybld) to ~/.ssh.
  • Make sure you can ssh to ffxbld@dm-pvtbuild01.mozilla.org and ffxbld@stage.mozilla.org


Personal / development masters

The Master Instance

First, to get the master directory prepped and cronjobs set-up, do this on the machine:

# cltbld@wherever
BASEDIR=/builds/buildbot/my_master
MASTER_NAME=my_master_name # Must be one from ./setup-master.py -8 -l
PYTHON=/tools/python-2.6.5/bin/python
VIRTUALENV=/tools/python-2.6.5/bin/virtualenv
HG=/tools/python-2.6.5/bin/hg
hg clone http://hg.mozilla.org/build/buildbot-configs
cd buildbot-configs
make -f Makefile.setup all BASEDIR=$BASEDIR MASTER_NAME=$MASTER_NAME VIRTUALENV=$VIRTUALENV PYTHON=$PYTHON HG=$HG

Then, update whatever files the Makefile instructs you too with correct passwords, descriptions, etc.