Upgrading Buildbot from 2.4 to 3.2.0
...
General Process
- Stop puppet agent
- Stop buildbot service
- Backup /x1/buildmaster
- backups are labelled buildmaster-$buildbot_version-YYYYMMDDNN where NN is an incremented backup id starting with
01.
- Backup asfbuildbot2 mysql database as root
- Credentials may be found in /root/.my.cnf
- from /x1/;
mysqldump -uroot -p --databases asfbuildbot2 > asfbuildbot-$version-YYYYMMDDnn.sql
- Edit https://github.com/apache/infrastructure-p6/blob/production/modules/buildbot_asf/manifests/init.pp
- Bump buildbot version
in Puppet config and commit directly.change puppet to ensure service stopped- Ensure requisite packages are being installed
- Ensure the buildmaster service is set to `ensure => stopped`.
- Start puppet to pull in changes on buildmaster node
- Stop puppet on buildmaster node
- As buildmaster run 'buildbot --`buildbot upgrade-master .' master` in the /x1/buildmaster/master1' dir
- Fix any configuration errors that occur (See note 1) and re-run the upgrade-master step until it completes successfully.
- Start the Buildbot service.
- Repeat 1 to 11 as needed for 2.5.10 to 3.0.3 (See note 2)Repeat 1 to 11 for multi step upgrades.
- change puppet back to ensure service running
- After a few days soak in, remove the local backups
2.4 to 3.2.0 Upgrade Notes
...
As advised in Buildbot Documentation, we upgraded in steps.
From 2.4 to 2.5.10 to 3.0.3 and finally to 3.2.0
...
Local backups were taken at the start and end of each upgrade.
(note 1) From 2.4 to 2.5.10 we had to fix builders to be a list. (pelican conf etc)
(note 2) From 2.5.10 to 3.0.3 we had to fix the mail notifiers.
(note 3) From 3.0.3 to 3.2.0 all went well with no configuration changes needed.