Some rough notes that will turn into a proper runbook, however we are going to puppetise
the service (host already done) so we'll wait for that.
Host Details:
type | value |
---|---|
hostname | buildbot-vm.apache.org |
service name | ci.apache.org |
HDD | 60Gb / + 200GB /x1 |
RAM | 16GB |
CPU | 2 x single core |
datacenter | PhoenixNAP |
OS | Ubuntu 14.04 LTS |
Puppet | V3 |
Service Details:
software name | install method | notes |
---|---|---|
Buildbot | apt get install buildbot | version 0.8.9 (see #1) |
Apache | apt-get install apache2 | enable proxy.conf, proxy.load, proxy_http.load |
python-mysqldb | apt-get install python-mysqldb | needed to connect to mysql3-us-west.a.o |
Twisted | installed as a dep of buildbot | version 13.2.0 |
Install a user called 'buildmaster' with uid 8996
Install most software as root, but run buildbot commands as buildmaster user.
e.g 'apt-get install buildbot' as root or sudo and then 'buildbot create-master /x1/buildmaster/master1' as the
buildmaster user. 'buildbot start|stop|restart|reconfig' as the buildmaster user.
Once buildmaster create-master has been run, copy over master.cfg and contents of buildbot.tac into the
newly created versions. Change the mysql connection details to point to the new location.
#1 - We are using Ubuntu 14.04 LTS and the latest Buildbot package is 0.8.8 so needed to add utopic
repos to sources.list, then upgrade to version 0.8.9. This was needed as our existing Buildbot version was 0.8.9
and the database is not backwards compatible.
Once we are at this stage, need to run 'buildbot upgrade-master' as the buildmaster user.
Copied over some non-versioned files such as those that contain login information for the mysql user and db, the
svn hooks to send data accross, the github integration, the slave connections.
Copy over and re-install cron jobs for the buildmaster user.
Opened up port 9989 on baldr for buildbot-vm to connect to/from the CMS jail.
Things still to do: