50 lines
1.7 KiB
YAML
50 lines
1.7 KiB
YAML
---
|
|
- name: Set file path var
|
|
ansible.builtin.set_fact:
|
|
plugin_file_path: "{{ query('ansible.builtin.fileglob', update_plugin_server_base_dir + '/plugins/' + update_plugin_plugin_filename_glob) | first }}"
|
|
|
|
- name: Stat plugin file
|
|
ansible.builtin.stat:
|
|
path: "{{ plugin_file_path }}"
|
|
register: plugin_file_stat
|
|
|
|
- name: Fail if plugin not installed
|
|
ansible.builtin.fail:
|
|
msg: "The plugin specified by glob {{ update_plugin_plugin_filename_glob }} doesn't exist"
|
|
when: update_plugin_fail_if_plugin_not_installed and not plugin_fail_stat.stat.exists
|
|
|
|
- name: Download latest plugin version
|
|
ansible.builtin.get_url:
|
|
url: "{{ update_plugin_latest_plugin_dl_url }}"
|
|
dest: "/tmp/{{ update_plugin_plugin_final_filename }}"
|
|
mode: "{{ update_plugin_plugin_mode }}"
|
|
owner: "{{ update_plugin_plugin_owner }}"
|
|
group: "{{ update_plugin_plugin_group }}"
|
|
|
|
- name: Stat new file
|
|
ansible.builtin.stat:
|
|
path: "/tmp/{{ update_plugin_plugin_final_filename }}"
|
|
register: new_plugin_file_stat
|
|
|
|
- name: Do update process block
|
|
when: plugin_file_stat.stat.checksum != new_plugin_file_stat.stat.checksum
|
|
block:
|
|
- name: Remove old file if it exists
|
|
ansible.builtin.file:
|
|
path: "{{ plugin_file_path }}"
|
|
state: absent
|
|
|
|
- name: Copy the new file to the plugins path
|
|
ansible.builtin.copy:
|
|
src: "/tmp/{{ update_plugin_plugin_final_filename }}"
|
|
dest: "{{ update_plugin_server_base_dir }}/plugins"
|
|
mode: "{{ update_plugin_plugin_mode }}"
|
|
owner: "{{ update_plugin_plugin_owner }}"
|
|
group: "{{ update_plugin_plugin_group }}"
|
|
remote_src: true
|
|
|
|
- name: Remove new plugin file
|
|
ansible.builtin.file:
|
|
path: "/tmp/{{ update_plugin_plugin_final_filename }}"
|
|
state: absent
|