-
Notifications
You must be signed in to change notification settings - Fork 0
Home
All servers are set up with a cpantesters user which runs the CPAN Testers services and cron jobs. All users on all machines are allowed to use sudo to become cpantesters (sudo -u cpantesters -i) to run commands.
Note: The database server is donated by ServerCentral, but is not globally available via SSH, and is such not listed here. Contact Doug Bell ([email protected]), Zach Dykstra ([email protected]), or Phil Doroff [email protected] for any issues with the database server.
Billing contact: Mark Keating (Enlightened Perl Organization)
Support contact: [email protected]
Billing contact: Donated by Bytemark
Support contact: [email protected]
Billing contact: Donated by Doug Bell
Support contact: Doug Bell ([email protected])
All service daemons are run with runit in the cpantesters user home directory (~/service).
To restart a service: sv restart ~/service/<service>. To restart all services: sv restart ~/service/*. If the restart has a timeout, you can kill the runsv <service> process and it will be automatically restarted (by the runsvdir process).
All services are logged to ~/service/<service>/log/current.
There is now a Rex task to easily restart services on multiple machines. See Rex below.
- Handles
- Writing CPAN uploads table
- Sending report notification e-mails
- Hosted on
- cpantesters3.dh.bytemark.co.uk
- Documentation
- Hosted on
- cpantesters3.dh.bytemark.co.uk (www.cpantesters.org)
The API is load balanced by Fastly. Every web app is proxied via an Apache server running on the same machine.
- Daemons
-
api- Read/write CPAN Testers data -
legacy-metabase- Shim for Metabase clients to write test reports -
broker- Message broker for websocket messaging (for now, see https://github.com/cpan-testers/cpantesters-api/issues/21)
-
- Handles
- Writing incoming test reports
- Legacy Metabase API
- Hosted on
- cpantesters3.dh.bytemark.co.uk (api-1.cpantesters.org)
- cpantesters1.barnyard.co.uk (api-2.cpantesters.org)
- cpantesters4.dh.bytemark.co.uk (api-3.cpantesters.org)
See beam list for a list of backend processes.
- Daemons
-
minion- Run backend processing jobs
-
- Handles
- Processing test reports
- Hosted on
- cpantesters4.dh.bytemark.co.uk
In beta (http://beta.cpantesters.org).
Every web daemon is proxied via an Apache server running on the same machine.
- Daemons
-
web-beta- Run beta testing web app
-
- Handles
- Future web app
- Experiments in visualizations
- Hosted on
- cpantesters3.dh.bytemark.co.uk (beta.cpantesters.org)
A CPAN mirror holds modules for Perl users to install. CPAN Testers also uses this to build a database of CPAN uploads which is made available via the CPAN Testers API.
CPAN Testers is a tier-1 CPAN mirror, so we are expected to have a stable mirror.
- Daemons
-
rrr-client- Syncs CPAN modules from PAUSE intelligently viarsyncfiles -
apache- Document root: /home/cpan/CPAN
-
- Hosted on
- cpantesters4.dh.bytemark.co.uk (cpan.cpantesters.org)
A BackPAN mirror holds all releases that have ever been released to CPAN, even ones that have been deleted from PAUSE.
- Daemons
-
apache- document root: /home/cpan/BACKPAN
-
- Processes
- /home/cpan/bin/backend.sh
- Run by cron as the
cpanuser - Log: /home/cpan/var/log/backpan.log
- Lock: /home/cpan/var/run/backpan.lock
- Run by cron as the
- /home/cpan/bin/backend.sh
- Hosted on
- cpantesters4.dh.bytemark.co.uk (backpan.cpantesters.org)
Read the documentation for the Rex tasks by using perldoc Rexfile. Install Rex using cpan Rex.
See all the objects inside the Rexfile by using rex -T. This helps you pick which groups (-g), environments (-E), hosts (-H), and tasks to use.
- Restart all services on all machines:
rex service - Restart all API services:
rex -g api service - Show the status of all services:
rex service --command=status - Restart only
minionandbrokerservices:rex service --services=minion,broker - Force restart if the restart fails:
rex service --force=1
The system is monitored on http://status.cpantesters.org. Users in CPAN Testers Github Org can log in to Grafana at http://status.cpantesters.org/grafana.
This dashboard shows if report processing jobs are being added and finished. Report processing jobs are added when a new test report is written. Report processing jobs are finished by the minion daemon on Backend servers.
- Diagnostics
- If report jobs are not being added, try restarting the
legacy-metabasedaemon. - If report jobs are not being finished, try restarting the
miniondaemon.
- If report jobs are not being added, try restarting the
This dashboard shows the response times for all the web applications, and the amount of work the MySQL database is doing.