ReleaseEngineering/Applications/Clobberer: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(deleting obsolete page)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= 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:
* API
    * http://clobberer.pvt.build.mozilla.org - production API
    * http://clobberer-preproduction.pvt.build.mozilla.org - preproduction API
    * https://api-pub-build.allizom.org/clobberer/lastclobber - staging API
* UI
    * production
        * http://clobberer.pub.build.mozilla.org - http 302
        * https://secure.pub.build.mozilla.org/clobberer - https
    * staging
        * https://api-pub-build.allizom.org/clobberer
= Requirements =
Python
MySQL-python
= Resources =
* two MySQL databases (production and staging)
* runs on the [https://mana.mozilla.org/wiki/display/websites/Releng+web+cluster releng web cluster]
= Security =
Clobberer uses the LDAP username verified and supplied by Apache, with some users having slightly elevated priviledges (the ability to clobber release jobs).
= Testing/Updating =
Basic patch testing can be done on cruncher which has netflows open to the database server.  Run clobberer's index.php from the command-line and [http://stackoverflow.com/questions/5655284/how-to-pass-parameters-from-command-line-to-post-in-php-script pass parameters] to the script by temporarily pasting this snippet above the first include statement:
/* if started from commandline, wrap parameters to $_POST and $_GET */
if (!isset($_SERVER["HTTP_HOST"])) {
  parse_str($argv[1], $_GET);
  parse_str($argv[1], $_POST);
}
And run the script like so:
$ php index.php 'branch=mozilla-inbound'
Redirect STDOUT to a file and compare before/after output and script timings to ensure your changes run as expected.  Attach a patch to a bug, get review, and proceed to [https://mana.mozilla.org/wiki/pages/viewpage.action?pageId=24805981#clobberer.pvt.build.mozilla.orgetal.-Monitoring mana page] for deployment instructions.
= More =
See [https://mana.mozilla.org/wiki/pages/viewpage.action?pageId=24805981 the websites page]

Latest revision as of 21:49, 19 November 2018