Skip to content

Commit 5c19d08

Browse files
authored
[elasticsearch] fix node roles for clients nodes (#1693)
This commit fix the node.roles variable for client role with Elasticsearch version > 8.3.0. As client nodes are nodes that don't have any other roles, setting the client roles is done by configuring `node.roles: []` (empty list). Elasticsearch chart usually define `node.roles` as an environment variable, however, for client nodes, setting an empty list as value of an environment variable isn't recognized by Elasticsearch so we were required to also add it to the `elasticsearch.yaml` config file (more details in elastic/helm-charts#1186 (comment)). Starting with Elasticsearch 8.3.0 this is not working anymore and Elasticsearch fails to start is a `node.roles` environment variable is defined with an empty list as value. This commit define the `node.roles` environment variable only if the `roles` list isn't empty. Fixes also the tests for the `multi` example. Relates to elastic/helm-charts#1186
1 parent 37a303c commit 5c19d08

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

elasticsearch/templates/statefulset.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -314,8 +314,10 @@ spec:
314314
- name: cluster.initial_master_nodes
315315
value: "{{ template "elasticsearch.endpoints" . }}"
316316
{{- end }}
317+
{{- if gt (len (include "elasticsearch.roles" .)) 0 }}
317318
- name: node.roles
318319
value: "{{ template "elasticsearch.roles" . }}"
320+
{{- end }}
319321
{{- if lt (int (include "elasticsearch.esMajorVersion" .)) 7 }}
320322
- name: discovery.zen.ping.unicast.hosts
321323
value: "{{ template "elasticsearch.masterService" . }}-headless"

0 commit comments

Comments
 (0)