3.8.14. Masters connector

class buildbot.db.masters.MastersConnectorComponent

This class handles tracking the buildmasters in a multi-master configuration. Masters “check in” periodically. Other masters monitor the last activity times, and mark masters that have not recently checked in as inactive.

Masters are represented by a MasterModel dataclass with the following fields:

  • id – the ID of this master

  • name – the name of the master (generally of the form hostname:basedir)

  • active – true if this master is running

  • last_active – time that this master last checked in (a datetime object)

findMasterId(name)
Parameters:

name (unicode) – name of this master

Returns:

master id via Deferred

Return the master ID for the master with this master name (generally hostname:basedir). If such a master is already in the database, this returns the ID. If not, the master is added to the database, with active=False, and its ID returned.

setMasterState(masterid, active)
Parameters:
  • masterid (integer) – the master to check in

  • active (boolean) – whether to mark this master as active or inactive

Returns:

boolean via Deferred

Mark the given master as active or inactive, returning true if the state actually changed. If active is true, the last_active time is updated to the current time. If active is false, then any links to this master, such as schedulers, will be deleted.

getMaster(masterid)
Parameters:

masterid (integer) – the master to check in

Returns:

MasterModel or None via Deferred

Get the indicated master.

getMasters()
Returns:

list of MasterModel via Deferred

Get a list of the masters, represented as MasterModel; masters are sorted and paged using generic data query options

setAllMastersActiveLongTimeAgo()
Returns:

None via Deferred

This method is intended to be called by upgrade-master, and will effectively force housekeeping on all masters at next startup. This method is not intended to be called outside of housekeeping scripts.