Skip to content
This repository has been archived by the owner on Jul 14, 2020. It is now read-only.

Setting up the game infrastructure

Kamila Součková edited this page Oct 18, 2019 · 2 revisions

Note that we use Ansible to manage the game infrastructure (specifically, the worker machines). This only applies to the master. There is a script to help with test deployments, but to do the full thing, the config done in Ansible is needed.

  1. Clone this repo on the master machine.
  2. Create the infrastructure files, which list the source and sink machines.
    • We currently create these files from the Ansible inventory of machines:
      1. clone the SCIONLab Ansible repo
      2. run ./master/ansible-inv-to-infrastructure.py < path/to/scionlab/ansible/inventories/viscon
      3. copy {src,dst}_addr.csv to webserver/infrastructure/ and worker_to_ssh.csv to master/.
    • Some details about those files:
      • The webserver needs src_addr.csv and dst_addr.csv. These list the SCION addresses of source (i.e. player) and destination (i.e. sink) machines, together with how many bytes people should be expected to transfer from/to that machine (the actual task will be the minimum of the two numbers).
      • Buildbot needs worker_to_ssh.csv (it actually only uses the first two columns, i.e. worker names and SCION addresses).
  3. Create the Buildbot master
    • cd master; pipenv sync; pipenv run buildbot create-master buildbot-master
  4. Create and start the Buildbot workers
    • An included helper script can automate worker management by running SSH commands on the machines listed in worker_to_ssh.csv: see master/manage_workers.py --help. It can also create local rather than remote workers for testing.
Clone this wiki locally