diff --git a/roles/gpu/tasks/main.yml b/roles/gpu/tasks/main.yml
index 8991ee2548217c5b76513b7a8841ab7559c26739..d667addfbd86b7b59c73f132a4ec2a80110d7527 100644
--- a/roles/gpu/tasks/main.yml
+++ b/roles/gpu/tasks/main.yml
@@ -54,6 +54,7 @@
 - name: get kernel version
   shell: uname -r
   register: kernel_version
+  check_mode: no
 
 
 - name: check nvidia driver
diff --git a/roles/lmod/tasks/main.yml b/roles/lmod/tasks/main.yml
index b707be224d08c4c09c87d70ab865b1c0b49adf2e..6de4165d9b8420283a6737db26140b9ddacd2f7a 100644
--- a/roles/lmod/tasks/main.yml
+++ b/roles/lmod/tasks/main.yml
@@ -28,11 +28,17 @@
   sudo: true
   when: ansible_os_family == 'Debian'
 
+- name: stat lmod
+  stat: path="{{ soft_dir }}/lmod/{{ lmod_version }}"
+  register: lmodstat
+
+
 - name: Download LMOD
   get_url:
     url=http://consistency0/src/Lmod-{{ lmod_version }}.tar.bz2
     dest={{source_dir}}/Lmod-{{ lmod_version }}.tar.bz2
     mode=0444
+  when: not lmodstat.stat.exists
 
 - name: Uncompress LMOD
   unarchive:
@@ -40,6 +46,7 @@
     dest={{ source_dir }}
     copy=no
     creates={{source_dir}}/Lmod-{{ lmod_version }}/README
+  when: not lmodstat.stat.exists
 
 - name: Compile and install Lmod
   shell: cd {{ source_dir }}/Lmod-{{ lmod_version }}; ./configure --prefix={{ soft_dir }} --with-mpathSearch=YES --with-caseIndependentSorting=YES && make install LUA_INCLUDE={{ lua_include }}
diff --git a/roles/mellanox_drivers/tasks/main.yml b/roles/mellanox_drivers/tasks/main.yml
index 6cfb5d12dadec32316ba71a4879772be8996ead3..d6d0ea26f0a1bc18757573fd4ddbbb32a6fa0a4e 100644
--- a/roles/mellanox_drivers/tasks/main.yml
+++ b/roles/mellanox_drivers/tasks/main.yml
@@ -12,6 +12,7 @@
   sudo: true
   register: drivers_installed
   ignore_errors: true
+  check_mode: no
 
 - name: default dont install
   set_fact: 
@@ -22,10 +23,12 @@
   command: 'ofed_info | head -n 1 | cut -f 1 -d " "'
   register: driver_version
   ignore_errors: true
+  check_mode: no
 
 - name: get desired driver version
   shell: 'echo {{ MELLANOX_DRIVER_SRC }} | cut -f 1,2,3 -d "-"'
   register: desired_driver_version
+  check_mode: no
 
 
 - name: set install due to drivers not installed
diff --git a/roles/slurm-common/tasks/main.yml b/roles/slurm-common/tasks/main.yml
index cc252f7d16a6812748a8626e25386dabcebb856a..2e4146507057db8d0a285ed3c00558ba4ae45fd7 100644
--- a/roles/slurm-common/tasks/main.yml
+++ b/roles/slurm-common/tasks/main.yml
@@ -83,10 +83,12 @@
   register: slurm_generic_resource
   ignore_errors: true
   when: slurm_gres_check is defined
+  check_mode: no
 
 - name: Gres - Test for Nvidia devices
   script: scripts/nvidia-probe.py
   register: probeOutput
+  check_mode: no
 
 - name: "set nvidiaprobe slurm_gres_list"
   set_fact: "slurm_gres_list={{  probeOutput.stdout }}"
diff --git a/roles/upgrade/tasks/main.yml b/roles/upgrade/tasks/main.yml
index 6f459c63c2362bb9bc205256659db2d1da3931ad..661224e0f5937479b7c5f5c92d19131e868b6e18 100644
--- a/roles/upgrade/tasks/main.yml
+++ b/roles/upgrade/tasks/main.yml
@@ -27,10 +27,12 @@
   shell: rpm -q kernel-devel | cut -f 3,4 -d "-"
   register: rpm_q_output
   when: ansible_os_family=="RedHat"
+  check_mode: no
 
 - name: get kernel version
   shell: uname -r
   register: uname_r_output
+  check_mode: no
 
 - name: default dont reboot
   set_fact: