From f03fb893fb31c4fa22d3281253988e64b3b0ae29 Mon Sep 17 00:00:00 2001 From: Arnaud Venturi Date: Wed, 27 Jun 2018 10:11:07 +0200 Subject: [PATCH] Simpler systemd unit file fix, just adding a test to avoid crash on stat --- tasks/elasticsearch-config.yml | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) 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