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