ReleaseEngineering/Applications: Difference between revisions
| Line 39: | Line 39: | ||
interfaces. The self-serve agent is started via init, and monitored via | interfaces. The self-serve agent is started via init, and monitored via | ||
nagios. | nagios. | ||
To modify the list of branches supported by buildapi and self-serve, read [[ReleaseEngineering/BuildAPI#Maintenance]] | |||
=== Setup Instructions === | === Setup Instructions === | ||
Revision as of 15:09, 25 February 2011
RelEng App Store
build masters
we have lots!
canonical list is supposed to be http://hg.mozilla.org/build/tools/raw-file/default/buildfarm/maintenance/production-masters.json
source for buildbot is at http://hg.mozilla.org/build/buildbot/
clobberer
https://build.mozilla.org/clobberer/ and https://build.mozilla.org/stage-clobberer
Source is at http://hg.mozilla.org/build/tools/file/default/clobberer
DB is a sqlite file local to the web server
buildapi
includes self-serve, wait time reports, pending/running
Source Code
http://hg.mozilla.org/build/buildapi
Public Interfaces
https://build.mozilla.org/buildapi
Current Setup
production instance is running on cruncher.b.m.o out of ~catlee/buildapi-official. There is a cron job that checks for new changes every 5 minutes and deploys them. This instance is exposed to the public behind LDAP auth via the build.m.o url.
The buildapi instance communicates with a rabbitmq server also running on cruncher. It also connects to two read-only databases (schedulerdb, statusdb) on a slave mysql host maintained by IT.
The self-serve agent, which is responsible for performing many of the job requests, is running on production-master03 out of ~cltbld/buildapi. It is a long-running process that waits for messages from the rabbitmq server on cruncer, and then makes various DB modifications or pokes at masters' web interfaces. The self-serve agent is started via init, and monitored via nagios.
To modify the list of branches supported by buildapi and self-serve, read ReleaseEngineering/BuildAPI#Maintenance
Setup Instructions
Described at ReleaseEngineering/BuildAPI
slavealloc
See User:Djmitche/Slave Allocator Proposal for now.
regression detection
code is http://hg.mozilla.org/graphs/file/9c02347596b4/server/analysis
runs on cruncher via cronjob under catlee's account from ~/graphs/server/analysis
deployment questions
- what languages are needed and their version
- if python, what python modules - can they be run in a virtualenv
- if perl, what cpan modules are needed
- if php, what php version and what php.ini entries are needed
- what is the command line parameters to start the web service
- does it have any special configuration or init files
- does it require root or sudo
- does it require a special directory layout
- will it generate/use temp files or non-database assets?
- what version of mysql and what database config, where is the sql to init the tables
- does memcached have a min/max memory? which processes read/write to it - can it be on different IP
- what ports will be opened for listening
- cronjobs that need to be run
- if outside services are utilized, what is that list
maintenance questions
- what are common issues we run into, and how to debug?
- place in buildduty docs?
- where is the code/schema for hacking/reading?
- are there special passwords/accounts/acl's, and what are they? (not in public docs)