ReleaseEngineering/Applications/Clobberer: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
Line 3: Line 3:


The application has an outward-facing web interface for developers, and also provides an internal web service which buildslaves contact to determine what build directories they should clobber.
The application has an outward-facing web interface for developers, and also provides an internal web service which buildslaves contact to determine what build directories they should clobber.
There are several vhosts involved here:
    clobberer.pvt.build.mozilla.org - production API
    clobberer-preproduction.pvt.build.mozilla.org - preproduction API
    clobberer-stage.pvt.build.mozilla.org - staging API
    clobberer.pub.build.mozilla.org - http entry point for UI (production)
    clobberer-staging.pub.build.mozilla.org - http entry point for UI (staging)
    secure.pub.build.mozilla.org - https for UI (staging and production)


= Requirements =
= Requirements =
Line 10: Line 19:
= Resources =
= Resources =
* two MySQL databases (production and staging)
* two MySQL databases (production and staging)
* currently runs on dm-wwwbuild01 (http://build.mozilla.org)
* runs on the [https://mana.mozilla.org/wiki/display/websites/Releng+web+cluster releng web cluster]


= Security =
= Security =
Clobberer uses the LDAP username verified and supplied by Apache, with some users having slightly elevated priviledges (the ability to clobber release jobs).
Clobberer uses the LDAP username verified and supplied by Apache, with some users having slightly elevated priviledges (the ability to clobber release jobs).


= Monitoring =
= More =
At the moment, clobberer is not monitored.
See [https://mana.mozilla.org/wiki/pages/viewpage.action?pageId=24805981 the websites page]
 
= Deployment =
Clobberer is installed in <tt>/var/www/html/build/clobberer/</tt> on dm-wwwbuild01.  Its contents are just an index.php and a credentials file for the database access.  Its public URL is
https://build.mozilla.org/clobberer/ and staging is https://build.mozilla.org/stage-clobberer.
 
== Cleanup Crontab ==
As of {{bug|666282}}, periodic db maintenance is handled by <tt>cleanup.php</tt>, which is invoked via the CLI SAPI (php on the command line) from a crontab.  Authentication is via a simple shared secret.
 
= Development =
Source is at http://hg.mozilla.org/build/tools/file/default/clobberer
 
Tests for clobberer are in test_clobberer.py in the same directory as index.php.

Revision as of 13:38, 26 June 2012

Application Description

The clobberer allows developers to "clobber" particular build directories (objdirs) on particular slaves. This is sometimes necessary if a change is committed that is not compatible with previous objdirs, or occasionally when a compile failure results in a bogus objdir.

The application has an outward-facing web interface for developers, and also provides an internal web service which buildslaves contact to determine what build directories they should clobber.

There are several vhosts involved here:

   clobberer.pvt.build.mozilla.org - production API
   clobberer-preproduction.pvt.build.mozilla.org - preproduction API
   clobberer-stage.pvt.build.mozilla.org - staging API
   clobberer.pub.build.mozilla.org - http entry point for UI (production)
   clobberer-staging.pub.build.mozilla.org - http entry point for UI (staging)
   secure.pub.build.mozilla.org - https for UI (staging and production)

Requirements

  • MySQL server (SQLite is also possible, but we are using MySQL in production and staging)
  • PHP and Apache

Resources

Security

Clobberer uses the LDAP username verified and supplied by Apache, with some users having slightly elevated priviledges (the ability to clobber release jobs).

More

See the websites page