90 lines
2.9 KiB
YAML
90 lines
2.9 KiB
YAML
---
|
|
- name: Wait for kibana port
|
|
wait_for:
|
|
host: "{{ kolla_internal_vip_address }}"
|
|
port: "{{ kibana_server_port }}"
|
|
run_once: true
|
|
|
|
- name: Register the kibana index in elasticsearch
|
|
become: true
|
|
kolla_toolbox:
|
|
module_name: uri
|
|
module_args:
|
|
url: "{{ internal_protocol }}://{{ kolla_internal_fqdn | put_address_in_context('url') }}:{{ elasticsearch_port }}/.kibana"
|
|
method: PUT
|
|
body: "{{ kibana_default_index_options | to_json }}"
|
|
body_format: json
|
|
status_code: 200, 201, 400
|
|
register: result
|
|
failed_when:
|
|
# If the index already exists, Elasticsearch will respond with a 400 error.
|
|
- result.status == 400
|
|
# Format: {"json": {"error": {"type": "index_already_exists_exception"}}}
|
|
- result.get('json', {}).get('error', {}).get('type') != 'index_already_exists_exception'
|
|
run_once: true
|
|
|
|
- name: Wait for kibana to register in elasticsearch
|
|
become: true
|
|
kolla_toolbox:
|
|
module_name: uri
|
|
module_args:
|
|
url: "{{ internal_protocol }}://{{ kolla_internal_fqdn | put_address_in_context('url') }}:{{ elasticsearch_port }}/.kibana"
|
|
status_code: 200
|
|
register: result
|
|
until: result.status == 200
|
|
retries: 20
|
|
delay: 2
|
|
run_once: true
|
|
|
|
- name: Change kibana config to set index as defaultIndex
|
|
vars:
|
|
kibana_default_index_body:
|
|
defaultIndex: "{{ kibana_default_index_pattern }}"
|
|
become: true
|
|
kolla_toolbox:
|
|
module_name: uri
|
|
module_args:
|
|
url: "{{ internal_protocol }}://{{ kolla_internal_fqdn | put_address_in_context('url') }}:{{ elasticsearch_port }}/.kibana/config/*"
|
|
method: PUT
|
|
body: "{{ kibana_default_index_body | to_json }}"
|
|
body_format: json
|
|
status_code: 200, 201
|
|
run_once: true
|
|
|
|
- name: Get kibana default indexes
|
|
become: true
|
|
kolla_toolbox:
|
|
module_name: uri
|
|
module_args:
|
|
headers:
|
|
Content-Type: application/json
|
|
url: "{{ internal_protocol }}://{{ kolla_internal_fqdn | put_address_in_context('url') }}:{{ elasticsearch_port }}/.kibana"
|
|
method: GET
|
|
register: kibana_default_indexes
|
|
run_once: true
|
|
when: kibana_default_index is defined
|
|
|
|
- name: Set kibana default indexes fact
|
|
set_fact:
|
|
kibana_default_indexes: "{{ kibana_default_indexes.json | default([]) }}"
|
|
when:
|
|
- kibana_default_indexes is defined
|
|
run_once: true
|
|
connection: local
|
|
|
|
- name: Add index pattern to kibana
|
|
become: true
|
|
kolla_toolbox:
|
|
module_name: uri
|
|
module_args:
|
|
url: "{{ internal_protocol }}://{{ kolla_internal_fqdn | put_address_in_context('url') }}:{{ elasticsearch_port }}/.kibana/index-pattern/{{ kibana_default_index_pattern }}"
|
|
method: PUT
|
|
body: "{{ kibana_default_index | to_json }}"
|
|
body_format: json
|
|
status_code: 201
|
|
run_once: true
|
|
when:
|
|
- kibana_default_index is defined
|
|
- kibana_default_indexes is defined
|
|
- kibana_default_indexes['.kibana']['mappings']['config']['properties']['defaultIndex'] is not defined
|