ReleaseEngineering/PuppetAgain/Modules/toplevel

From MozillaWiki
Jump to: navigation, search

This module contains a hierarchy of classes that form a taxonomy of build systems. These classes are the link between roles (linux64 slave, buildapi webhead, etc.) and the classes and resources required to implement those roles.

The hierarchy is clear from the source and the class names. The "leaf" classes in the hierarchy are the nodes that should be specified from a node definition. Note that except as noted, only one leaf class can be included. In most cases, trying to do so will cause puppet to fail.

Leaf Classes

  • toplevel::slave::releng::test::headless - Test slave, headless
  • toplevel::slave::releng::test::gpu - Test slave, on GPU (Talos)
  • toplevel::slave::releng::build::standard - Standard (not mock) build slave
  • toplevel::slave::releng::build::mock - Build slave that uses a virtual environment for building (and thus does not require build tools on the host)
  • toplevel::slave::qa::mozmill_ci
  • toplevel::slave::qa::tps_ci
  • toplevel::server::foopy - foopy (proxy server for mobile test devices)
  • toplevel::server::puppetmaster - PuppetAgain puppet master
  • toplevel::server::aws_manager - Host performing AWS administrative tasks
  • toplevel::server::buildmaster - Buildbot master
  • toplevel::server::buildmaster::mozilla - Buildbot and Bors servers setup for Mozilla
  • toplevel::server::buildmaster::servo - Buildbot and Bors servers setup for the Servo project
  • toplevel::server::mozpool - mobile imaging (mozpool) server
  • toplevel::server::pkgbuilder - utility host for building packages
  • toplevel::server::signing - a host that can sign built applications
  • toplevel::server::slaveapi - a host running slaveapi
  • toplevel::server::mozmill_ci
  • toplevel::server::tps_ci

Mixins

Some systems, notably buildmasters, have secondary roles attached to them. These are implemented with toplevel "mixins". Node definitions include mixins alongside a single leaf class.

  • toplevel::mixin::b2g_bumper - bumps the gaia revision that is pulled in to build gecko, e.g., this commit
  • toplevel::mixin::bouncer_check - checks bouncer
  • toplevel::mixin::buildmaster_db_maintenance - runs maintenance checks on the Buildbot databases
  • toplevel::mixin::releaserunner - the buildmaster component of the releaserunner application
  • toplevel::mixin::selfserve_agent - the buildmaster component of the buildapi (aka self-serve) application
  • toplevel::mixin::slaverebooter - the slaverebooter application