diff --git a/roles/elastic-stack/ansible-elasticsearch/defaults/main.yml b/roles/elastic-stack/ansible-elasticsearch/defaults/main.yml index e82c3141..f1a8b01e 100644 --- a/roles/elastic-stack/ansible-elasticsearch/defaults/main.yml +++ b/roles/elastic-stack/ansible-elasticsearch/defaults/main.yml @@ -7,6 +7,7 @@ elasticsearch_jvm_xms: null elastic_stack_version: 7.10.2 elasticsearch_lower_disk_requirements: false elasticsearch_path_repo: [] +elasticsearch_start_timeout: 90 elasticrepo: apt: 'https://artifacts.elastic.co/packages/7.x/apt' diff --git a/roles/elastic-stack/ansible-elasticsearch/tasks/main.yml b/roles/elastic-stack/ansible-elasticsearch/tasks/main.yml index c0e8ca22..040f6818 100755 --- a/roles/elastic-stack/ansible-elasticsearch/tasks/main.yml +++ b/roles/elastic-stack/ansible-elasticsearch/tasks/main.yml @@ -107,6 +107,14 @@ - ansible_distribution == "Ubuntu" - ansible_distribution_major_version | int == 14 +- name: Ensure extra time for Elasticsearch to start on reboots + lineinfile: + path: /usr/lib/systemd/system/elasticsearch.service + regexp: '^TimeoutStartSec=' + line: "TimeoutStartSec={{ elasticsearch_start_timeout }}" + become: yes + tags: configure + - name: Ensure Elasticsearch started and enabled service: name: elasticsearch @@ -160,3 +168,9 @@ failed_when: http_response.status != 200 when: - elasticsearch_xpack_users is defined + +- name: Reload systemd configuration + systemd: + daemon_reload: true + become: yes + notify: restart elasticsearch diff --git a/roles/opendistro/opendistro-elasticsearch/defaults/main.yml b/roles/opendistro/opendistro-elasticsearch/defaults/main.yml index 2a6b7043..615a7ddc 100644 --- a/roles/opendistro/opendistro-elasticsearch/defaults/main.yml +++ b/roles/opendistro/opendistro-elasticsearch/defaults/main.yml @@ -10,6 +10,7 @@ elasticsearch_network_host: '0.0.0.0' elasticsearch_node_master: true elasticsearch_node_data: true elasticsearch_node_ingest: true +elasticsearch_start_timeout: 90 elasticsearch_lower_disk_requirements: false elasticsearch_cluster_nodes: diff --git a/roles/opendistro/opendistro-elasticsearch/tasks/main.yml b/roles/opendistro/opendistro-elasticsearch/tasks/main.yml index 463b78e6..a8dc20ee 100644 --- a/roles/opendistro/opendistro-elasticsearch/tasks/main.yml +++ b/roles/opendistro/opendistro-elasticsearch/tasks/main.yml @@ -54,6 +54,14 @@ notify: restart elasticsearch tags: install + - name: Ensure extra time for Elasticsearch to start on reboots + lineinfile: + path: /usr/lib/systemd/system/elasticsearch.service + regexp: '^TimeoutStartSec=' + line: "TimeoutStartSec={{ elasticsearch_start_timeout }}" + become: yes + tags: configure + - name: Ensure Elasticsearch started and enabled service: name: elasticsearch @@ -100,4 +108,10 @@ - import_tasks: "RMRedHat.yml" when: ansible_os_family == "RedHat" + + - name: Reload systemd configuration + systemd: + daemon_reload: true + become: yes + notify: restart elasticsearch when: perform_installation