Skip to content

Commit ae06320

Browse files
authored
Merge pull request GoogleCloudPlatform#4704 from samskillman/feat/h4d-irdma-health-check
Adds an irdma health check to h4d nodes
2 parents f4064f4 + 78bc7a7 commit ae06320

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)