deploy/ansible/roles-sap-os/2.6-sap-mounts/tasks/2.6.9-custom-mounts.yaml (71 lines of code) (raw):
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
# /*---------------------------------------------------------------------------8
# | |
# | Perform the mounts |
# | Create directories and make them immutable |
# | |
# +------------------------------------4--------------------------------------*/
- name: "Custom Mount: Create Directories ({{ custom_mount.path }})"
ansible.builtin.file:
owner: '{{ sidadm_uid }}'
group: sapsys
mode: 0755
path: "{{ custom_mount.path }}"
state: directory
recurse: true
register: is_created_now
when:
- node_tier in custom_mount.target_nodes or custom_mount.target_nodes == ['all']
- name: "Custom Mount: Create Directory on NSF ({{ custom_mount.path }})"
when:
- custom_mount.create_temp_folders
- ansible_hostname == ansible_play_hosts[0]
block:
- name: "Custom Mount: {{ custom_mount.mount }}/{{ custom_mount.folder }}"
ansible.posix.mount:
src: "{{ custom_mount.mount }}"
path: "{{ custom_mount.path }}"
fstype: "nfs4"
opts: "{{ custom_mount.opts }}"
state: mounted
- name: "Custom Mount: Create Directory ({{ custom_mount.folder }})"
ansible.builtin.file:
owner: '{{ sidadm_uid }}'
group: sapsys
mode: 0755
path: "{{ custom_mount.path }}/{{ custom_mount.folder }}"
state: directory
- name: "Custom Mount: Unmount "
ansible.posix.mount:
src: "{{ custom_mount.mount }}"
path: "{{ custom_mount.path }}"
fstype: "nfs4"
opts: "{{ custom_mount.opts }}"
state: unmounted
- name: "Custom Mount: Change attribute only when we create SAP Directories ({{ custom_mount.temppath }})"
become: true
become_user: "root"
ansible.builtin.file:
path: "{{ is_created_now.path }}"
state: directory
mode: 0755
attr: i+
when:
- node_tier in custom_mount.target_nodes or custom_mount.target_nodes == "all"
- is_created_now.changed
- custom_mount.set_chattr_on_dir | default(false)
- name: "Custom Mount"
when:
- node_tier in custom_mount.target_nodes or custom_mount.target_nodes == ['all']
block:
- name: "Custom Mount: ({{ custom_mount.path }} on {% if custom_mount.create_temp_folders %}{{ custom_mount.mount }}/{{ custom_mount.folder }}{% else %}{{ custom_mount.mount }}{% endif %})"
ansible.posix.mount:
src: "{% if custom_mount.create_temp_folders %}{{ custom_mount.mount }}/{{ custom_mount.folder }}{% else %}{{ custom_mount.mount }}{% endif %}"
path: "{{ custom_mount.path }}"
fstype: "nfs4"
opts: "{{ custom_mount.opts }}"
state: mounted
rescue:
- name: "Custom Mount: Sleep for 10 seconds and continue with play"
ansible.builtin.wait_for:
timeout: 10
- name: "Custom Mount: {{ custom_mount.path }} on {{ custom_mount.mount }}"
ansible.posix.mount:
src: "{{ custom_mount.mount }}"
path: "{{ custom_mount.path }}"
fstype: "nfs4"
opts: "{{ custom_mount.opts }}"
state: mounted