<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Master Organization — Buildbot 0.8.8 documentation</title> <link rel="stylesheet" href="../_static/agogo.css" type="text/css" /> <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT: '../', VERSION: '0.8.8', COLLAPSE_INDEX: false, FILE_SUFFIX: '.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="../_static/jquery.js"></script> <script type="text/javascript" src="../_static/underscore.js"></script> <script type="text/javascript" src="../_static/doctools.js"></script> <link rel="shortcut icon" href="../_static/buildbot.ico"/> <link rel="top" title="Buildbot 0.8.8 documentation" href="../index.html" /> <link rel="up" title="Buildbot Development" href="index.html" /> <link rel="next" title="Definitions" href="definitions.html" /> <link rel="prev" title="Buildbot Development" href="index.html" /> </head> <body> <div class="header-wrapper"> <div class="header"> <p class="logo"><a href="../index.html"> <img class="logo" src="../_static/header-text-transparent.png" alt="Logo"/> </a></p> <div class="headertitle"><a href="../index.html">Buildbot 0.8.8 documentation</a></div> <div class="rel"> <a href="index.html" title="Buildbot Development" accesskey="P">previous</a> | <a href="definitions.html" title="Definitions" accesskey="N">next</a> | <a href="../py-modindex.html" title="Python Module Index" >modules</a> | <a href="../genindex.html" title="General Index" accesskey="I">index</a> </div> </div> </div> <div class="content-wrapper"> <div class="content"> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body"> <div class="section" id="master-organization"> <span id="master-service-hierarchy"></span><h1>Master Organization<a class="headerlink" href="#master-organization" title="Permalink to this headline">¶</a></h1> <p>Buildbot makes heavy use of Twisted Python's support for services - software modules that can be started and stopped dynamically. Buildbot adds the ability to reconfigure such services, too - see <a class="reference internal" href="config.html#developer-reconfiguration"><em>Reconfiguration</em></a>. Twisted arranges services into trees; the following section describes the service tree on a running master.</p> <div class="section" id="buildmaster-service-hierarchy"> <h2>Buildmaster Service Hierarchy<a class="headerlink" href="#buildmaster-service-hierarchy" title="Permalink to this headline">¶</a></h2> <p>The hierarchy begins with the master, a <tt class="xref py py-class docutils literal"><span class="pre">buildbot.master.BuildMaster</span></tt> instance. Most other services contain a reference to this object in their <tt class="docutils literal"><span class="pre">master</span></tt> attribute, and in general the appropriate way to access other objects or services is to begin with <tt class="docutils literal"><span class="pre">self.master</span></tt> and navigate from there.</p> <p>The master has several child services:</p> <dl class="docutils"> <dt><tt class="docutils literal"><span class="pre">master.metrics</span></tt></dt> <dd>A <tt class="xref py py-class docutils literal"><span class="pre">buildbot.process.metrics.MetricLogObserver</span></tt> instance that handles tracking and reporting on master metrics.</dd> <dt><tt class="docutils literal"><span class="pre">master.caches</span></tt></dt> <dd>A <tt class="xref py py-class docutils literal"><span class="pre">buildbot.process.caches.CacheManager</span></tt> instance that provides access to object caches.</dd> <dt><tt class="docutils literal"><span class="pre">master.pbmanager</span></tt></dt> <dd>A <tt class="xref py py-class docutils literal"><span class="pre">buildbot.pbmanager.PBManager</span></tt> instance that handles incoming PB connections, potentially on multiple ports, and dispatching those connections to appropriate components based on the supplied username.</dd> <dt><tt class="docutils literal"><span class="pre">master.change_svc</span></tt></dt> <dd>A <tt class="xref py py-class docutils literal"><span class="pre">buildbot.changes.manager.ChangeManager</span></tt> instance that manages the active change sources, as well as the stream of changes received from those sources. All active change sources are child services of this instance.</dd> <dt><tt class="docutils literal"><span class="pre">master.botmaster</span></tt></dt> <dd><p class="first">A <tt class="xref py py-class docutils literal"><span class="pre">buildbot.process.botmaster.BotMaster</span></tt> instance that manages all of the slaves and builders as child services.</p> <p class="last">The botmaster acts as the parent service for a <tt class="xref py py-class docutils literal"><span class="pre">buildbot.process.botmaster.BuildRequestDistributor</span></tt> instance (at <tt class="docutils literal"><span class="pre">master.botmaster.brd</span></tt>) as well as all active slaves (<tt class="xref py py-class docutils literal"><span class="pre">buildbot.buildslave.AbstractBuildSlave</span></tt> instances) and builders (<tt class="xref py py-class docutils literal"><span class="pre">buildbot.process.builder.Builder</span></tt> instances).</p> </dd> <dt><tt class="docutils literal"><span class="pre">master.scheduler_manager</span></tt></dt> <dd>A <tt class="xref py py-class docutils literal"><span class="pre">buildbot.schedulers.manager.SchedulerManager</span></tt> instance that manages the active schedulers. All active schedulers are child services of this instance.</dd> <dt><tt class="docutils literal"><span class="pre">master.user_manager</span></tt></dt> <dd>A <tt class="xref py py-class docutils literal"><span class="pre">buildbot.process.users.manager.UserManagerManager</span></tt> instance that manages access to users. All active user managers are child services of this instance.</dd> <dt><tt class="docutils literal"><span class="pre">master.db</span></tt></dt> <dd>A <a class="reference internal" href="database.html#buildbot.db.connector.DBConnector" title="buildbot.db.connector.DBConnector"><tt class="xref py py-class docutils literal"><span class="pre">buildbot.db.connector.DBConnector</span></tt></a> instance that manages access to the buildbot database. See <a class="reference internal" href="database.html#developer-database"><em>Database</em></a> for more information.</dd> <dt><tt class="docutils literal"><span class="pre">master.debug</span></tt></dt> <dd>A <tt class="xref py py-class docutils literal"><span class="pre">buildbot.process.debug.DebugServices</span></tt> instance that manages debugging-related access -- the debug client and manhole.</dd> <dt><tt class="docutils literal"><span class="pre">master.status</span></tt></dt> <dd>A <tt class="xref py py-class docutils literal"><span class="pre">buildbot.status.master.Status</span></tt> instance that provides access to all status data. This instance is also the service parent for all status listeners.</dd> </dl> </div> </div> </div> </div> </div> </div> <div class="sidebar"> <h3>Table Of Contents</h3> <ul class="current"> <li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Buildbot Tutorial</a></li> <li class="toctree-l1"><a class="reference internal" href="../manual/index.html">Buildbot Manual</a></li> <li class="toctree-l1 current"><a class="reference internal" href="index.html">Buildbot Development</a><ul class="current"> <li class="toctree-l2 current"><a class="current reference internal" href="">Master Organization</a><ul class="simple"> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="definitions.html">Definitions</a></li> <li class="toctree-l2"><a class="reference internal" href="style.html">Buildbot Coding Style</a></li> <li class="toctree-l2"><a class="reference internal" href="tests.html">Buildbot's Test Suite</a></li> <li class="toctree-l2"><a class="reference internal" href="config.html">Configuration</a></li> <li class="toctree-l2"><a class="reference internal" href="config.html#error-handling">Error Handling</a></li> <li class="toctree-l2"><a class="reference internal" href="config.html#reconfiguration">Reconfiguration</a></li> <li class="toctree-l2"><a class="reference internal" href="utils.html">Utilities</a></li> <li class="toctree-l2"><a class="reference internal" href="database.html">Database</a></li> <li class="toctree-l2"><a class="reference internal" href="results.html">Build Result Codes</a></li> <li class="toctree-l2"><a class="reference internal" href="formats.html">File Formats</a></li> <li class="toctree-l2"><a class="reference internal" href="webstatus.html">Web Status</a></li> <li class="toctree-l2"><a class="reference internal" href="master-slave.html">Master-Slave API</a></li> <li class="toctree-l2"><a class="reference internal" href="encodings.html">String Encodings</a></li> <li class="toctree-l2"><a class="reference internal" href="metrics.html">Metrics</a></li> <li class="toctree-l2"><a class="reference internal" href="classes.html">Classes</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="../relnotes/index.html">Release Notes for Buildbot v0.8.8</a></li> </ul> <h3 style="margin-top: 1.5em;">Search</h3> <form class="search" action="../search.html" method="get"> <input type="text" name="q" /> <input type="submit" value="Go" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> <p class="searchtip" style="font-size: 90%"> Enter search terms or a module, class or function name. </p> </div> <div class="clearer"></div> </div> </div> <div class="footer-wrapper"> <div class="footer"> <div class="left"> <a href="index.html" title="Buildbot Development" >previous</a> | <a href="definitions.html" title="Definitions" >next</a> | <a href="../py-modindex.html" title="Python Module Index" >modules</a> | <a href="../genindex.html" title="General Index" >index</a> <br/> <a href="../_sources/developer/master-overview.txt" rel="nofollow">Show Source</a> </div> <div class="right"> <div class="footer"> © Copyright Buildbot Team Members. Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3. </div> </div> <div class="clearer"></div> </div> </div> </body> </html>