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