From efe44d862f0c07011fdfbcf73a401f874506c2d9 Mon Sep 17 00:00:00 2001 From: CVL-GitHub <jupiter.hu@monash.edu> Date: Fri, 10 Apr 2015 16:44:13 +1000 Subject: [PATCH] fixed templates --- .../tasks/installMungeFromSource.yml | 6 +++ .../slurm-from-source/templates/slurm.conf.j2 | 9 +++- .../templates/slurm_provision.sh.j2 | 50 +++++++++++-------- 3 files changed, 41 insertions(+), 24 deletions(-) diff --git a/roles/slurm-from-source/tasks/installMungeFromSource.yml b/roles/slurm-from-source/tasks/installMungeFromSource.yml index 11d376a5..2b9555ef 100644 --- a/roles/slurm-from-source/tasks/installMungeFromSource.yml +++ b/roles/slurm-from-source/tasks/installMungeFromSource.yml @@ -1,3 +1,9 @@ +- name: clean up system installation + shell: rpm -e munge-libs slurm-munge munge slurm-plugins munge-devel slurm slurm-slurmdbd slurm-perlapi slurm-devel slurm-pam_slurm slurm-sjstat slurm-perlapi slurm-pam_slurm slurm-slurmdb-direct slurm-torque slurm-sjobexit + ignore_errors: true + sudo: true + when: ansible_distribution == "RedHat" + - name: get munge shell: wget https://munge.googlecode.com/files/munge-{{ munge_version }}.tar.bz2 args: diff --git a/roles/slurm-from-source/templates/slurm.conf.j2 b/roles/slurm-from-source/templates/slurm.conf.j2 index 7832ac9a..b8d0753a 100644 --- a/roles/slurm-from-source/templates/slurm.conf.j2 +++ b/roles/slurm-from-source/templates/slurm.conf.j2 @@ -98,6 +98,11 @@ SlurmSchedLogFile={{ slurmschedlog.log }} JobCompType=jobcomp/none #JobCompLoc= # +{% if slurmjob %} +Prolog={{ slurmjob.prolog }} +Epilog={{ slurmjob.epilog }} +{% endif %} +# # ACCOUNTING #JobAcctGatherType=jobacct_gather/linux #JobAcctGatherFrequency=30 @@ -110,7 +115,7 @@ AccountingStorageHost={{ slurmctrl }} #AccountingStorageUser= # #GRES -GresTypes=gpu +#GresTypes=gpu # Fair share {% if slurmfairshare.def %} @@ -128,7 +133,7 @@ MpiParams=ports=12000-12999 {% endfor %} {% endfor %} {% for node in nodelist|unique %} -NodeName={{ node }} Procs={{ hostvars[node]['ansible_processor_vcpus'] }} State=UNKNOWN +NodeName={{ node }} Procs={{ hostvars[node]['ansible_processor_vcpus'] }} {% endfor %} {% for queue in slurmqueues %} diff --git a/roles/slurm-provision/templates/slurm_provision.sh.j2 b/roles/slurm-provision/templates/slurm_provision.sh.j2 index e1dda7c2..6da159b8 100644 --- a/roles/slurm-provision/templates/slurm_provision.sh.j2 +++ b/roles/slurm-provision/templates/slurm_provision.sh.j2 @@ -1,33 +1,39 @@ #!/bin/sh -CVL_HOME="/cvl/home" +HOME_DIR="/cvl/home" user_list=($(getent passwd | cut -d ":" -f1)) log_file="/root/slurm.log" for user in ${user_list[*]}; do - uid=$(id -u ${user}) - gid=$(id -g ${user}) - user_home=${CVL_HOME}/${user} - if [[ ! -d ${user_home} && ${uid} -gt 1000 ]]; then - mkdir -p ${user_home} - cp -r /etc/skel/* ${user_home} - chown -R ${uid}:${gid} ${user_home} - chmod 700 ${user_home} + {% if project_check is defined %} + run=$(id ${user} | grep {{ project_check }}) + {% else %} + run="1" + {% endif %} + if [ ! -z "${run}" ]; then + uid=$(id -u ${user}) + gid=$(id -g ${user}) + user_home=${HOME_DIR}/${user} + if [[ ! -d ${user_home} && ${uid} -gt 1000 ]]; then + cp -r /etc/skel ${user_home} + chown -R ${uid}:${gid} ${user_home} + chmod 700 ${user_home} - account={{ projectname }} - cluster={{ clustername }} + account={{ projectname }} + cluster={{ clustername }} - find=$(sacctmgr list cluster ${cluster} | grep ${cluster}) - if [ -z "${find}" ]; then - su slurm -c "sacctmgr -i add cluster ${cluster}" || { echo "error to create cluster ${cluster}" >> ${log_file} && exit 1; } - fi - find=$(sacctmgr list account ${account} | grep ${account}) - if [ -z "${find}" ]; then - su slurm -c "sacctmgr -i add account ${account} Description=CVL Organization=monash cluster=${cluster}" || { echo "error to create account ${account}" >> ${log_file} && exit 1; } - fi - find=$(sacctmgr list user ${username} | grep ${username}) - if [ -z "${find}" ]; then - su slurm -c "sacctmgr -i add user ${username} account=${account} cluster=${cluster}" || { echo "error to create user ${username}" >> ${log_file} && exit 1; } + find=$(sacctmgr list cluster ${cluster} | grep ${cluster}) + if [ -z "${find}" ]; then + su slurm -c "sacctmgr -i add cluster ${cluster}" || { echo "error to create cluster ${cluster}" >> ${log_file} && exit 1; } + fi + find=$(sacctmgr list account ${account} | grep ${account}) + if [ -z "${find}" ]; then + su slurm -c "sacctmgr -i add account ${account} Description=CVL Organization=monash cluster=${cluster}" || { echo "error to create account ${account}" >> ${log_file} && exit 1; } + fi + find=$(sacctmgr list user ${user} | grep ${user}) + if [ -z "${find}" ]; then + su slurm -c "sacctmgr -i add user ${user} account=${account} cluster=${cluster}" || { echo "error to create user ${user}" >> ${log_file} && exit 1; } + fi fi fi done -- GitLab