ReleaseEngineering/PuppetAgain/Modules/buildmaster

From MozillaWiki
Jump to navigation Jump to search

This module installs and sets up the buildmaster software. Multiple buildmasters can be installed on the same node. This module supports two different styles of masters, "Mozilla", and "Simple". More detailed descriptions of both are below.

"Mozilla" buildmasters

Mozilla buildmasters are special because they are set-up using external scripts to do some of the the work. To set up a node as Mozilla buildmaster node, use the following snippet in the nodes definition. (configuration should not be in nodes.pp there is already a [bug] for this.)

 node "relabs07.build.mtv1.mozilla.com" {
       buildmaster::buildbot_master::mozilla {
           "bm07-build1":
           http_port => 8001,
           master_type => "build",
           basedir => "build1";
       }
       buildmaster::buildbot_master::mozilla {
           "bm07-build2":
           http_port => 8002,
           master_type => "build",
           basedir => "build2";
       }
       include toplevel::server::buildmaster

Masters can be one of the following:

  • build
  • scheduler
  • try
  • tests

Masters will be installed in:

  /builds/buildbot/${basedir}

"Simple" buildmasters

Simple buildmasters are fully setup by Puppet. Instantiation usually should happen in a toplevel class using a snippet like:

buildmaster::buildbot_master::simple {
    "servo1":
        basedir => "/builds/buildbot/servo1",
        http_port => 8001,
        master_cfg => "puppet:///modules/buildmaster/servo/master.cfg";
}

"buildbot_version" can also be passed to install an alternative version of Buildbot.