ReleaseEngineering/Applications/Clobberer: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
https://build.mozilla.org/clobberer/ and https://build.mozilla.org/stage-clobberer
= 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.
= Requirements =
* MySQL server (SQLite is also possible, but we are using MySQL in production and staging)
* PHP and Apache
= Resources =
* two MySQL databases (production and staging)
* currently runs on dm-wwwbuild01 (http://build.mozilla.org)
= Security =
Clobberer uses the LDAP username verified and supplied by Apache, with some users having slightly elevated priviledges (the ability to clobber release jobs).
= Monitoring =
At the moment, clobberer is not monitored.
= 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.
= Development =
Source is at http://hg.mozilla.org/build/tools/file/default/clobberer
Source is at http://hg.mozilla.org/build/tools/file/default/clobberer


DB is a sqlite file local to the web server
Tests for clobberer are in test_clobberer.py in the same directory as index.php.
 
= Problems =
The sqlite database does not handle contention well, and the generated page is now *enormous*, so there are frequent timeouts both in rendering the page and in performing a clobber.

Revision as of 23:20, 23 June 2011

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.

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).

Monitoring

At the moment, clobberer is not monitored.

Deployment

Clobberer is installed in /var/www/html/build/clobberer/ 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.

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.