SR2016 Deployment - PeterJCLaw/srcomp GitHub Wiki
This page provides an outline of the deployment of SRComp pieces for the SR2016 competition
The basic structure of SRComp is that a collection of tools and services operate on a "compstate" git repo (specifically sr2016-comp.git this year) which contains information about the competition.
Main server (saffron)
Saffron will host:
- The central compstate
- The public HTTP API
- The live compstate for the API (
/srv/comp-api/compstate
) - The reference compstate for the API (
/home/srcomp/compstate.git
)
- The live compstate for the API (
- The website, in competition mode, which includes:
- A customised home-page
- A match schedule
- A knockout diagram
- A league leaderboard
- A page detailing the points earned in each game
- A page for teams to find out useful information just about themselves
Venue server (compbox)
Compbox will host:
- The internal HTTP API
- The live compstate for the API (
/srv/state
) - The reference compstate for the API (
/home/srcomp/compstate.git
)
- The live compstate for the API (
- The competition state stream
- The arena, shepherding and venue screens
- An instance of the system monitoring page, which checks:
- internet uplink
- compbox stream and API being up
- saffron API being up
- IDE (hosted on saffron) being up
- compbox state and saffron state being in sync
This VM will probably run on a desktop provided by Rob which is also being used as one of the routers.
Score-entry machines
There will be two dedicated score-entry stations, Rob/Tom are organising hardware for these.
It's possible that one of these may be Tom's laptop.
SRComp admin laptop(s)
The people doing SRComp admin (both making sure the system stays up and deploying updates to the state) will have a copy of the entire SRComp suite on their machines.
Compstate deployment
Actual compstate deployment is performed using the 'srcomp' user on each of the hosts, per the descriptions on Trac Ticket 2496 and Trac Ticket 2664 (mostly Trac Ticket 2496 on the former).
This is implemented by the srcomp-cli deploy command.
Screens
Kiosk screens as follows:
- 1 on each arena start corner (4 per arena)
- 1 shepherding screen, in the staging area
- 1 staging screen, also in the staging area
- 2 large 'outside' displays showing a rotating informational display, including:
- Knockout diagram
- League leaderboard
- All league points
- Match schedule
All screens will run on Raspberry Pis which SR already owns. SR also has some screens which can be used for the areans, more will need to be hired.
Hardware Summary
- 4 "small" displays per arena facing inwards, on unicol stands. Each with Pi.
- 2 big displays, on unicol stands, each with pi. On bottom and top floor.
- Shepherding: 2 "small" displays, each with pi.
- These had been planned to be on unicol stands but ended up on desk stands since not enough unicol stands were hired. This actually worked well for the shepherds since the shepherding screen was mainly viewed by a person sat at the same desk as the screens.
- Competition box: VM image running on one of the router boxes
- 1 comp-ops workstation (Peter on his laptop)
- 2 score entry workstations:
- 1 was Tom on his laptop
- 1 was intended to be a desktop of Rob's, though that failed and we ended up using another volunteer's laptop.
Total pis required: 12