ReleaseEngineering/Applications/Clobberer: Difference between revisions

no edit summary
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.
canmove, Confirmed users
1,394

edits