--- # Mount shares that all systems should have. # Test if this machine can use SSHFS - name: General | Account Management | Mounts | Create Test Folder file: path: "/mnt/test" state: directory mode: '0755' when: not leet_drive_details.stat.exists - name: General | Account Management | Mounts | Test SSHFS shell: "sshfs {{ leet_ssh }}: /mnt/test -o allow_other" register: sshfs_test ignore_errors: yes when: not leet_drive_details.stat.exists - name: General | Account Management | Mounts | SSHFS Already Working shell: "echo SUCCESS" register: sshfs_test when: leet_drive_details.stat.exists # Make super sure that the failed key exists. - name: General | Account Management | Mounts | Check/Set sshfs_test.failed Key set_fact: sshfs_test: "{{ sshfs_test | combine({item.name : item.value}) }}" with_items: - { 'key': 'failed', 'value': false } when: sshfs_test.failed is not defined - debug: var: sshfs_test # Begin setting up 1337 - name: General | Account Management | Mounts | Create 1337 Folder file: path: "{{ leet_drive }}" state: directory mode: '0755' # Linux uses fstab - name: General | Account Management | Mounts | Create 1337 fstab Entry blockinfile: path: /etc/fstab block: | {{ leet_ssh }}: /mnt/leet fuse.sshfs defaults,_netdev,allow_other 0 0 marker: '# {mark} MANAGED BY ANSIBLE | 1337 Share' state: present backup: yes when: ansible_system == "Linux" and not sshfs_test.failed - name: General | Account Management | Mounts | Mount All (Linux) shell: mount -a args: warn: false when: ansible_system == "Linux" and not sshfs_test.failed) # FreeBSD has to do this via root cron job, fstab is unhappy - name: General | Account Management | Mounts | Unmount 1337 (FreeBSD) shell: umount -f /mnt/leet args: warn: false when: ansible_system == "FreeBSD" and not sshfs_test.failed ignore_errors: yes - name: General | Account Management | Mounts | Remount 1337 (FreeBSD) shell: "{{ sshfs_leet_cmd }}" when: ansible_system == "FreeBSD" and not sshfs_test.failed # Ensure correct cron jobs and other downstream dependencies are done properly. - name: General | Account Management | Mounts | Refresh Variable leet_drive_details stat: path: "{{ leet_drive }}/Temp/ansible" register: leet_drive_details