Add local facts for template creations

The template creates can take a lot of time when dealing with large data
sets. This change makes it so template create will only happen on a
greenfield installation or when upgrading. A simple rerun of the
playbooks will not trigger template creations which will allow deployers
the ability to better change or modify deploymens without having to
worry about extended runtimes due to template interactions.

Change-Id: Ia9b77277553fbdbe0444737f39ec3de75f07cc0f
This commit is contained in:
Kevin Carter 2018-12-19 10:32:28 -06:00
parent ad91d5773e
commit eb3bcb8daa
8 changed files with 176 additions and 0 deletions

View File

@ -13,6 +13,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Refresh local facts
setup:
filter: ansible_local
gather_subset: "!all"
tags:
- always
- name: Load templates
shell: >-
apm-server setup
@ -34,3 +41,20 @@
retries: 5
delay: 5
run_once: true
when:
- ((ansible_local['elastic']['setup']['apm_loaded_templates'] is undefined) or
(not (ansible_local['elastic']['setup']['apm_loaded_templates'] | bool))) or
(elk_package_state | default('present')) == "latest"
tags:
- setup
- name: Set template fact
ini_file:
dest: "/etc/ansible/facts.d/elastic.fact"
section: "setup"
option: apm_loaded_templates
value: true
when:
- templates is changed
tags:
- setup

View File

@ -13,6 +13,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Refresh local facts
setup:
filter: ansible_local
gather_subset: "!all"
tags:
- always
- name: Load templates
shell: >-
auditbeat setup
@ -34,5 +41,20 @@
retries: 5
delay: 5
run_once: true
when:
- ((ansible_local['elastic']['setup']['auditbeat_loaded_templates'] is undefined) or
(not (ansible_local['elastic']['setup']['auditbeat_loaded_templates'] | bool))) or
(elk_package_state | default('present')) == "latest"
tags:
- setup
- name: Set template fact
ini_file:
dest: "/etc/ansible/facts.d/elastic.fact"
section: "setup"
option: auditbeat_loaded_templates
value: true
when:
- templates is changed
tags:
- setup

View File

@ -23,3 +23,19 @@
include_vars: "data-node-variables.yml"
tags:
- always
- name: Ensure local facts directory exists
file:
dest: "/etc/ansible/facts.d"
state: directory
group: "root"
owner: "root"
mode: "0755"
recurse: no
- name: Initialize local facts
ini_file:
dest: "/etc/ansible/facts.d/elastic.fact"
section: "setup"
option: cacheable
value: true

View File

@ -13,6 +13,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Refresh local facts
setup:
filter: ansible_local
gather_subset: "!all"
tags:
- always
- name: Load templates
shell: >-
filebeat setup
@ -34,5 +41,20 @@
retries: 5
delay: 5
run_once: true
when:
- ((ansible_local['elastic']['setup']['filebeat_loaded_templates'] is undefined) or
(not (ansible_local['elastic']['setup']['filebeat_loaded_templates'] | bool))) or
(elk_package_state | default('present')) == "latest"
tags:
- setup
- name: Set template fact
ini_file:
dest: "/etc/ansible/facts.d/elastic.fact"
section: "setup"
option: filebeat_loaded_templates
value: true
when:
- templates is changed
tags:
- setup

View File

@ -13,6 +13,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Refresh local facts
setup:
filter: ansible_local
gather_subset: "!all"
tags:
- always
- name: Load templates
shell: >-
heartbeat setup
@ -28,9 +35,26 @@
- "--machine-learning"
- "--dashboards"
register: templates
environment:
no_proxy: "{{ hostvars[groups['kibana'][0]]['ansible_host'] }}"
until: templates is success
retries: 5
delay: 5
run_once: true
when:
- ((ansible_local['elastic']['setup']['heartbeat_loaded_templates'] is undefined) or
(not (ansible_local['elastic']['setup']['heartbeat_loaded_templates'] | bool))) or
(elk_package_state | default('present')) == "latest"
tags:
- setup
- name: Set template fact
ini_file:
dest: "/etc/ansible/facts.d/elastic.fact"
section: "setup"
option: heartbeat_loaded_templates
value: true
when:
- templates is changed
tags:
- setup

View File

@ -13,6 +13,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Refresh local facts
setup:
filter: ansible_local
gather_subset: "!all"
tags:
- always
- name: Load templates
shell: >-
journalbeat setup
@ -28,9 +35,26 @@
- "--machine-learning"
- "--dashboards"
register: templates
environment:
no_proxy: "{{ hostvars[groups['kibana'][0]]['ansible_host'] }}"
until: templates is success
retries: 5
delay: 5
run_once: true
when:
- ((ansible_local['elastic']['setup']['journalbeat_loaded_templates'] is undefined) or
(not (ansible_local['elastic']['setup']['journalbeat_loaded_templates'] | bool))) or
(elk_package_state | default('present')) == "latest"
tags:
- setup
- name: Set template fact
ini_file:
dest: "/etc/ansible/facts.d/elastic.fact"
section: "setup"
option: journalbeat_loaded_templates
value: true
when:
- templates is changed
tags:
- setup

View File

@ -13,6 +13,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Refresh local facts
setup:
filter: ansible_local
gather_subset: "!all"
tags:
- always
- name: Load templates
shell: >-
metricbeat setup
@ -34,5 +41,20 @@
retries: 5
delay: 5
run_once: true
when:
- ((ansible_local['elastic']['setup']['metricbeat_loaded_templates'] is undefined) or
(not (ansible_local['elastic']['setup']['metricbeat_loaded_templates'] | bool))) or
(elk_package_state | default('present')) == "latest"
tags:
- setup
- name: Set template fact
ini_file:
dest: "/etc/ansible/facts.d/elastic.fact"
section: "setup"
option: metricbeat_loaded_templates
value: true
when:
- templates is changed
tags:
- setup

View File

@ -13,6 +13,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Refresh local facts
setup:
filter: ansible_local
gather_subset: "!all"
tags:
- always
- name: Load templates
shell: >-
packetbeat setup
@ -34,5 +41,20 @@
retries: 5
delay: 5
run_once: true
when:
- ((ansible_local['elastic']['setup']['packetbeat_loaded_templates'] is undefined) or
(not (ansible_local['elastic']['setup']['packetbeat_loaded_templates'] | bool))) or
(elk_package_state | default('present')) == "latest"
tags:
- setup
- name: Set template fact
ini_file:
dest: "/etc/ansible/facts.d/elastic.fact"
section: "setup"
option: packetbeat_loaded_templates
value: true
when:
- templates is changed
tags:
- setup