Sheriffing/TBPL/ArchitectureAndDependencies: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 21: Line 21:
===Inside the TBPL server===
===Inside the TBPL server===


# MongoDB needs to run
* MongoDB needs to run
# TBPL PHP scripts need PHP 5.3 with access to MongoDB through MongoPHP driver
* TBPL PHP scripts need PHP 5.3 with access to:
# TBPL Python script needs Python 2.6 with access to MongoDB through pymongo driver
** MongoDB through MongoPHP driver
** file system for caching
* TBPL Python script needs Python 2.6 with access to:
** MongoDB through pymongo driver
* Cronjob needs to run /dataimport/import-buildbot-data.py periodically


===Between TBPL server and other servers===
===Between TBPL server and other servers===
Line 30: Line 34:


* tinderbox.mozilla.org
* tinderbox.mozilla.org
** from ''/php/getTinderboxSummary.php'' to ''/show_log.cgi'': build logs
** from ''/php/getTinderboxSummary.php'' to ''/showlog.cgi?...'': Build logs
** from ''/leak-analysis/index.php'' to ''/show_log.cgi'': build logs
** from ''/leak-analysis/index.php'' to ''/showlog.cgi?...'': Build logs
* build.mozilla.org
* build.mozilla.org
** from ''/dataimport/import-buildbot-data.py'' to ''/builds/builds-...js.gz'': build data
** from ''/dataimport/import-buildbot-data.py'' to ''/builds/builds-...js.gz'': Build data
* hg.mozilla.org
* hg.mozilla.org
** from ''/dataimport/import-buildbot-data.py'' to ''/try/json-pushes?...'': pusher for revision
** from ''/dataimport/import-buildbot-data.py'' to ''/try/json-pushes?...'': Pusher for revision
* ftp.mozilla.org
* ftp.mozilla.org
** from ''/php/inc/RawGzLogDownloader.php'' to ''/pub/mozilla.org/...'': build logs
** from ''/php/inc/RawGzLogDownloader.php'' to ''/pub/mozilla.org/...'': Build logs
* api-dev.bugzilla.mozilla.org
* api-dev.bugzilla.mozilla.org
** from ''/php/submitBugzillaComment.php'' to ''/...'': automated commenting on starred orange bugs
** from ''/php/submitBugzillaComment.php'' to ''/...'': Automated commenting on starred orange bugs
* elasticsearch1.metrics.sjc1.mozilla.com:9200
* elasticsearch1.metrics.sjc1.mozilla.com:9200
** from ''/php/starcomment.php'' to ''/...'': Storing and retrieving build stars
** from ''/php/starcomment.php'' to ''/...'': Storing and retrieving build stars
Line 45: Line 49:
===Between the client and other servers===
===Between the client and other servers===


...
Visitors of TBPL (the "client") need access to:
 
* tbpl.mozilla.org (duh)
* tinderbox.mozilla.org
** to ''/.../status.html'': Tree status
** to ''/showbuilds.cgi?...'': Build data
** to ''/.../json.js'': Cached build data
* build.mozilla.org
** to ''/builds/...'': Data about pending and running builds
** to ''/buildapi/...'': Self-serve API to retrigger and cancel builds
* hg.mozilla.org
** to ''/.../pushlog'': Push data
* api-dev.bugzilla.mozilla.org
** to ''/...'': Showing bug summaries as tooltips for bug numbers
 
===Diagram===
 
being drawn now

Revision as of 17:02, 19 July 2011

Modes

  1. Traditional Tinderbox mode
    Was used before bug 669000
  2. Transitory mode
    Uses data from Buildbot or Tinderbox depending on usebuildbot=1 flag
  3. Future pure-Buildbot mode
    Won't use data from Tinderbox any more. Not there yet.

Servers

  • Tinderboxpushlog
    tbpl.mozilla.org
  • Tinderbox
    tinderbox.mozilla.org
  • Buildbot
    build.mozilla.org
  • Mercurial
    hg.mozilla.org
  • Mozilla FTP
    ftp.mozilla.org
  • Bugzilla API
    api-dev.bugzilla.mozilla.org
  • War-on-orange elastic search database
    elasticsearch1.metrics.sjc1.mozilla.com:9200
    (only accessible from tbpl.mozilla.org)

And there's the client, i.e. the user's browser.

Dependencies

Inside the TBPL server

  • MongoDB needs to run
  • TBPL PHP scripts need PHP 5.3 with access to:
    • MongoDB through MongoPHP driver
    • file system for caching
  • TBPL Python script needs Python 2.6 with access to:
    • MongoDB through pymongo driver
  • Cronjob needs to run /dataimport/import-buildbot-data.py periodically

Between TBPL server and other servers

tbpl.mozilla.org needs access to:

  • tinderbox.mozilla.org
    • from /php/getTinderboxSummary.php to /showlog.cgi?...: Build logs
    • from /leak-analysis/index.php to /showlog.cgi?...: Build logs
  • build.mozilla.org
    • from /dataimport/import-buildbot-data.py to /builds/builds-...js.gz: Build data
  • hg.mozilla.org
    • from /dataimport/import-buildbot-data.py to /try/json-pushes?...: Pusher for revision
  • ftp.mozilla.org
    • from /php/inc/RawGzLogDownloader.php to /pub/mozilla.org/...: Build logs
  • api-dev.bugzilla.mozilla.org
    • from /php/submitBugzillaComment.php to /...: Automated commenting on starred orange bugs
  • elasticsearch1.metrics.sjc1.mozilla.com:9200
    • from /php/starcomment.php to /...: Storing and retrieving build stars

Between the client and other servers

Visitors of TBPL (the "client") need access to:

  • tbpl.mozilla.org (duh)
  • tinderbox.mozilla.org
    • to /.../status.html: Tree status
    • to /showbuilds.cgi?...: Build data
    • to /.../json.js: Cached build data
  • build.mozilla.org
    • to /builds/...: Data about pending and running builds
    • to /buildapi/...: Self-serve API to retrigger and cancel builds
  • hg.mozilla.org
    • to /.../pushlog: Push data
  • api-dev.bugzilla.mozilla.org
    • to /...: Showing bug summaries as tooltips for bug numbers

Diagram

being drawn now