From b0dc2403f6e4a21edaae807207f6cd35d9152645 Mon Sep 17 00:00:00 2001
From: CVL-GitHub <jupiter.hu@monash.edu>
Date: Tue, 17 Feb 2015 23:07:55 +0000
Subject: [PATCH] Add slurmdb config

---
 roles/slurm-build/tasks/main.yml         |  1 +
 roles/slurm/defaults/main.yml            |  9 +++----
 roles/slurm/templates/slurm.conf.j2      | 24 +++++++++---------
 roles/slurmdb/tasks/main.yml             | 31 +++++++++++++++++++++---
 roles/slurmdb/templates/my.cnf.j2        |  3 +++
 roles/slurmdb/templates/slurmdbd.conf.j2 |  6 ++---
 6 files changed, 50 insertions(+), 24 deletions(-)
 create mode 100644 roles/slurmdb/templates/my.cnf.j2

diff --git a/roles/slurm-build/tasks/main.yml b/roles/slurm-build/tasks/main.yml
index 4b3db43..56a8287 100644
--- a/roles/slurm-build/tasks/main.yml
+++ b/roles/slurm-build/tasks/main.yml
@@ -11,6 +11,7 @@
     - pam-devel
     - perl-ExtUtils-MakeMaker
     - bzip2-devel
+    - mysql
 
 - name: install deps in control node
   yum: name={{ item }} state=installed
diff --git a/roles/slurm/defaults/main.yml b/roles/slurm/defaults/main.yml
index 7bf688a..1f9e2d6 100644
--- a/roles/slurm/defaults/main.yml
+++ b/roles/slurm/defaults/main.yml
@@ -1,8 +1,5 @@
 ---
 clustername: "CIAB" 
-#slurmctlddebug: 3
-#slurmddebug: 3
-#slurmdlogfile: /tmp/slurm/log/slurmd.log 
-#slurmctldlogfile: /tmp/slurm/log/slurmctld.log 
-#slurmschedlog: 9
-#slurmschedlogfile: /tmp/slurm/log/slurmsched.log
+slurmctlddebug: {} 
+slurmddebug: {} 
+slurmschedlog: {} 
diff --git a/roles/slurm/templates/slurm.conf.j2 b/roles/slurm/templates/slurm.conf.j2
index 8c4def4..202480a 100644
--- a/roles/slurm/templates/slurm.conf.j2
+++ b/roles/slurm/templates/slurm.conf.j2
@@ -74,23 +74,23 @@ FastSchedule=1
 #PriorityMaxAge=1-0
 #
 # LOGGING
-{% if slurmctlddebug and slurmctldlogfile %}
-SlurmctldDebug={{ slurmctlddebug }}
-SlurmctldLogFile={{ slurmctldlogfile }}
+{% if slurmctlddebug %}
+SlurmctldDebug={{ slurmctlddebug.level }}
+SlurmctldLogFile={{ slurmctlddebug.log }}
 {% else %}
 #SlurmctldDebug=
 #SlurmctldLogFile=
 {% endif %}
-{% if slurmddebug and slurmdlogfile %}
-SlurmdDebug={{ slurmddebug }}
-SlurmdLogFile={{ slurmdlogfile }}
+{% if slurmddebug %}
+SlurmdDebug={{ slurmddebug.level }}
+SlurmdLogFile={{ slurmddebug.log }}
 {% else %}
 #SlurmdDebug=
 #SlurmdLogFile=
 {% endif %}
-{% if slurmschedlog and slurmschedlogfile %}
-SlurmSchedlogLevel={{ slurmschedlog }}
-SlurmSchedLogFile={{ slurmschedlogfile }}
+{% if slurmschedlog %}
+SlurmSchedlogLevel={{ slurmschedlog.level }}
+SlurmSchedLogFile={{ slurmschedlog.log }}
 {% else %}
 #SlurmSchedlogLevel=
 #SlurmSchedLogFile=
@@ -104,15 +104,15 @@ JobCompType=jobcomp/none
 #
 AccountingStorageType=accounting_storage/slurmdbd
 AccountingStorageHost={{ slurmctrl }}
-AccountingStorageEnforce=limits,safe
+#AccountingStorageEnforce=limits,safe
 #AccountingStorageLoc=
 #AccountingStoragePass=
 #AccountingStorageUser=
 #
 
 # Fair share
-{% if slurmfairshare %}
-PriorityWeightFairshare={{ slurmfairshare }}
+{% if slurmfairshare.def %}
+PriorityWeightFairshare={{ slurmfairshare.val }}
 {% endif %}
 
 DisableRootJobs=YES
diff --git a/roles/slurmdb/tasks/main.yml b/roles/slurmdb/tasks/main.yml
index 07d6bbe..20efae1 100644
--- a/roles/slurmdb/tasks/main.yml
+++ b/roles/slurmdb/tasks/main.yml
@@ -1,4 +1,25 @@
 ---
+- name: install deps in control node
+  yum: name={{ item }} state=installed
+  sudo: true
+  with_items:
+    - mysql
+    - mysql-server
+    - mysql-devel
+    - MySQL-python
+
+- name: "Start the Server"
+  service: "name=mysqld enabled=yes state=restarted"
+  sudo: true
+
+- name: install mysql local root password 
+  mysql_user: check_implicit_admin=True login_user=root login_password="{{ slurmDbRootPassword }}" name=root password="{{ slurmDbRootPassword }}" state=present
+  sudo: true
+
+- name: create slurmdb group
+  group: name=slurmdb system=yes
+  sudo: true
+
 - name: create slurmdb user
   user: name=slurmdb group=slurmdb system=yes createhome=no
   sudo: true
@@ -7,7 +28,11 @@
   template: src=slurmdbd.conf.j2 dest=/etc/slurm/slurmdbd.conf
   sudo: true
 
-- name: slurm db template 
-  template: src=slurmdb.sh.j2 dest=/etc/slurm/slurmdb.sh
+- name: configure database slurmdb localhost
+  mysql_user: login_user=root login_password="{{ slurmDbRootPassword }}" name=slurmdb password="{{ slurmDbPassword }}" host=localhost priv=*.*:ALL,GRANT state=present
   sudo: true
-  notify: restart slurmdbd
+
+- name: configure database slurmdb domain 
+  mysql_user: login_user=root login_password="{{ slurmDbRootPassword }}" name=slurmdb password="{{ slurmDbPassword }}" host="{{ ansible_hostname }}"."{{ ansible_domain }}" priv=*.*:ALL,GRANT state=present
+  sudo: true
+
diff --git a/roles/slurmdb/templates/my.cnf.j2 b/roles/slurmdb/templates/my.cnf.j2
new file mode 100644
index 0000000..d36bc9b
--- /dev/null
+++ b/roles/slurmdb/templates/my.cnf.j2
@@ -0,0 +1,3 @@
+[client]
+user=root
+password={{ slurmDbRootPassword }}
diff --git a/roles/slurmdb/templates/slurmdbd.conf.j2 b/roles/slurmdb/templates/slurmdbd.conf.j2
index fbc4a56..432c535 100644
--- a/roles/slurmdb/templates/slurmdbd.conf.j2
+++ b/roles/slurmdb/templates/slurmdbd.conf.j2
@@ -22,9 +22,9 @@ DbdHost={{ slurmctrl }}
 SlurmUser=slurm
 #MessageTimeout=300
 #DefaultQOS=normal,standby
-{% if slurmschedlog and slurmschedlogfile %}
-DebugLevel={{ slurmschedlog }}
-LogFile={{ slurmschedlogfile }}
+{% if slurmdbdlog %}
+DebugLevel={{ slurmdbdlog.level }}
+LogFile={{ slurmdbdlog.log }}
 {% else %}
 #DebugLevel=
 #LogFile=
-- 
GitLab