diff --git a/tasks/elasticsearch-config.yml b/tasks/elasticsearch-config.yml index 67d6114..1ec89c3 100644 --- a/tasks/elasticsearch-config.yml +++ b/tasks/elasticsearch-config.yml @@ -86,18 +86,30 @@ content: '' when: ansible_os_family == 'RedHat' - # We need the force parameter to be able to overwrite the default non-link file - name: Symlink default systemd service to first instance of elasticsearch when: use_system_d - become: yes - file: - state: link - force: yes - src: "{{ instance_sysd_script }}" - path: "{{ sysd_script }}" - notify: - - reload systemd configuration - - restart elasticsearch + block: + - name: Check if default systemd file exists + stat: + path: "{{ sysd_script }}" + register: sysd_stat_result + + - name: Remove if it is a normal file + file: + path: "{{ sysd_script }}" + state: absent + when: sysd_stat_result.stat.exists and not sysd_stat_result.stat.islnk + + - name: Create a symbolic link to the default systemd location to the first instance running on this host + become: yes + file: + state: link + src: "{{ instance_sysd_script }}" + path: "{{ sysd_script }}" + when: sysd_stat_result.stat.exists and not sysd_stat_result.stat.islnk + notify: + - reload systemd configuration + - restart elasticsearch - name: Delete Default Configuration File become: yes