Skip to content

Commit 7db905b

Browse files
ivareriIvar Eriksen
andauthored
Use elasticsearch_network_host for connection tests if defined (#315)
When `elasticsearch_network_host` is set to something not including localhost, all connection tests fails. This uses `elasticsearch_network_host` for connections if it is defined, and falls back to localhost if not. (There might be more places this change should be made, but the role works for me with this fix) --------- Co-authored-by: Ivar Eriksen <[email protected]>
1 parent 67e4c24 commit 7db905b

File tree

5 files changed

+9
-8
lines changed

5 files changed

+9
-8
lines changed

docs/role-elasticsearch.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Role Variables
3131
* *elasticsearch_pamlimits*: Set pam_limits neccessary for Elasticsearch. (Default: `true`)
3232
* *elasticsearch_check_calculation*: End play in checks (Default: `false`)
3333
* *elasticsearch_network_host*: You can configure multipe network addresses where the networking is bind to. You can assign IP addresses or interfaces by their names. You can also use elasticsearch internal variabels as it set as default. Example: `"_ens190_,_local_"` (Default: `"_local_,"_site_"`) (Optional; if not defined `default` is used)
34-
34+
* *elasticsearch_api_host*: Hostname or IP elasticsearch is listening on. Only used for connection checks by ansible role. (Default: `localhost`)
3535
* *elasticsearch_extra_config*: You can set additional configuration in YAML-notation as you would write in the `elasaticsearch.yml`. Example:
3636

3737
```YAML

roles/elasticsearch/defaults/main.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ elasticsearch_conf_dir: "/etc/elasticsearch/"
2222
elasticsearch_config_jvm: "jvm.options.j2"
2323
elasticsearch_user: elasticsearch
2424
elasticsearch_group: elasticsearch
25+
elasticsearch_api_host: localhost
2526

2627
# JVM custom parameters
2728
elasticsearch_java_home: ''

roles/elasticsearch/tasks/elasticsearch-security.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@
391391

392392
- name: Check for API with bootstrap password
393393
ansible.builtin.uri:
394-
url: "{{ elasticsearch_http_protocol }}://localhost:{{ elasticstack_elasticsearch_http_port }}"
394+
url: "{{ elasticsearch_http_protocol }}://{{ elasticsearch_api_host }}:{{ elasticstack_elasticsearch_http_port }}"
395395
user: elastic
396396
password: "{{ elasticsearch_bootstrap_pw }}"
397397
validate_certs: false
@@ -410,7 +410,7 @@
410410

411411
- name: Check for cluster status with bootstrap password
412412
ansible.builtin.uri:
413-
url: "{{ elasticsearch_http_protocol }}://localhost:{{ elasticstack_elasticsearch_http_port }}/_cluster/health?pretty"
413+
url: "{{ elasticsearch_http_protocol }}://{{ elasticsearch_api_host }}:{{ elasticstack_elasticsearch_http_port }}/_cluster/health?pretty"
414414
user: elastic
415415
password: "{{ elasticsearch_bootstrap_pw }}"
416416
validate_certs: false
@@ -437,7 +437,7 @@
437437

438438
- name: Check for API availability with elastic password
439439
ansible.builtin.uri:
440-
url: "{{ elasticsearch_http_protocol }}://localhost:{{ elasticstack_elasticsearch_http_port }}"
440+
url: "{{ elasticsearch_http_protocol }}://{{ elasticsearch_api_host }}:{{ elasticstack_elasticsearch_http_port }}"
441441
user: elastic
442442
password: "{{ elasticstack_password.stdout }}"
443443
validate_certs: false
@@ -466,7 +466,7 @@
466466
curl
467467
-k
468468
-X PUT
469-
"{{ elasticsearch_http_protocol }}://elastic:{{ elasticstack_password.stdout }}@localhost:9200/_cluster/settings"
469+
"{{ elasticsearch_http_protocol }}://elastic:{{ elasticstack_password.stdout }}@{{ elasticsearch_api_host }}:9200/_cluster/settings"
470470
-H 'Content-Type: application/json' -d
471471
'
472472
{
@@ -488,7 +488,7 @@
488488

489489
- name: Check for cluster status with elastic password
490490
ansible.builtin.uri:
491-
url: "{{ elasticsearch_http_protocol }}://localhost:{{ elasticstack_elasticsearch_http_port }}/_cluster/health?pretty"
491+
url: "{{ elasticsearch_http_protocol }}://{{ elasticsearch_api_host }}:{{ elasticstack_elasticsearch_http_port }}/_cluster/health?pretty"
492492
user: elastic
493493
password: "{{ elasticstack_password.stdout }}"
494494
validate_certs: false

roles/elasticsearch/tasks/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@
222222
block:
223223
- name: Check for cluster status without security
224224
ansible.builtin.uri:
225-
url: "http://localhost:{{ elasticstack_elasticsearch_http_port }}/_cluster/health?pretty"
225+
url: "http://{{ elasticsearch_api_host }}:{{ elasticstack_elasticsearch_http_port }}/_cluster/health?pretty"
226226
register: elasticsearch_cluster_status
227227
ignore_errors: "{{ ansible_check_mode }}"
228228
until: elasticsearch_cluster_status.json.status == "green"

roles/elasticsearch/tasks/wait_for_instance.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
- name: Wait for instance
44
ansible.builtin.wait_for:
5-
host: "{{ hostvars[item].ansible_default_ipv4.address }}"
5+
host: "{{ elasticsearch_api_host }}"
66
port: "{{ elasticstack_elasticsearch_http_port }}"
77
timeout: 600
88
tags:

0 commit comments

Comments
 (0)