1*c8dee2aaSAndroid Build Coastguard Worker--- 2*c8dee2aaSAndroid Build Coastguard Workertitle: 'Skia Swarming Bots' 3*c8dee2aaSAndroid Build Coastguard WorkerlinkTitle: 'Skia Swarming Bots' 4*c8dee2aaSAndroid Build Coastguard Worker--- 5*c8dee2aaSAndroid Build Coastguard Worker 6*c8dee2aaSAndroid Build Coastguard Worker## Overview 7*c8dee2aaSAndroid Build Coastguard Worker 8*c8dee2aaSAndroid Build Coastguard WorkerSkia's Swarming bots are hosted in three places: 9*c8dee2aaSAndroid Build Coastguard Worker 10*c8dee2aaSAndroid Build Coastguard Worker- Google Compute Engine. This is the preferred location for bots which don't 11*c8dee2aaSAndroid Build Coastguard Worker need to run on physical hardware, ie. anything that doesn't require a GPU or a 12*c8dee2aaSAndroid Build Coastguard Worker specific hardware configuration. Most of our compile bots live here, along 13*c8dee2aaSAndroid Build Coastguard Worker with some non-GPU test bots on Linux and Windows. We get surprisingly stable 14*c8dee2aaSAndroid Build Coastguard Worker performance numbers from GCE, despite very few guarantees about the physical 15*c8dee2aaSAndroid Build Coastguard Worker hardware. 16*c8dee2aaSAndroid Build Coastguard Worker- Chrome Golo. This is the preferred location for bots which require specific 17*c8dee2aaSAndroid Build Coastguard Worker hardware or OS configurations that are not supported by GCE. We have several 18*c8dee2aaSAndroid Build Coastguard Worker Mac, Linux, and Windows bots in the Golo. 19*c8dee2aaSAndroid Build Coastguard Worker- The Skolo (local Skia lab in Chapel Hill). Anything we can't get in GCE or the 20*c8dee2aaSAndroid Build Coastguard Worker Golo lives here. This includes a wider variety of GPUs and all Android, 21*c8dee2aaSAndroid Build Coastguard Worker ChromeOS, iOS, and other devices. 22*c8dee2aaSAndroid Build Coastguard Worker 23*c8dee2aaSAndroid Build Coastguard Worker[go/skbl](https://goto.google.com/skbl) lists all Skia Swarming bots. 24*c8dee2aaSAndroid Build Coastguard Worker 25*c8dee2aaSAndroid Build Coastguard Worker### <a name="connecting-to-swarming-bots">Connecting to Swarming Bots</a> 26*c8dee2aaSAndroid Build Coastguard Worker 27*c8dee2aaSAndroid Build Coastguard WorkerIf you need to make changes on a bot/device, please check with the Infra 28*c8dee2aaSAndroid Build Coastguard WorkerGardener or another Infra team member. Most bots/devices can be flashed/imaged 29*c8dee2aaSAndroid Build Coastguard Workerback to a clean state, but others can not. 30*c8dee2aaSAndroid Build Coastguard Worker 31*c8dee2aaSAndroid Build Coastguard Worker- Machine name like “skia-e-gce-NNN”, “skia-ct-gce-NNN”, “skia-i-gce-NNN”, 32*c8dee2aaSAndroid Build Coastguard Worker “ct-gce-NNN”, “ct-xxx-builder-NNN” -> GCE 33*c8dee2aaSAndroid Build Coastguard Worker 34*c8dee2aaSAndroid Build Coastguard Worker - First determine the project for the bot: 35*c8dee2aaSAndroid Build Coastguard Worker - skia-e-gce-NNN, skia-ct-gce-NNN: 36*c8dee2aaSAndroid Build Coastguard Worker [skia-swarming-bots](https://console.cloud.google.com/compute/instances?project=skia-swarming-bots) 37*c8dee2aaSAndroid Build Coastguard Worker - skia-i-gce-NNN: 38*c8dee2aaSAndroid Build Coastguard Worker [google.com:skia-buildbots](https://console.cloud.google.com/compute/instances?project=google.com:skia-buildbots) 39*c8dee2aaSAndroid Build Coastguard Worker - ct-gce-NNN, ct-xxx-builder-NNN: 40*c8dee2aaSAndroid Build Coastguard Worker [ct-swarming-bots](https://console.cloud.google.com/compute/instances?project=ct-swarming-bots) 41*c8dee2aaSAndroid Build Coastguard Worker - To log in to a Linux bot in GCE, use 42*c8dee2aaSAndroid Build Coastguard Worker `gcloud compute ssh --project <project> default@<machine name>`. Choose the 43*c8dee2aaSAndroid Build Coastguard Worker zone listed on the VM's detail page (see links above). You may also specify 44*c8dee2aaSAndroid Build Coastguard Worker the zone using the `--zone` command-line flag. 45*c8dee2aaSAndroid Build Coastguard Worker - To log in to a Windows bot in GCE, first go to the VM's detail page and 46*c8dee2aaSAndroid Build Coastguard Worker click the "Set Windows password" button. (Alternatively, ask the Infra Team 47*c8dee2aaSAndroid Build Coastguard Worker how to log in as chrome-bot.) There are two options to connect: 48*c8dee2aaSAndroid Build Coastguard Worker - SSH: Follow the instructions for Linux using your username rather than 49*c8dee2aaSAndroid Build Coastguard Worker `default`. 50*c8dee2aaSAndroid Build Coastguard Worker - RDP: On the VM's detail page, click the "RDP" button. (You will be 51*c8dee2aaSAndroid Build Coastguard Worker instructed to install the Chrome RDP Extension for GCP if it hasn't 52*c8dee2aaSAndroid Build Coastguard Worker already been installed.) 53*c8dee2aaSAndroid Build Coastguard Worker 54*c8dee2aaSAndroid Build Coastguard Worker- Machine name ends with “a9”, “m3”, "m5". Or name matches the pattern {lin, mac, win}-NNN-g580 -> 55*c8dee2aaSAndroid Build Coastguard Worker Chrome Golo/Labs 56*c8dee2aaSAndroid Build Coastguard Worker 57*c8dee2aaSAndroid Build Coastguard Worker - To log in to Golo bots, see 58*c8dee2aaSAndroid Build Coastguard Worker [go/chrome-infra-build-access](https://goto.google.com/chrome-infra-build-access). 59*c8dee2aaSAndroid Build Coastguard Worker 60*c8dee2aaSAndroid Build Coastguard Worker- Machine name starts with “skia-e-”, “skia-i-” (other than “skia-i-gce-NNN”), 61*c8dee2aaSAndroid Build Coastguard Worker “skia-rpi-” -> Chapel Hill lab (aka Skolo)<br/> To log in to Skolo bots, see 62*c8dee2aaSAndroid Build Coastguard Worker the [Skolo maintenance doc][remote access] remote access section. See the 63*c8dee2aaSAndroid Build Coastguard Worker following for OS specific instructions:<br/> 64*c8dee2aaSAndroid Build Coastguard Worker - [Remotely debug an Android device in Skolo][remotely debug android] 65*c8dee2aaSAndroid Build Coastguard Worker - [VNC to Skolo Windows bots][vnc to skolo windows] 66*c8dee2aaSAndroid Build Coastguard Worker - [ChromeOS Debugging][chromeos debugging] 67*c8dee2aaSAndroid Build Coastguard Worker 68*c8dee2aaSAndroid Build Coastguard Worker## Debugging 69*c8dee2aaSAndroid Build Coastguard Worker 70*c8dee2aaSAndroid Build Coastguard WorkerIf you need to run code on a specific machine/device to debug an issue, the 71*c8dee2aaSAndroid Build Coastguard Workersimplest option is to run tryjobs (after adding debugging output to the relevant 72*c8dee2aaSAndroid Build Coastguard Workercode). In some cases you may also need to 73*c8dee2aaSAndroid Build Coastguard Worker[create or modify tryjobs](../automated_testing#adding-new-jobs). 74*c8dee2aaSAndroid Build Coastguard Worker 75*c8dee2aaSAndroid Build Coastguard WorkerFor Googlers: If you need more control (e.g. to run GDB) and need to run 76*c8dee2aaSAndroid Build Coastguard Workerdirectly on a swarming bot then you can use 77*c8dee2aaSAndroid Build Coastguard Worker[leasing.skia.org](https://leasing.skia.org).<br/> If that does not work then 78*c8dee2aaSAndroid Build Coastguard Workerthe [current infra gardener][current infra gardener] can help you bring the 79*c8dee2aaSAndroid Build Coastguard Workerdevice back to your desk and connect it to GoogleGuest Wifi or the 80*c8dee2aaSAndroid Build Coastguard Worker[Google Test Network](http://go/gtn-criteria). 81*c8dee2aaSAndroid Build Coastguard Worker 82*c8dee2aaSAndroid Build Coastguard WorkerIf you need to make changes on a bot/device, please check with the Infra 83*c8dee2aaSAndroid Build Coastguard WorkerGardener or another Infra team member. Most bots/devices can be flashed/imaged 84*c8dee2aaSAndroid Build Coastguard Workerback to a clean state, but others can not. 85*c8dee2aaSAndroid Build Coastguard Worker 86*c8dee2aaSAndroid Build Coastguard WorkerIf a permanent change needs to be made on the machine (such as an OS or driver 87*c8dee2aaSAndroid Build Coastguard Workerupdate), please [file a bug][infra bug] and assign to jcgregorio for 88*c8dee2aaSAndroid Build Coastguard Workerreassignment. 89*c8dee2aaSAndroid Build Coastguard Worker 90*c8dee2aaSAndroid Build Coastguard WorkerFor your convenience, the machine skolo-builder is available for checking out 91*c8dee2aaSAndroid Build Coastguard Workerand compiling code within the Skolo. See more info in the [Skolo maintenance 92*c8dee2aaSAndroid Build Coastguard Workerdoc][remote access] remote access section. 93*c8dee2aaSAndroid Build Coastguard Worker 94*c8dee2aaSAndroid Build Coastguard Worker[current infra gardener]: 95*c8dee2aaSAndroid Build Coastguard Worker https://rotations.corp.google.com/rotation/4617277386260480 96*c8dee2aaSAndroid Build Coastguard Worker[remote access]: 97*c8dee2aaSAndroid Build Coastguard Worker https://docs.google.com/document/d/1zTR1YtrIFBo-fRWgbUgvJNVJ-s_4_sNjTrHIoX2vulo/edit#heading=h.v77cmwbwc5la 98*c8dee2aaSAndroid Build Coastguard Worker[infra bug]: 99*c8dee2aaSAndroid Build Coastguard Worker https://bugs.chromium.org/p/skia/issues/entry?template=Infrastructure+Bug 100*c8dee2aaSAndroid Build Coastguard Worker[remotely debug android]: 101*c8dee2aaSAndroid Build Coastguard Worker https://docs.google.com/document/d/1nxn7TobfaLNNfhSTiwstOnjV0jCxYUI1uwW0T_V7BYg/ 102*c8dee2aaSAndroid Build Coastguard Worker[vnc to skolo windows]: 103*c8dee2aaSAndroid Build Coastguard Worker https://docs.google.com/document/d/1zTR1YtrIFBo-fRWgbUgvJNVJ-s_4_sNjTrHIoX2vulo/edit#heading=h.7cqd856ft0s 104*c8dee2aaSAndroid Build Coastguard Worker[chromeos debugging]: 105*c8dee2aaSAndroid Build Coastguard Worker https://docs.google.com/document/d/1yJ2LLfLzV6pXKjiameid1LHEz1mj71Ob4wySIYxlBdw/edit#heading=h.9arg79l59xrf 106*c8dee2aaSAndroid Build Coastguard Worker 107*c8dee2aaSAndroid Build Coastguard Worker## Maintenance Tasks 108*c8dee2aaSAndroid Build Coastguard Worker 109*c8dee2aaSAndroid Build Coastguard WorkerSee the [Skolo maintenance doc][skolo maintenance]. 110*c8dee2aaSAndroid Build Coastguard Worker 111*c8dee2aaSAndroid Build Coastguard Worker[skolo maintenance]: 112*c8dee2aaSAndroid Build Coastguard Worker https://docs.google.com/document/d/1zTR1YtrIFBo-fRWgbUgvJNVJ-s_4_sNjTrHIoX2vulo/edit 113