Skip to content

Commit

Permalink
[elasticsearch] fix node roles for clients nodes (#1693)
Browse files Browse the repository at this point in the history
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
  • Loading branch information
jmlrt authored Sep 9, 2022
1 parent 37a303c commit 5c19d08
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions elasticsearch/templates/statefulset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -314,8 +314,10 @@ spec:
- name: cluster.initial_master_nodes
value: "{{ template "elasticsearch.endpoints" . }}"
{{- end }}
{{- if gt (len (include "elasticsearch.roles" .)) 0 }}
- name: node.roles
value: "{{ template "elasticsearch.roles" . }}"
{{- end }}
{{- if lt (int (include "elasticsearch.esMajorVersion" .)) 7 }}
- name: discovery.zen.ping.unicast.hosts
value: "{{ template "elasticsearch.masterService" . }}-headless"
Expand Down

0 comments on commit 5c19d08

Please sign in to comment.