So finally got around to upgrading the ASF Buildbot Master (on aegis an Ubuntu machine) yesterday. After the usual backup preparations this is what was needed:
1. Install New/Updated prereqs for 0.8.x (and for going straight to mysql db configuration, not default sqlite):
$ apt-get install python-mysqldb python-jinja2 mysql-server
2. edit /etc/my.cnf and add these entries:
[mysqld]
max_allowed_packet = 32M
transaction_isolation = READ-COMMITTED
default-storage-engine = InnoDB
default-character-set = utf8
default-collation = utf8_general_ci
character-set-client = utf8
[mysql]
default-character-set = utf8
3. $ sudo service mysql restart
4. Create the database:
$ mysql -u root -p
mysql> CREATE DATABASE buildbot CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> GRANT ALL PRIVILEGES ON buildbot.* TO 'bbuser'@'localhost' IDENTIFIED BY '<password>';
mysql> flush privileges;
mysql> exit;
5. Download and extract/install the latest buildbot:
$ wget http://buildbot.googlecode.com/files/buildbot-0.8.3p1.tar.gz
$ tar xfvz buildbot-0.8.3p1.tar.gz
$ cd buildbot-0.8.3p1
$ python setup.py build
$ sudo python setup.py install
$ buildbot -version
Buildbot version: 0.8.3p1
Twisted version: 10.0.0
6. Edit your current master.cfg (for those NOT going to mysql, ignore this step)
$ + c['db_url'] = 'mysql://bbuser:<password>@localhost/buildbot'
7. Upgrade!
$ buildbot upgrade-master --db='mysql://bbuser:<password>@localhost/buildbot' /path/to/masterdir
8. If all went well, start your master
$ cd /path/to/masterdir
$ buildbot start . > start.log
Enjoy your new mysql enabled 0.8.3+ master.
For a default sqlite enabled master replace both mysql entries above (steps 6 and 7) with:
$ + c['db_url'] = "sqlite:///state.sqlite"
and
$ buildbot upgrade-master --db='sqlite:///state.sqlite' /path/to/masterdir