• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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"></a> Connecting to Swarming Bots
26
27---
28
29If you need to make changes on a bot/device, please check with the Infra
30Gardener or another Infra team member. Most bots/devices can be flashed/imaged
31back to a clean state, but others can not.
32
33- Machine name like “skia-e-gce-NNN”, “skia-ct-gce-NNN”, “skia-i-gce-NNN”,
34  “ct-gce-NNN”, “ct-xxx-builder-NNN” -> GCE
35
36  - First determine the project for the bot:
37    - skia-e-gce-NNN, skia-ct-gce-NNN:
38      [skia-swarming-bots](https://console.cloud.google.com/compute/instances?project=skia-swarming-bots)
39    - skia-i-gce-NNN:
40      [google.com:skia-buildbots](https://console.cloud.google.com/compute/instances?project=google.com:skia-buildbots)
41    - ct-gce-NNN, ct-xxx-builder-NNN:
42      [ct-swarming-bots](https://console.cloud.google.com/compute/instances?project=ct-swarming-bots)
43  - To log in to a Linux bot in GCE, use
44    `gcloud compute ssh --project <project> default@<machine name>`. Choose the
45    zone listed on the VM's detail page (see links above). You may also specify
46    the zone using the `--zone` command-line flag.
47  - To log in to a Windows bot in GCE, first go to the VM's detail page and
48    click the "Set Windows password" button. (Alternatively, ask the Infra Team
49    how to log in as chrome-bot.) There are two options to connect:
50    - SSH: Follow the instructions for Linux using your username rather than
51      `default`.
52    - RDP: On the VM's detail page, click the "RDP" button. (You will be
53      instructed to install the Chrome RDP Extension for GCP if it hasn't
54      already been installed.)
55
56- Machine name ends with “a9”, “m3”, "m5" -> Chrome Golo/Labs
57
58  - To log in to Golo bots, see
59    [go/chrome-infra-build-access](https://goto.google.com/chrome-infra-build-access).
60
61- Machine name starts with “skia-e-”, “skia-i-” (other than “skia-i-gce-NNN”),
62  “skia-rpi-” -> Chapel Hill lab (aka Skolo)<br/> To log in to Skolo bots, see
63  the [Skolo maintenance doc][remote access] remote access section. See the
64  following for OS specific instructions:<br/>
65  - [Remotely debug an Android device in Skolo][remotely debug android]
66  - [VNC to Skolo Windows bots][vnc to skolo windows]
67  - [ChromeOS Debugging][chromeos debugging]
68
69## Debugging
70
71If you need to run code on a specific machine/device to debug an issue, the
72simplest option is to run tryjobs (after adding debugging output to the relevant
73code). In some cases you may also need to
74[create or modify tryjobs](../automated_testing#adding-new-jobs).
75
76For Googlers: If you need more control (e.g. to run GDB) and need to run
77directly on a swarming bot then you can use
78[leasing.skia.org](https://leasing.skia.org).<br/> If that does not work then
79the [current infra gardener][current infra gardener] can help you bring the
80device back to your desk and connect it to GoogleGuest Wifi or the
81[Google Test Network](http://go/gtn-criteria).
82
83If you need to make changes on a bot/device, please check with the Infra
84Gardener or another Infra team member. Most bots/devices can be flashed/imaged
85back to a clean state, but others can not.
86
87If a permanent change needs to be made on the machine (such as an OS or driver
88update), please [file a bug][infra bug] and assign to jcgregorio for
89reassignment.
90
91For your convenience, the machine skolo-builder is available for checking out
92and compiling code within the Skolo. See more info in the [Skolo maintenance
93doc][remote access] remote access section.
94
95[current infra gardener]:
96  https://rotations.corp.google.com/rotation/4617277386260480
97[remote access]:
98  https://docs.google.com/document/d/1zTR1YtrIFBo-fRWgbUgvJNVJ-s_4_sNjTrHIoX2vulo/edit#heading=h.v77cmwbwc5la
99[infra bug]:
100  https://bugs.chromium.org/p/skia/issues/entry?template=Infrastructure+Bug
101[remotely debug android]:
102  https://docs.google.com/document/d/1nxn7TobfaLNNfhSTiwstOnjV0jCxYUI1uwW0T_V7BYg/
103[vnc to skolo windows]:
104  https://docs.google.com/document/d/1zTR1YtrIFBo-fRWgbUgvJNVJ-s_4_sNjTrHIoX2vulo/edit#heading=h.7cqd856ft0s
105[chromeos debugging]:
106  https://docs.google.com/document/d/1yJ2LLfLzV6pXKjiameid1LHEz1mj71Ob4wySIYxlBdw/edit#heading=h.9arg79l59xrf
107
108## Maintenance Tasks
109
110See the [Skolo maintenance doc][skolo maintenance].
111
112[skolo maintenance]:
113  https://docs.google.com/document/d/1zTR1YtrIFBo-fRWgbUgvJNVJ-s_4_sNjTrHIoX2vulo/edit
114