Skip to content

Commit 78bc7a7

Browse files
committed
Adds an irdma health check to h4d nodes
Also enables sudo for os login admins, which is common for most of our advanced blueprints.
1 parent 6c93c05 commit 78bc7a7

1 file changed

Lines changed: 33 additions & 0 deletions

File tree

examples/hpc-slurm-h4d.yaml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,43 @@ deployment_groups:
128128
machine_type: n2-standard-4
129129
enable_login_public_ips: true
130130

131+
- id: controller_startup
132+
source: modules/scripts/startup-script
133+
settings:
134+
runners:
135+
- type: shell
136+
destination: stage_scripts.sh
137+
content: |
138+
#!/bin/bash
139+
SLURM_ROOT=/opt/apps/adm/slurm
140+
PARTITION_NAME=$(h4d_partition.partitions[0].partition_name)
141+
mkdir -m 0755 -p "${SLURM_ROOT}/scripts"
142+
143+
# enable the use of password-free sudo within Slurm jobs on all compute nodes
144+
# feature is restricted to users with OS Admin Login IAM role
145+
# https://cloud.google.com/iam/docs/understanding-roles#compute.osAdminLogin
146+
mkdir -p "${SLURM_ROOT}/prolog_slurmd.d"
147+
mkdir -p "${SLURM_ROOT}/epilog_slurmd.d"
148+
curl -s -o "${SLURM_ROOT}/scripts/sudo-oslogin" \
149+
https://raw.githubusercontent.com/GoogleCloudPlatform/slurm-gcp/master/tools/prologs-epilogs/sudo-oslogin
150+
chmod 0755 "${SLURM_ROOT}/scripts/sudo-oslogin"
151+
152+
ln -s "${SLURM_ROOT}/scripts/sudo-oslogin" "${SLURM_ROOT}/prolog_slurmd.d/sudo-oslogin.prolog_slurmd"
153+
ln -s "${SLURM_ROOT}/scripts/sudo-oslogin" "${SLURM_ROOT}/epilog_slurmd.d/sudo-oslogin.epilog_slurmd"
154+
155+
# enable an RDMA health check that runs prior to any H4D job
156+
mkdir -p "${SLURM_ROOT}/partition-${PARTITION_NAME}-prolog_slurmd.d"
157+
curl -s -o "${SLURM_ROOT}/partition-${PARTITION_NAME}-prolog_slurmd.d/irdma_health_check.prolog_slurmd" \
158+
https://raw.githubusercontent.com/GoogleCloudPlatform/slurm-gcp/master/tools/prologs-epilogs/irdma_health_check
159+
chmod 0755 "${SLURM_ROOT}/partition-${PARTITION_NAME}-prolog_slurmd.d/irdma_health_check.prolog_slurmd"
160+
161+
131162
- id: slurm_controller
132163
source: community/modules/scheduler/schedmd-slurm-gcp-v6-controller
133164
use: [h4d-slurm-net-0, h4d_partition, slurm_login, homefs]
134165
settings:
135166
enable_controller_public_ips: true
167+
controller_startup_script: $(controller_startup.startup_script)
168+
enable_external_prolog_epilog: true
136169
cloud_parameters:
137170
unkillable_step_timeout: 900

0 commit comments

Comments
 (0)