Skip to content

Commit 9e1c92f

Browse files
committed
Document how to provision a new bare metal runner
1 parent 008b1bd commit 9e1c92f

3 files changed

Lines changed: 88 additions & 1 deletion

File tree

.cspell.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,5 +295,6 @@ words:
295295
- Vasconcellos
296296
- Villela
297297
- Vitor
298+
- VNIC
298299
- vtex
299300
- yahn

assets.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,22 @@ Access to bare metal runners for benchmarking is available to repositories on re
7171
(open a community issue),
7272
which will give access to the following GitHub-hosted runner:
7373

74-
- `oracle-bare-metal-64cpu-512gb-x86-64`
74+
- `oracle-bare-metal-64cpu-512gb-x86-64` (Oracle Linux 8)
75+
- `oracle-bare-metal-64cpu-1024gb-x86-64-ubuntu-24` (Ubuntu 24)
76+
77+
We are currently transitioning from the Oracle Linux 8 runner to the
78+
Ubuntu 24 runner. Once the transition is complete, the Oracle Linux 8 runner
79+
will be decommissioned.
7580

7681
Note: there is only one bare metal runner at this time, so
7782
please ensure your workloads are optimized to avoid unnecessary usage.
7883

7984
Admins: [@open-telemetry/admins](https://github.com/orgs/open-telemetry/teams/admins)
8085

86+
SSH private keys are available in the SIG Project Infrastructure 1Password vault.
87+
88+
[How to provision an Oracle bare metal runner](docs/how-to-provision-bare-metal-runner.md)
89+
8190
#### Linux/s390x runners
8291

8392
IBM provides linux/s390x runners for build and test automation on this platform. Access to these runners is available to repositories on request; please open a community issue to request access. The following runners are currently available:
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# How to provision an Oracle bare metal runner
2+
3+
## Overview
4+
5+
This document describes how to provision an Oracle bare metal instance on
6+
Oracle Cloud Infrastructure (OCI).
7+
8+
1. Create the instance
9+
2. Set up the instance
10+
3. Set up GitHub self-hosted runner
11+
12+
## Step 1: Create the instance
13+
14+
1. Log in to the [Oracle Cloud Console](https://www.oracle.com/cloud/sign-in.html)
15+
2. Click the **hamburger menu** (☰) in the top-left corner
16+
3. Select **Compute → Instances**
17+
4. Click **Create Instance**
18+
5. Configure:
19+
- **Compartment**: Select **github-self-hosted-runners**
20+
- **Image**: Click **Change Image** → select **Ubuntu**
21+
choose **Canonical Ubuntu 24.04**
22+
- **Shape**: Click **Change Shape** → select **Bare Metal Machine**
23+
choose **BM.Standard3.64**
24+
- **Networking**: Under **Primary VNIC information**:
25+
1. Change the **VCN compartment** to **OpenTelemetry**
26+
2. Select VCN **vcn-20240506-1118**
27+
3. Change the **Subnet compartment** to **OpenTelemetry**
28+
(this is a separate dropdown from the VCN compartment)
29+
4. Select subnet **subnet-20240506-1118**
30+
- **SSH key**: Under **Add SSH keys**, select **Generate a key pair
31+
for me** and click **Download private key** to download it.
32+
Store the private key in the SIG Project Infrastructure 1Password vault.
33+
6. Click **Create**
34+
35+
## Step 2: Set up the instance
36+
37+
SSH into the instance and install required software:
38+
39+
```bash
40+
ssh ubuntu@<instance-ip>
41+
42+
# Update packages
43+
sudo apt-get update && sudo apt-get upgrade -y
44+
45+
# Install Docker and allow the runner to use it without sudo
46+
sudo apt-get install -y docker.io
47+
sudo usermod -aG docker $USER
48+
```
49+
50+
## Step 3: Set up GitHub self-hosted runner
51+
52+
1. Go to the [org runner settings](https://github.com/organizations/open-telemetry/settings/actions/runners)
53+
2. Click **New self-hosted runner**
54+
3. Select **Linux** and **x64**
55+
4. Follow the instructions shown on the page to download, configure, and start
56+
the runner on the instance
57+
5. When prompted for runner group, enter
58+
**Oracle Cloud bare metal benchmark runners**
59+
6. When prompted for runner name, enter the runner label
60+
(e.g., **oracle-bare-metal-64cpu-1024gb-x86-64-ubuntu-24**)
61+
7. When prompted for additional labels, enter the same runner name
62+
(e.g., **oracle-bare-metal-64cpu-1024gb-x86-64-ubuntu-24**)
63+
8. When prompted for work folder, press **Enter** to accept the default (`_work`)
64+
9. Install and start the runner as a service (instead of using `./run.sh`):
65+
66+
```bash
67+
sudo ./svc.sh install
68+
sudo ./svc.sh start
69+
```
70+
71+
This ensures the runner starts automatically on reboot.
72+
See [configuring the self-hosted runner application as a service](https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/configuring-the-self-hosted-runner-application-as-a-service).
73+
10. Reboot the instance to verify everything starts automatically:
74+
75+
```bash
76+
sudo reboot
77+
```

0 commit comments

Comments
 (0)