fix: enhance GeeseFS installation checks and set installation conditions
This commit is contained in:
parent
0a7a727952
commit
75eaff06d1
@ -1,36 +1,42 @@
|
||||
---
|
||||
- name: Check if GeeseFS is installed
|
||||
ansible.builtin.command: which geesefs
|
||||
register: geesefs_check
|
||||
ignore_errors: true
|
||||
changed_when: false
|
||||
|
||||
- name: Check GeeseFS version if installed
|
||||
ansible.builtin.command: geesefs --version
|
||||
register: geesefs_version
|
||||
ignore_errors: true
|
||||
changed_when: false
|
||||
when: geesefs_check.rc == 0
|
||||
|
||||
- name: Set GeeseFS facts
|
||||
ansible.builtin.set_fact:
|
||||
geesefs_desired_version: "0.43.0"
|
||||
geesefs_download_url: "https://github.com/yandex-cloud/geesefs/releases/download/v{{ geesefs_desired_version }}/geesefs-linux-arm64"
|
||||
geesefs_install_path: "/usr/local/bin/geesefs"
|
||||
|
||||
- name: Check if GeeseFS is installed
|
||||
ansible.builtin.command: which geesefs
|
||||
register: geesefs_check
|
||||
ignore_errors: true
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
|
||||
- name: Check GeeseFS version if installed
|
||||
ansible.builtin.command: geesefs --version
|
||||
register: geesefs_version
|
||||
ignore_errors: true
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
when: geesefs_check.rc is defined and geesefs_check.rc == 0
|
||||
|
||||
- name: Set needs_installation fact
|
||||
ansible.builtin.set_fact:
|
||||
needs_installation: "{{ geesefs_check.rc is not defined or geesefs_check.rc != 0 or (geesefs_version.stdout is defined and 'geesefs version ' + geesefs_desired_version not in geesefs_version.stdout) }}"
|
||||
|
||||
- name: Create temporary directory for download
|
||||
ansible.builtin.tempfile:
|
||||
state: directory
|
||||
suffix: geesefs
|
||||
register: temp_dir
|
||||
when: geesefs_check.rc != 0 or (geesefs_version.rc == 0 and "geesefs version " + geesefs_desired_version not in geesefs_version.stdout)
|
||||
when: needs_installation | bool
|
||||
|
||||
- name: Download GeeseFS
|
||||
ansible.builtin.get_url:
|
||||
url: "{{ geesefs_download_url }}"
|
||||
dest: "{{ temp_dir.path }}/geesefs"
|
||||
mode: '0755'
|
||||
when: geesefs_check.rc != 0 or (geesefs_version.rc == 0 and "geesefs version " + geesefs_desired_version not in geesefs_version.stdout)
|
||||
when: needs_installation | bool
|
||||
|
||||
- name: Install GeeseFS to system path
|
||||
ansible.builtin.copy:
|
||||
@ -39,7 +45,7 @@
|
||||
mode: '0755'
|
||||
remote_src: true
|
||||
become: true
|
||||
when: geesefs_check.rc != 0 or (geesefs_version.rc == 0 and "geesefs version " + geesefs_desired_version not in geesefs_version.stdout)
|
||||
when: needs_installation | bool
|
||||
|
||||
- name: Clean up temporary directory
|
||||
ansible.builtin.file:
|
||||
|
Loading…
x
Reference in New Issue
Block a user