installation.yml 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. ---
  2. - name: Install git
  3. yum:
  4. name: git-core
  5. state: installed
  6. - name: Clone mergerfs repo
  7. shell:
  8. cmd: git clone https://github.com/trapexit/mergerfs.git
  9. chdir: /root
  10. creates: /root/mergerfs
  11. - name: Query latest mergerfs version
  12. shell:
  13. cmd: git tag | sort -V | tail -1
  14. chdir: /root/mergerfs
  15. register: mergerfs_version
  16. changed_when: false
  17. - name: Set mergerfs RPM path
  18. set_fact:
  19. mergerfs_rpm: /root/mergerfs/rpmbuild/RPMS/x86_64/mergerfs-{{ mergerfs_version.stdout }}-1.{{ 'el' if ansible_distribution == 'CentOS' else 'fc' }}{{ ansible_distribution_major_version }}.{{ ansible_architecture }}.rpm
  20. - name: Download and build mergerfs
  21. shell:
  22. cmd: >
  23. git checkout {{ mergerfs_version.stdout }} &&
  24. tools/install-build-pkgs &&
  25. make rpm
  26. chdir: /root/mergerfs
  27. creates: "{{ mergerfs_rpm }}"
  28. - name: Stat mergerfs build folder
  29. find:
  30. path: /root/mergerfs/rpmbuild/RPMS/x86_64
  31. register: mergerfs_build_folder
  32. - name: Install mergerfs
  33. yum:
  34. name: "{{ mergerfs_build_folder.files[0].path }}"
  35. state: installed
  36. disable_gpg_check: yes
  37. when:
  38. - mergerfs_build_folder.files[0].path is defined
  39. - name: Install mergerfs-tools prereqs
  40. package:
  41. name:
  42. - python3
  43. - rsync
  44. state: present
  45. - name: Install mergerfs-tools
  46. copy:
  47. src: "{{ item }}"
  48. dest: /usr/local/bin/{{ item }}
  49. owner: root
  50. group: root
  51. mode: '0755'
  52. loop:
  53. - mergerfs.balance
  54. - mergerfs.consolidate
  55. - mergerfs.ctl
  56. - mergerfs.dedup
  57. - mergerfs.dup
  58. - mergerfs.fsck
  59. - mergerfs.mktrash