ReleaseEngineering/How To/Setup a buildbot master

From MozillaWiki
Jump to navigation Jump to search

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
  • 30GB partition mounted at /
  • 100MB partition mounted at /boot

OS

  • Install CentOS 5.5
  • Make sure hostname is correct!
  • Install puppet
    • Configure to point to master-puppet1.build.mozilla.org
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
yum install puppet
vim /etc/sysconfig/puppet
PUPPET_SERVER=master-puppet1.build.scl1.mozilla.com
chkconfig puppet on
/etc/init.d/puppet start

# On master-puppet1:
puppetca --sign your-new-master.build.scl1.mozilla.com

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

When you're ready, update the manifests on the master with:

hg -R /etc/puppet/manifests pull
hg -R /etc/puppet/manifests update

Once the manifests are updated the masters' build dirs should be automatically created.

Add masters to slavealloc

See [1]

Note: it would be good to know when we flip the enabled bit in slavealloc

IT-related things

File separate bugs for Nagios (eg: bug 717804), Mysql access (eg: bug 717806)

  • Nagios
    • PING
    • Swap
    • avg load
    • buildbot
    • disk - /
    • disk - /builds
  • Mysql access to the DB server
  • Verify that master can send mail to tinderbox via dm-mail01. see e.g. bug 717808

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

See ReleaseEngineering/How To/Setup Personal Development Master