servo/etc/taskcluster/packet.net
2018-11-19 14:46:43 +01:00
..
.gitignore Add Terraform config for docker-worker on Packet.net 2018-10-30 13:25:17 +01:00
docker-worker.tf Add Terraform config for docker-worker on Packet.net 2018-10-30 13:25:17 +01:00
list_devices.py Update MPL license to https (part 1) 2018-11-19 14:46:43 +01:00
README.md generic-worker on macOS: run as unprivileged user, start as a service 2018-11-15 17:38:13 +01:00
tc.py Update MPL license to https (part 1) 2018-11-19 14:46:43 +01:00
terraform_with_vars.py Update MPL license to https (part 1) 2018-11-19 14:46:43 +01:00

docker-worker on Packet.net

This is the configuration for the proj-servo/docker-worker-kvm worker type. It is similar to aws-provisioner/docker-worker, except that it runs on a server from Packet.net. This server is “real” non-virtualized hardware, so that Intel VT-x instructions are available and we can run KVM. KVM is required for the Android emulators CPU acceleration, which in turn is required to run OpenGL ES 3 (not just 2) in the guest system.

Setup

List running servers

  • Run ./list_devices.py

(Re)deploying a server

  • Run ./terraform_with_vars.py plan
  • If the plan looks good, run ./terraform_with_vars.py apply
  • Watch the new server being installed. Terraform should finish in 15~20 minutes.

Taskcluster secrets

terraform_with_vars.py uses Taskclusters secrets service. These secrets include an authentication token for Packet.nets API. Youll need to authenticate with a Taskcluster client ID that has scope secrets:get:project/servo/*. This should be the case if youre a Servo project administrator (the project-admin:servo role).

Workers client ID

Workers are configured to authenticate with client ID project/servo/worker/docker-worker-kvm/1. This client has the scopes required to run docker-worker as well as for tasks that we run on this worker type.