Parse/sanitize network.host and network.port, fallback to es_api_host/es_api_port

This commit is contained in:
pixelrebel 2016-12-06 12:15:34 -08:00
parent 226d163e52
commit 68ad76bfe4

View file

@ -3,8 +3,41 @@
- name: Ensure elasticsearch is started
service: name={{instance_init_script | basename}} state=started enabled=yes
- set_fact:
es_config_host: "{{ item }}"
with_items: "{{ es_config['network.host'] }}"
when:
- es_config['network.host'] is defined and es_config['network.host'] is not string
- not item | match('^_.*_$')
- es_config_host is not defined
- set_fact:
es_config_host: "{{ es_config['network.host'] }}"
when:
- es_config['network.host'] is defined and es_config['network.host'] is string
- not es_config['network.host'] | match('^_.*_$')
- set_fact:
es_config_port: "{{ es_config['network.port'] }}"
when:
- es_config['network.port'] is defined and es_config['network.port'] is number
- set_fact:
es_config_port: "{{ es_config['network.port'].split('-').0 }}"
when:
- es_config['network.port'] is defined and es_config['network.port'] is string
- es_config['network.port'] | match('^\d')
- name: Wait for elasticsearch to startup
wait_for: host="{{es_api_host}}" port={% if es_config['http.port'] is defined %}{{es_config['http.port']}}{% else %}{{es_api_port}}{% endif %} delay=10
wait_for:
host: "{% if es_config_host is defined %}{{es_config_host}}{% else %}{{es_api_host}}{% endif %}"
port: "{% if es_config_port is defined %}{{es_config_port}}{% else %}{{es_api_port}}{% endif %}"
delay: 10
- name: Gather template files contents
shell: "cat /etc/elasticsearch/templates/{{ item }}"
with_items: "{{ es_template_files }}"
register: es_template_files_contents
- name: Get template files
find: paths="/etc/elasticsearch/templates" patterns="*.json"
@ -12,7 +45,7 @@
- name: Install templates without auth
uri:
url: "http://{{es_api_host}}:{% if es_config['http.port'] is defined %}{{es_config['http.port']}}{% else %}{{es_api_port}}{% endif %}/_template/{{item.path | filename}}"
url: "http://{% if es_config_host is defined %}{{es_config_host}}{% else %}{{es_api_host}}{% endif %}:{% if es_config_port is defined %}{{es_config_port}}{% else %}{{es_api_port}}{% endif %}/_template/{{item.path | filename}}"
method: PUT
status_code: 200
body_format: json
@ -22,7 +55,7 @@
- name: Install templates with auth
uri:
url: "http://{{es_api_host}}:{% if es_config['http.port'] is defined %}{{es_config['http.port']}}{% else %}{{es_api_port}}{% endif %}/_template/{{item.path | filename}}"
url: "http://{% if es_config_host is defined %}{{es_config_host}}{% else %}{{es_api_host}}{% endif %}:{% if es_config_port is defined %}{{es_config_port}}{% else %}{{es_api_port}}{% endif %}/_template/{{item.path | filename}}"
method: PUT
status_code: 200
user: "{{es_api_basic_auth_username}}"