From 64f9cdbc5c12d458db54343552b0f656156cd517 Mon Sep 17 00:00:00 2001 From: John Reed Date: Sat, 18 Mar 2017 18:11:36 -0400 Subject: [PATCH 1/2] Copied when statement from restart handler to the service check in tasks/main.yml --- tasks/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/tasks/main.yml b/tasks/main.yml index 4648f8d..03370d4 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -46,6 +46,7 @@ - name: Wait for elasticsearch to startup wait_for: host={{es_api_host}} port={{es_api_port}} delay=5 connect_timeout=1 + when: es_restart_on_change and es_start_service and ((plugin_installed is defined and plugin_installed.changed) or (config_updated is defined and config_updated.changed) or (xpack_state.changed) or (debian_elasticsearch_install_from_repo.changed or redhat_elasticsearch_install_from_repo.changed or elasticsearch_install_from_package.changed)) - name: activate-license include: ./xpack/security/elasticsearch-xpack-activation.yml From 692637f07382189934f5b0e8ec45bca2aa87b5c0 Mon Sep 17 00:00:00 2001 From: John Reed Date: Tue, 21 Mar 2017 10:13:10 -0400 Subject: [PATCH 2/2] Check for restarts only when restart handler executes --- handlers/main.yml | 6 +++++- tasks/main.yml | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/handlers/main.yml b/handlers/main.yml index 55b95af..e233aae 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -4,7 +4,11 @@ # Restart service and ensure it is enabled - name: restart elasticsearch service: name={{instance_init_script | basename}} state=restarted enabled=yes - when: es_restart_on_change and es_start_service and ((plugin_installed is defined and plugin_installed.changed) or (config_updated is defined and config_updated.changed) or (xpack_state.changed) or (debian_elasticsearch_install_from_repo.changed or redhat_elasticsearch_install_from_repo.changed or elasticsearch_install_from_package.changed)) + when: + - es_restart_on_change + - es_start_service + - ((plugin_installed is defined and plugin_installed.changed) or (config_updated is defined and config_updated.changed) or (xpack_state.changed) or (debian_elasticsearch_install_from_repo.changed or redhat_elasticsearch_install_from_repo.changed or elasticsearch_install_from_package.changed)) + register: es_restarted #Templates are a handler as they need to come after a restart e.g. suppose user removes security on a running node and doesn't #specify es_api_basic_auth_username and es_api_basic_auth_password. The templates will subsequently not be removed if we don't wait for the node to restart. diff --git a/tasks/main.yml b/tasks/main.yml index 03370d4..c401c47 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -46,7 +46,7 @@ - name: Wait for elasticsearch to startup wait_for: host={{es_api_host}} port={{es_api_port}} delay=5 connect_timeout=1 - when: es_restart_on_change and es_start_service and ((plugin_installed is defined and plugin_installed.changed) or (config_updated is defined and config_updated.changed) or (xpack_state.changed) or (debian_elasticsearch_install_from_repo.changed or redhat_elasticsearch_install_from_repo.changed or elasticsearch_install_from_package.changed)) + when: es_restarted is defined and es_restarted.changed - name: activate-license include: ./xpack/security/elasticsearch-xpack-activation.yml