cgroups inside singularity container
This commit is contained in:
11
roles/cobald/files/cgroup.conf.noautomount
Normal file
11
roles/cobald/files/cgroup.conf.noautomount
Normal file
@@ -0,0 +1,11 @@
|
||||
###
|
||||
#
|
||||
# Slurm cgroup support configuration file
|
||||
#
|
||||
# See man slurm.conf and man cgroup.conf for further
|
||||
# information on cgroup configuration parameters
|
||||
#--
|
||||
CgroupAutomount=no
|
||||
|
||||
ConstrainCores=no
|
||||
ConstrainRAMSpace=no
|
@@ -4,6 +4,7 @@ From: slurm:slurmd
|
||||
%files
|
||||
31-slurmd-configless /etc/docker-init.d/31-slurm-configless
|
||||
/container/volumes/munge/munge.key /etc/munge/munge.key
|
||||
cgroup.conf.noautomount /etc/slurm/cgroup.conf
|
||||
|
||||
%post
|
||||
rm /etc/docker-init.d/30-slurmd
|
||||
|
@@ -8,15 +8,27 @@ 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
|
||||
}
|
||||
|
||||
trap handler_quit EXIT
|
||||
|
||||
# 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 --writable-tmpfs /shared/slurmd.sif slurm-drone \
|
||||
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}))"
|
||||
|
Reference in New Issue
Block a user