--- - name: "set local variables from overrides and defaults" set_fact: storage_mount: "{{ (storage_mount_defaults | combine(storage_mount_override, recursive=True)) if storage_mount_override else storage_mount_defaults }}" - name: get final escaped name command: "systemd-escape --suffix=mount --path {{ storage_mount.dest_path }}" register: escaped_mount_path - block: - name: install nfs dependencies package: name: - nfs-common - name: template nsf.service template: src: nfs.service.j2 dest: "/etc/systemd/system/{{ escaped_mount_path.stdout }}" when: - "'nfs' in storage_mount.type" - block: - name: install cifs (for SMB) dependencies package: name: - cifs-utils - name: template smb.service template: src: smb.service.j2 dest: "/etc/systemd/system/{{ escaped_mount_path.stdout }}" when: - "'cifs' in storage_mount.type" - name: Ensure systemd mountpoint is enabled+started systemd_service: state: "started" daemon_reload: true enabled: true name: "{{ escaped_mount_path.stdout }}"