diff --git a/roles/server/tasks/install.yml b/roles/server/tasks/install.yml index 34c229c..776e194 100644 --- a/roles/server/tasks/install.yml +++ b/roles/server/tasks/install.yml @@ -10,18 +10,35 @@ name: test_volume become: true +- name: Check if volumes are already configured + ansible.builtin.shell: + cmd: | + for vol in {{ server_disk_volumes }} {{ server_disk_database }}; do + type=$(wipefs -O type -p $vol) + [[ ${{ '{' ~ '#' }}type} -eq 0 ]] && echo "${vol}: true" || echo "${vol}: false" + done + register: server_volume_usage + become: true + +- name: Save volume config status to dict + ansible.builtin.set_fact: + server_vols: "{{ server_volume_usage.stdout | from_yaml }}" + become: true + - name: Prepare storage for volumes and database ansible.builtin.command: cmd: "mgr-storage-server {{ server_disk_volumes }} {{ server_disk_database }}" when: - - server_disk_volumes is defined - - server_disk_database is defined + - server_disk_volumes is defined and server_vols[server_disk_volumes] + - server_disk_database is defined and server_vols[server_disk_database] become: true - name: Prepare storage for volumes ansible.builtin.command: cmd: "mgr-storage-server {{ server_disk_volumes }}" - when: server_disk_volumes is defined + when: + - server_disk_volumes is defined and server_vols[server_disk_volumes] + - server_disk_database is not defined become: true - name: Stage deploy configuration @@ -68,3 +85,4 @@ creates: /root/.MANAGER_INITIALIZATION_COMPLETE become: true notify: Create initialization file +