From 661d64fdca536583679f845d7ff90870728c5887 Mon Sep 17 00:00:00 2001
From: Chris Hines <chris.hines@monash.edu>
Date: Thu, 23 Feb 2017 12:46:53 +1100
Subject: [PATCH] make things quieter in check mode. Also improve GPU upgrade
 by killing X servers if necessary

Former-commit-id: cf9d432183370894cb24de32788cc8e543b62d67
---
 roles/gpu/tasks/main.yml                    | 12 +++++++++---
 roles/ldapclient/tasks/configLdapClient.yml |  4 ++--
 roles/move_homedir/tasks/main.yml           |  5 +++++
 roles/slurm-start/tasks/main.yml            | 15 ++++++++++++++-
 4 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/roles/gpu/tasks/main.yml b/roles/gpu/tasks/main.yml
index c13e7db2..f4b2d058 100644
--- a/roles/gpu/tasks/main.yml
+++ b/roles/gpu/tasks/main.yml
@@ -78,17 +78,17 @@
 
 - name: set uninstall default
   set_fact: 
-    install_driver: false
+    uninstall_driver: false
 
 - name: set install
   set_fact: 
     install_driver: true
-  when: not nvidia_driver.stat.exists or not installed_driver_version == nvidia_version
+  when: not nvidia_driver.stat.exists or not installed_driver_version.stdout == nvidia_version
 
 - name: set uninstall
   set_fact: 
     uninstall_driver: true
-  when: nvidia_driver.stat.exists and not installed_driver_version == nvidia_version
+  when: nvidia_driver.stat.exists and not installed_driver_version.stdout == nvidia_version
 
 - name: stop the persistence daemon
   service: name=nvidia-persistenced state=stopped
@@ -96,6 +96,12 @@
   become_user: root
   when: uninstall_driver
 
+- name: kill any X processes
+  shell:  ps ax | grep "X :0" | grep -v grep | cut -f 1 -d " " | xargs -I{} kill -9 {}
+  become: true
+  become_user: root
+  when: uninstall_driver
+
 - name: get nvidia driver 
   get_url: url=http://consistency0/src/NVIDIA-Linux-x86_64-{{ nvidia_version }}.run dest=/tmp/NVIDIA-Linux-x86_64-{{ nvidia_version }}.run
   become: true
diff --git a/roles/ldapclient/tasks/configLdapClient.yml b/roles/ldapclient/tasks/configLdapClient.yml
index 3a85550e..cdf3fa9b 100644
--- a/roles/ldapclient/tasks/configLdapClient.yml
+++ b/roles/ldapclient/tasks/configLdapClient.yml
@@ -25,12 +25,12 @@
   when: ldapCaCertContents is defined
 
 - name: "Copy system auth"
-  template: src=system-auth.j2 dest=/etc/pam.d/system-auth
+  template: src=system-auth.j2 dest=/etc/pam.d/system-auth-ac
   become: true
   become_user: root
 
 - name: "Copy password auth"
-  template: src=password-auth.j2 dest=/etc/pam.d/password-auth
+  template: src=password-auth.j2 dest=/etc/pam.d/password-auth-ac
   become: true
   become_user: root
 
diff --git a/roles/move_homedir/tasks/main.yml b/roles/move_homedir/tasks/main.yml
index e0f48634..61d6b03a 100644
--- a/roles/move_homedir/tasks/main.yml
+++ b/roles/move_homedir/tasks/main.yml
@@ -2,11 +2,16 @@
   file: path=/local_home owner=root group=root state=directory
   sudo: true 
 
+- name: stat the local_home path
+  stat: path=/local_home/{{ ansible_user }}
+  register: local_home_path
+
 - name: copy the {{ ansible_user }} home
   shell: cp -ar /home/{{ ansible_user }} /local_home
   ignore_errors: true
   sudo: true
   register: home_copied
+  when: not local_home_path.stat.exists
 
 
 - name: edit passwd file
diff --git a/roles/slurm-start/tasks/main.yml b/roles/slurm-start/tasks/main.yml
index 0aac90c6..2b2d82be 100644
--- a/roles/slurm-start/tasks/main.yml
+++ b/roles/slurm-start/tasks/main.yml
@@ -19,6 +19,7 @@
   template: dest=/etc/systemd/system/slurmdbd.service src=slurmdbd.service.j2 mode=644
   sudo: true
   when: use_systemd is defined and start_slurmdbd is defined
+  register: slurmdbd_service_installed
 
 - name: copy slurm init script
   template: dest=/etc/init.d/slurm src=slurm.initd.j2  mode=755
@@ -29,16 +30,28 @@
   template: dest=/etc/systemd/system/slurmd.service src=slurmd.service.j2 mode=644
   sudo: true
   when: use_systemd is defined and start_slurmd is defined
+  register: slurmd_service_installed
 
 - name: slurmctld.service
   template: dest=/etc/systemd/system/slurmctld.service src=slurmctld.service.j2 mode=644
   sudo: true
   when: use_systemd is defined and start_slurmctld is defined
+  register: slurmctld_service_installed
 
 - name: reload systemd
   shell: systemctl daemon-reload
   sudo: true
-  when: use_systemd is defined
+  when: use_systemd is defined and start_slurmd is defined and slurmd_service_installed | changed
+
+- name: reload systemd
+  shell: systemctl daemon-reload
+  sudo: true
+  when: use_systemd is defined and start_slurmctld is defined and slurmctld_service_installed | changed
+
+- name: reload systemd
+  shell: systemctl daemon-reload
+  sudo: true
+  when: use_systemd is defined and start_slurmdbd is defined and slurmdbd_service_installed | changed
 
 - name: start munge
   service: name=munge state=started enabled=yes
-- 
GitLab