ReleaseEngineering/PuppetAgain/Modules/buildslave
< ReleaseEngineering | PuppetAgain | Modules
This module installs and sets up the buildslave software. Including buildslave will do both.
buildslave::install
This class installs the buildbot and buildbot-slave packages in a virtualenv keyed from the version number, with a symlink at /tools/buildbot denoting the active version. This class embodies the intelligence of what version(s) of Buildbot to install.
Internally, it uses buildslave::install::version to install the correct versions, e.g.,
buildslave::install::version { "0.8.4": active => false; "0.8.5": active => true; }
This nested class takes an ensure parameter (absent or present) and an active parameter, which if true causes the /tools/buildbot symlink to point to the given version.
Upgrading
To add a new version of buildbot:
- establish the desired version of the buildbot source, on the 'slaves' branch of build/buildbot
- tag it with SLAVE_X_Y_Z_MOZN as appropriate
- add slave/buildslave/VERSION containing the lower-case form, e.g., 3.4.1-moz3. similarly for master/buildslave/VERSION
- run 'setup.py sdist' in the slave/ directory and in the master/ directory
- copy the resulting {master,slave}/dist/buildbot-*.tar.gz into the python-packages directory (see ReleaseEngineering/PuppetAgain/Python)
- add a new case to modules/buildslave/manifests/install/version.pp setting any relevant variables for the install.
- invoke the new case from modules/buildslave/manifests/install.pp