From 8c187dcaa23aaf39da5bce32c47445d89e700670 Mon Sep 17 00:00:00 2001
From: Chris Hines <chris.hines@monash.edu>
Date: Tue, 16 Aug 2016 13:53:27 +1000
Subject: [PATCH] factor out all the directory creation for slurm into its own
 yml file for readability

Former-commit-id: be3c0c5305afcf4ac8a21ce7f13d1ba5a223c132
---
 .../tasks/createSlurmDirectories.yml          | 55 +++++++++++++++
 roles/slurm-common/tasks/main.yml             | 67 ++-----------------
 2 files changed, 59 insertions(+), 63 deletions(-)
 create mode 100644 roles/slurm-common/tasks/createSlurmDirectories.yml

diff --git a/roles/slurm-common/tasks/createSlurmDirectories.yml b/roles/slurm-common/tasks/createSlurmDirectories.yml
new file mode 100644
index 00000000..c8024350
--- /dev/null
+++ b/roles/slurm-common/tasks/createSlurmDirectories.yml
@@ -0,0 +1,55 @@
+---
+- name: make sure slurm conf dir exists
+  file: dest={{ slurm_dir }}/etc state=directory
+  sudo: true
+
+- name: make sure slurm lock dir exists
+  file: dest=/var/lock/subsys state=directory owner=root group=root mode=755
+  sudo: true
+
+- name: create data directory
+  file: path={{ slurmdatadir }} state=directory owner=slurm group=slurm mode=755
+  sudo: true
+  when: slurmdatadir is defined 
+      
+- name: stat run directory
+  stat: path={{ slurmpiddir }} 
+  become_user: root
+  become: True
+  register: runstat
+  when: slurmpiddir is defined
+
+- name: create run directory
+  file: path={{ slurmpiddir }} state=directory owner=slurm group=slurm mode=755
+  sudo: true
+  when: slurmpiddir is defined and not runstat.stat.exists
+
+- name: create shared state directory
+  file: path={{slurmsharedstatedir }} state=directory owner=slurm group=slurm mode=750
+  sudo: true
+  run_once: true
+  when: usesharedstatedir is defined and usesharedstatedir
+
+- name: symlink shared state dir
+  file: path={{ slurmstatedir }} src={{ slurmsharedstatedir }} state=link
+  sudo: true
+  when: usesharedstatedir is defined and usesharedstatedir
+
+- name: create state directory
+  file: path={{ slurmstatedir }} state=directory owner=slurm group=slurm mode=750
+  sudo: true
+  when: slurmstatedir is defined  and not usesharedstatedir
+
+- name: create log directory
+  file: path={{ slurmlogdir }} state=directory owner=slurm group=slurm mode=750
+  sudo: true
+  when: slurmlogdir is defined 
+
+- name: make sure slurm conf dir exists
+  file: dest={{ slurm_dir }}/etc state=directory
+  sudo: true
+
+- name: create greps directory
+  file: path={{ slurm_dir }}/etc/gres state=directory owner=slurm group=slurm mode=755
+  sudo: true
+
diff --git a/roles/slurm-common/tasks/main.yml b/roles/slurm-common/tasks/main.yml
index 9f15c287..255948e1 100644
--- a/roles/slurm-common/tasks/main.yml
+++ b/roles/slurm-common/tasks/main.yml
@@ -15,59 +15,7 @@
   user: name=slurm group=slurm system=yes createhome=no uid=497
   sudo: true
 
-- name: make sure slurm conf dir exists
-  file: dest={{ slurm_dir }}/etc state=directory
-  sudo: true
-
-- name: make sure slurm lock dir exists
-  file: dest=/var/lock/subsys state=directory owner=root group=root mode=755
-  sudo: true
-
-- name: create data directory
-  file: path={{ slurmdatadir }} state=directory owner=slurm group=slurm mode=755
-  sudo: true
-  when: slurmdatadir is defined 
-      
-- name: stat run directory
-  stat: path={{ slurmpiddir }} 
-  become_user: root
-  become: True
-  register: runstat
-  when: slurmpiddir is defined
-
-- name: create run directory
-  file: path={{ slurmpiddir }} state=directory owner=slurm group=slurm mode=755
-  sudo: true
-  when: slurmpiddir is defined and not runstat.stat.exists
-
-- name: create shared state directory
-  file: path={{slurmsharedstatedir }} state=directory owner=slurm group=slurm mode=750
-  sudo: true
-  run_once: true
-  when: usesharedstatedir is defined and usesharedstatedir
-
-- name: symlink shared state dir
-  file: path={{ slurmstatedir }} src={{ slurmsharedstatedir }} state=link
-  sudo: true
-  when: usesharedstatedir is defined and usesharedstatedir
-
-- name: create state directory
-  file: path={{ slurmstatedir }} state=directory owner=slurm group=slurm mode=750
-  sudo: true
-  when: slurmstatedir is defined  and not usesharedstatedir
-
-- name: create log directory
-  file: path={{ slurmlogdir }} state=directory owner=slurm group=slurm mode=750
-  sudo: true
-  when: slurmlogdir is defined 
-
-- name: make sure slurm conf dir exists
-  file: dest={{ slurm_dir }}/etc state=directory
-  sudo: true
-
-- name: create greps directory
-  file: path={{ slurm_dir }}/etc/gres state=directory owner=slurm group=slurm mode=755
-  sudo: true
+- include: createSlurmDirectories.yml
 
 - name: install deps
   yum: name={{ item }} state=present
@@ -128,14 +76,7 @@
 
 - include: installSlurmFromSource.yml
 
-- name: make sure slurm conf dir exists
-  file: dest={{ slurm_dir }}/etc state=directory
-  sudo: true
-
-- name: create greps directory
-  file: path={{ slurm_dir }}/etc/gres state=directory owner=slurm group=slurm mode=755
-  sudo: true
-
+- include: createSlurmDirectories.yml
 
 - name: check slurm generic resource
   shell: "{{ slurm_gres_check }}"
@@ -144,13 +85,13 @@
   when: slurm_gres_check is defined
 
 - name: Gres - Test for Nvidia devices
-  script: ./nvidia-probe.py
+  script: scripts/nvidia-probe.py
   register: probeOutput
 
 - set_fact: slurm_gres_list= "[ ]"
 
 - name: "set nvidiaprobe slurm_gres_list"
-  set_fact: slurm_gres_list={{  probeOutput.stdout | from_json }}
+  set_fact: "slurm_gres_list={{  probeOutput.stdout | from_json }}"
   when: probeOutput.stdout is defined and ( probeOutput.stdout|length !=0 )
 
 - name: template gres.conf file
-- 
GitLab