From f0f205a3fcb3d4c6480894fede693dc1318c03ac Mon Sep 17 00:00:00 2001
From: CVL-GitHub <jupiter.hu@monash.edu>
Date: Mon, 15 Dec 2014 03:42:53 +0000
Subject: [PATCH] Change slurm template

---
 roles/easy-rsa-certificate/tasks/buildCert.yml |  2 +-
 roles/etcHosts/defaults/main.yml               |  2 +-
 roles/nfs-client/tasks/mountFileSystem.yml     | 16 ++++++++++++----
 roles/nfs-client/vars/main.yml                 |  4 ++--
 roles/nfs-server/tasks/mkFilesystem.yml        |  3 +++
 roles/nfs-server/vars/main.yml                 |  1 +
 roles/slurm/templates/slurm-vpn.conf.j2        |  2 +-
 roles/slurm/templates/slurm.conf.j2            |  2 +-
 roles/syncExports/handlers/main.yml            |  6 ++++++
 roles/syncExports/tasks/addExports.yml         | 12 ++++++------
 roles/syncExports/templates/exports.j2         |  2 +-
 roles/syncExports/vars/main.yml                |  2 +-
 12 files changed, 36 insertions(+), 18 deletions(-)
 create mode 100644 roles/syncExports/handlers/main.yml

diff --git a/roles/easy-rsa-certificate/tasks/buildCert.yml b/roles/easy-rsa-certificate/tasks/buildCert.yml
index 9d13167..79c15c0 100644
--- a/roles/easy-rsa-certificate/tasks/buildCert.yml
+++ b/roles/easy-rsa-certificate/tasks/buildCert.yml
@@ -33,7 +33,7 @@
   remote_user: "{{ hostvars[x509_ca_server]['ansible_ssh_user'] }}"
   delegate_to: "{{ x509_ca_server }}"
   shell: rm -rf /etc/easy-rsa/2.0/keys/{{ x509_common_name }}.*
-  when: cert.stat.size == 0
+  when: cert is defined and cert.stat.size == 0
 
 - name: "set needcert if cert doesn't match key"
   set_fact: needcert=True
diff --git a/roles/etcHosts/defaults/main.yml b/roles/etcHosts/defaults/main.yml
index c85dccd..fe77804 100644
--- a/roles/etcHosts/defaults/main.yml
+++ b/roles/etcHosts/defaults/main.yml
@@ -1,4 +1,4 @@
 ---
-domain: testdomain.massive.org.au
+domain: testdomain.dummy.invalid
 get_groups: true
 edit_hosts: true
diff --git a/roles/nfs-client/tasks/mountFileSystem.yml b/roles/nfs-client/tasks/mountFileSystem.yml
index 2b54ceb..2f774a9 100644
--- a/roles/nfs-client/tasks/mountFileSystem.yml
+++ b/roles/nfs-client/tasks/mountFileSystem.yml
@@ -1,13 +1,21 @@
 --- 
--
-  name: "Get the NFS Network"
+- name: "Get the NFS Network"
   setup: 
   register: nfsServer
   run_once: true
   delegate_to: "{{ nfs_server }}"
-- 
+  when: nfsServer is defined
+
+- name: "Set nfsServer facts when it is not defined"
+  set_fact:
+    - {{ nfsServer }}
+      - ansible_{{ nfsServerInterface }}:
+        - ipv4:
+          - address: {{ nfsServerIpAddress }}
+  when: nfsServer is defined
+
+- name: "Mounting NFS mounts"
   mount: "name={{ item.name }} src={{ nfsServer['ansible_facts']['ansible_'+item.interface]['ipv4']['address'] }}:{{ item.src }} fstype={{ item.fstype }} opts={{ item.opts }} state=mounted"
-  name: "Mounting NFS mounts"
   with_items: exportList 
   notify: "restart authentication"
   notify: "restart idmap"
diff --git a/roles/nfs-client/vars/main.yml b/roles/nfs-client/vars/main.yml
index fdf2084..6d24638 100644
--- a/roles/nfs-client/vars/main.yml
+++ b/roles/nfs-client/vars/main.yml
@@ -1,5 +1,5 @@
 ---
 # This is a list of exports, individual entry for each mount.
 exportList:
- - { name : '/mnt/test-nfs', src : '/mnt',fstype : 'nfs', opts : 'vers=3,noatime,rsize=16384,wsize=16384,hard,intr,tcp,nolock' , interface : 'tun0' }
- - { name : '/mnt/test-volume', src : '/mnt/vdc',fstype : 'nfs', opts : 'vers=3,noatime,rsize=16384,wsize=16384,hard,intr,tcp,nolock' , interface : 'tun0' }
+ - { name : '/mnt/test-nfs', src : '/mnt',fstype : 'nfs', opts : 'vers=3,noatime,rsize=16384,wsize=16384,hard,intr,tcp,nolock' , interface : 'tun0', srvopts: 'rw,sync,root_squash' }
+ - { name : '/mnt/test-volume', src : '/mnt/vdc',fstype : 'nfs', opts : 'vers=3,noatime,rsize=16384,wsize=16384,hard,intr,tcp,nolock' , interface : 'tun0', srvopts: 'rw,sync,root_squash' }
diff --git a/roles/nfs-server/tasks/mkFilesystem.yml b/roles/nfs-server/tasks/mkFilesystem.yml
index 27de6ff..7dfb2c7 100644
--- a/roles/nfs-server/tasks/mkFilesystem.yml
+++ b/roles/nfs-server/tasks/mkFilesystem.yml
@@ -3,7 +3,10 @@
  name: Format File Systems
  filesystem: fstype={{ item.fstype }} dev={{ item.dev }} opts={{ item.opts }}
  with_items: mkFileSystems
+ when: configDiskDevice
 -
  name: Mount file systems
  mount: name=/mnt/{{ item.dev | basename }} src={{ item.dev }} fstype={{ item.fstype }} opts=loop state=mounted
  with_items: mkFileSystems
+ when: configDiskDevice
+
diff --git a/roles/nfs-server/vars/main.yml b/roles/nfs-server/vars/main.yml
index 0e523e6..9561db2 100644
--- a/roles/nfs-server/vars/main.yml
+++ b/roles/nfs-server/vars/main.yml
@@ -1,3 +1,4 @@
 ---
 mkFileSystems:
  - { fstype : 'ext4', dev : '/dev/vdc', opts: '' } 
+configDiskDevice: true 
diff --git a/roles/slurm/templates/slurm-vpn.conf.j2 b/roles/slurm/templates/slurm-vpn.conf.j2
index b5506e5..671840e 100644
--- a/roles/slurm/templates/slurm-vpn.conf.j2
+++ b/roles/slurm/templates/slurm-vpn.conf.j2
@@ -105,5 +105,5 @@ NodeName={{ node }} NodeAddr={{ node }}-vpn Procs={{ hostvars[node]['ansible_pro
 {% endfor %}
 
 {% for queue in slurmqueues %}
-PartitionName={{ queue.name }} Default=yes Nodes={{ groups[queue.group]|join(',') }}
+PartitionName={{ queue.name }} {% if queue.default %}Default=yes{% endif %} Nodes={{ groups[queue.group]|join(',') }}
 {% endfor %}
diff --git a/roles/slurm/templates/slurm.conf.j2 b/roles/slurm/templates/slurm.conf.j2
index 1afeab1..99b9857 100644
--- a/roles/slurm/templates/slurm.conf.j2
+++ b/roles/slurm/templates/slurm.conf.j2
@@ -105,5 +105,5 @@ NodeName={{ node }} Procs={{ hostvars[node]['ansible_processor_cores'] }} State=
 {% endfor %}
 
 {% for queue in slurmqueues %}
-PartitionName={{ queue.name }} Nodes={{ groups[queue.group]|join(',') }}
+PartitionName={{ queue.name }} {% if queue.default %}Default=yes{% endif %} Nodes={{ groups[queue.group]|join(',') }}
 {% endfor %}
diff --git a/roles/syncExports/handlers/main.yml b/roles/syncExports/handlers/main.yml
new file mode 100644
index 0000000..c861000
--- /dev/null
+++ b/roles/syncExports/handlers/main.yml
@@ -0,0 +1,6 @@
+---
+- name: Reload exports 
+  command: exportfs -ra
+  delegate_to: "{{ nfs_server }}"
+  run_once: true
+  sudo: true
diff --git a/roles/syncExports/tasks/addExports.yml b/roles/syncExports/tasks/addExports.yml
index 7cf8213..ebcb8fc 100644
--- a/roles/syncExports/tasks/addExports.yml
+++ b/roles/syncExports/tasks/addExports.yml
@@ -5,9 +5,9 @@
   delegate_to: "{{ nfs_server }}"
   run_once: true
   sudo: true
--
-  name : Restart the NFS Server
-  service: name=nfs state=restarted
-  delegate_to: "{{ nfs_server }}"
-  run_once: true
-  sudo: true
+#-
+#  name : Restart the NFS Server
+#  service: name=nfs state=restarted
+#  delegate_to: "{{ nfs_server }}"
+#  run_once: true
+#  sudo: true
diff --git a/roles/syncExports/templates/exports.j2 b/roles/syncExports/templates/exports.j2
index 4125a4b..7e005b7 100644
--- a/roles/syncExports/templates/exports.j2
+++ b/roles/syncExports/templates/exports.j2
@@ -1,4 +1,4 @@
 {% for export in exportList %}
-{{ export.src }} {% for group in groupList %}{% for node in  groups[group.name] %}{{ hostvars[node]['ansible_'+group.interface]['ipv4']['address'] }}(rw,sync,root_squash) {% endfor %}{% endfor %}
+{{ export.src }} {% for group in groupList %}{% for node in  groups[group.name] %}{{ hostvars[node]['ansible_'+group.interface]['ipv4']['address'] }}({{ export.option }}) {% endfor %}{% endfor %}
 
 {% endfor %}
diff --git a/roles/syncExports/vars/main.yml b/roles/syncExports/vars/main.yml
index 785aea8..027e4ea 100644
--- a/roles/syncExports/vars/main.yml
+++ b/roles/syncExports/vars/main.yml
@@ -1,3 +1,3 @@
 ---
 groupList:
- - { name : 'openvpn-clients', interface : 'tun0' }
+  - { name : 'openvpn-clients', interface : 'tun0' }
-- 
GitLab