diff --git a/playbooks/tmpfs/macos.yml b/playbooks/tmpfs/macos.yml index f657bc75..b12a026d 100644 --- a/playbooks/tmpfs/macos.yml +++ b/playbooks/tmpfs/macos.yml @@ -6,7 +6,7 @@ - name: MacOS | mount a ram disk shell: - diskutil info "/{{ tmpfs_volume_path }}/{{ tmpfs_volume_name }}/" || - diskutil erasevolume HFS+ "{{ tmpfs_volume_name }}" $(hdiutil attach -nomount ram://64000) + /usr/sbin/diskutil info "/{{ tmpfs_volume_path }}/{{ tmpfs_volume_name }}/" || + /usr/sbin/diskutil erasevolume HFS+ "{{ tmpfs_volume_name }}" $(hdiutil attach -nomount ram://64000) args: creates: "/{{ tmpfs_volume_path }}/{{ tmpfs_volume_name }}" diff --git a/playbooks/tmpfs/umount.yml b/playbooks/tmpfs/umount.yml index 7ccac146..e0a68a0d 100644 --- a/playbooks/tmpfs/umount.yml +++ b/playbooks/tmpfs/umount.yml @@ -5,7 +5,21 @@ state: absent when: facts.ansible_system == "Linux" -- name: MacOS | eject the ram disk - command: diskutil eject "/{{ facts.tmpfs_volume_path }}/{{ facts.tmpfs_volume_name }}/" || true +- name: MacOS | check fs the ramdisk exists + command: /usr/sbin/diskutil info AlgoVPN-test + ignore_errors: true changed_when: false - when: facts.ansible_system == "Darwin" + register: diskutil_info + +- name: MacOS | unmount and eject the ram disk + shell: + /usr/sbin/diskutil umount force "/{{ facts.tmpfs_volume_path }}/{{ facts.tmpfs_volume_name }}/" && + /usr/sbin/diskutil eject "{{ facts.tmpfs_volume_name }}" + changed_when: false + when: + - facts.ansible_system == "Darwin" + - diskutil_info.rc == 0 + register: result + until: result.rc == 0 + retries: 5 + delay: 3