#!/bin/sh #SBATCH -D /shared export echo $@ nodename=$(hostname | awk '{ print "drone" substr($1,match($1, "([[:digit:]]+)")) }') function handler_quit(){ echo "shutdown container" singularity instance stop slurm-drone scontrol update NodeName=${nodename} State=FUTURE umount /inner-cgroup/freezer umount /inner-cgroup exit 0 } # set -x trap handler_quit EXIT echo "mounting cgroups" mkdir /inner-cgroup mount -t tmpfs none /inner-cgroup mkdir /inner-cgroup/freezer/ mount --bind /sys/fs/cgroup/freezer/slurm/ /inner-cgroup/freezer/ mount -o remount,ro /inner-cgroup echo "starting ${nodename}" singularity instance start \ -B /inner-cgroup/:/sys/fs/cgroup/ \ --writable-tmpfs /shared/slurmd.sif slurm-drone \ slurm-ctl ${nodename} if [ $? -eq 0 ] ; then echo "container started, sleeping $(( 60 * ${SLURM_Walltime}))" sleep $(( 60 * ${SLURM_Walltime} )) fi handler_quit