Sheriffing/TBPL/ArchitectureAndDependencies: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==Modes==
==Involved Servers==


# Traditional Tinderbox mode<br>Was used before bug 669000
* Tinderboxpushlog at [http://tbpl.mozilla.org/ tbpl.mozilla.org]
# Transitory mode<br>Uses data from Buildbot or Tinderbox depending on usebuildbot=1 flag
* Buildbot at [http://build.mozilla.org/ build.mozilla.org]
# Future pure-Buildbot mode<br>Won't use data from Tinderbox any more. Not there yet.
* Mercurial at [http://hg.mozilla.org/ hg.mozilla.org]
* Mozilla FTP at [ftp://ftp.mozilla.org/ ftp.mozilla.org]
* Bugzilla API at [http://api-dev.bugzilla.mozilla.org/ api-dev.bugzilla.mozilla.org]
* War-on-orange elastic search database at elasticsearch1.metrics.sjc1.mozilla.com:9200 (only accessible from tbpl.mozilla.org)


==Servers==
And then there's the client, i.e. the user's browser.
 
* Tinderboxpushlog<br>tbpl.mozilla.org
* Tinderbox<br>tinderbox.mozilla.org
* Buildbot<br>build.mozilla.org
* Mercurial<br>hg.mozilla.org
* Mozilla FTP<br>ftp.mozilla.org
* Bugzilla API<br>api-dev.bugzilla.mozilla.org
* War-on-orange elastic search database<br>elasticsearch1.metrics.sjc1.mozilla.com:9200<br>(only accessible from tbpl.mozilla.org)
 
And there's the client, i.e. the user's browser.


==Dependencies==
==Dependencies==
Line 21: Line 14:
===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 Apache and PHP 5.3 with access to:
# TBPL Python script needs Python 2.6 with access to MongoDB through pymongo driver
** MongoDB (port 27017) through MongoPHP driver
** file system for caching
* TBPL Python script needs Python 2.6 with access to:
** MongoDB (port 27017) 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 29: Line 26:
tbpl.mozilla.org needs access to:
tbpl.mozilla.org needs access to:


* tinderbox.mozilla.org
* tinderbox.mozilla.org (port 80)
** 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 (port 80)
** 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 (port 80)
** 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 (port 21)
** 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 (port 443)
** 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 (port 9200)
** from ''/php/starcomment.php'' to ''/...'': Storing and retrieving build stars
** from ''/php/starcomment.php'' to ''/...'': Storing and retrieving build stars


===Between the client and other servers===
===Between the client and other servers===


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

Latest revision as of 16:19, 5 November 2013

Involved Servers

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

Dependencies

Inside the TBPL server

  • MongoDB needs to run
  • TBPL PHP scripts need Apache and PHP 5.3 with access to:
    • MongoDB (port 27017) through MongoPHP driver
    • file system for caching
  • TBPL Python script needs Python 2.6 with access to:
    • MongoDB (port 27017) 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 (port 80)
    • from /php/getTinderboxSummary.php to /showlog.cgi?...: Build logs
    • from /leak-analysis/index.php to /showlog.cgi?...: Build logs
  • build.mozilla.org (port 80)
    • from /dataimport/import-buildbot-data.py to /builds/builds-...js.gz: Build data
  • hg.mozilla.org (port 80)
    • from /dataimport/import-buildbot-data.py to /try/json-pushes?...: Pusher for revision
  • ftp.mozilla.org (port 21)
    • from /php/inc/RawGzLogDownloader.php to /pub/mozilla.org/...: Build logs
  • api-dev.bugzilla.mozilla.org (port 443)
    • from /php/submitBugzillaComment.php to /...: Automated commenting on starred orange bugs
  • elasticsearch1.metrics.sjc1.mozilla.com (port 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 (port 80)
  • tinderbox.mozilla.org (port 80)
    • to /.../status.html: Tree status
    • to /showbuilds.cgi?...: Build data
    • to /.../json.js: Cached build data
  • build.mozilla.org (port 80)
    • to /builds/...: Data about pending and running builds
    • to /buildapi/...: Self-serve API to retrigger and cancel builds
  • hg.mozilla.org (port 80)
    • to /.../pushlog: Push data
  • api-dev.bugzilla.mozilla.org (port 443)
    • to /...: Showing bug summaries as tooltips for bug numbers

Diagram

Tbpl diagram.png