From f56f0fb6b11043d3840e894ef7de9688e48105fa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Sachse?= <joerg.sachse@slub-dresden.de>
Date: Thu, 2 Feb 2023 11:51:27 +0100
Subject: [PATCH] fix: only create mountpoints if they don't exist yet

---
 tasks/configure_nfs_mounts.yml | 49 ++++++----------------------------
 1 file changed, 8 insertions(+), 41 deletions(-)

diff --git a/tasks/configure_nfs_mounts.yml b/tasks/configure_nfs_mounts.yml
index 99f3cd0..cbaf714 100644
--- a/tasks/configure_nfs_mounts.yml
+++ b/tasks/configure_nfs_mounts.yml
@@ -15,22 +15,18 @@
   tags: [notest]
 
 ### MOUNTPOINTS PERMANENT ERSTELLEN ###
-- name: Mountpoints für Permanent Storage anlegen
+- name: check if mountpoint directory exists
+  ansible.builtin.stat:
+    path: "{{ item.mountpoint }}"
+  loop: "{{ vault_permanent_nfs_mounts }}"
+  register: stat_result
+- name: Mountpoints für Permanent Storage anlegen, falls sie nicht existieren
   ansible.builtin.file:
     path: "{{ item.mountpoint }}"
     state: directory
     mode: "0400"
-  loop: "{{ vault_permanent_nfs_mounts }}"
-#    - "{{ vault_nfs_mounts.permanent_dev.mountpoint }}"
-#    - "{{ vault_nfs_mounts.permanent_test.mountpoint }}"
-#    - "{{ vault_nfs_mounts.permanent_prod_slub_2015.mountpoint }}"
-#    - "{{ vault_nfs_mounts.permanent_prod_slub_2016.mountpoint }}"
-#    - "{{ vault_nfs_mounts.permanent_prod_slub_2017.mountpoint }}"
-#    - "{{ vault_nfs_mounts.permanent_prod_slub_2018.mountpoint }}"
-#    - "{{ vault_nfs_mounts.permanent_prod_slub_2019.mountpoint }}"
-#    - "{{ vault_nfs_mounts.permanent_prod_slub_2020.mountpoint }}"
-#    - "{{ vault_nfs_mounts.permanent_prod_slub_2021.mountpoint }}"
-#    - "{{ vault_nfs_mounts.permanent_prod_lfulg.mountpoint }}"
+  loop: "{{ stat_result.results }}"
+  when: not item.stat.exists
 
 ### PERMANENT STORAGE MOUNTEN ###
 - name: NFS-Shares für Permanent Storage mounten
@@ -41,33 +37,4 @@
     fstype: "nfs"
     opts: "ro,{{ item.opts | default('ro,defaults,nodev,nosuid,rsize=8192,wsize=8192,vers=3') }}"
   loop: "{{ vault_permanent_nfs_mounts }}"
-#  with_items:
-#    - name: "{{ vault_nfs_mounts.permanent_dev.mountpoint }}"
-#      src: "{{ vault_nfs_mounts.permanent_dev.share }}"
-#    - name: "{{ vault_nfs_mounts.permanent_test.mountpoint }}"
-#      src: "{{ vault_nfs_mounts.permanent_test.share }}"
-#    - name: "{{ vault_nfs_mounts.permanent_prod_slub_2015.mountpoint }}"
-#      src: "{{ vault_nfs_mounts.permanent_prod_slub_2015.share }}"
-#      opts: "auto,nfsvers=4"
-#    - name: "{{ vault_nfs_mounts.permanent_prod_slub_2016.mountpoint }}"
-#      src: "{{ vault_nfs_mounts.permanent_prod_slub_2016.share }}"
-#      opts: "auto,nfsvers=4"
-#    - name: "{{ vault_nfs_mounts.permanent_prod_slub_2017.mountpoint }}"
-#      src: "{{ vault_nfs_mounts.permanent_prod_slub_2017.share }}"
-#      opts: "auto,nfsvers=4"
-#    - name: "{{ vault_nfs_mounts.permanent_prod_slub_2018.mountpoint }}"
-#      src: "{{ vault_nfs_mounts.permanent_prod_slub_2018.share }}"
-#      opts: "auto,nfsvers=4"
-#    - name: "{{ vault_nfs_mounts.permanent_prod_slub_2019.mountpoint }}"
-#      src: "{{ vault_nfs_mounts.permanent_prod_slub_2019.share }}"
-#      opts: "auto,nfsvers=4"
-#    - name: "{{ vault_nfs_mounts.permanent_prod_slub_2020.mountpoint }}"
-#      src: "{{ vault_nfs_mounts.permanent_prod_slub_2020.share }}"
-#      opts: "auto,nfsvers=4"
-#    - name: "{{ vault_nfs_mounts.permanent_prod_slub_2021.mountpoint }}"
-#      src: "{{ vault_nfs_mounts.permanent_prod_slub_2021.share }}"
-#      opts: "auto,nfsvers=4"
-#    - name: "{{ vault_nfs_mounts.permanent_prod_lfulg.mountpoint }}"
-#      src: "{{ vault_nfs_mounts.permanent_prod_lfulg.share }}"
-#      opts: "auto,nfsvers=4"
   tags: [notest]
-- 
GitLab