ECK Coordinating only node 7.10.2 has all node roles


Deploying ECK and trying to configure a client/coordinating-only node.
The node roles is configured to:

node.roles: [ ]

As stated here.

But the client node seem to have all the roles and shards are wrongfully created on those nodes:

Also tried to configure according to this:

node.roles: !!seq ""

But Harness, which we use for deployment, is indicating that this is invalid:

ClassCastException: org.yaml.snakeyaml.nodes.ScalarNode cannot be cast to org.yaml.snakeyaml.nodes.SequenceNode

Please advise.

Update: was able to finally change the node roles using the deprecated settings:

    - name: client
      config: false
        node.ingest: false
        node.master: false false     

But this is deprecated settings. Can someone from Elastic please advise?
(We are using 7.10.2)

Have a look at: Node | Elasticsearch Guide [7.12] | Elastic

From that I'd guess something like:

    - name: client
        node.roles: [ ]

Does this work?

Unfortunately does not work.

@sebgl do you know?

Unfortunately this is a known issue we haven't fully solved yet in ECK: Coordinator nodes cannot be defined using node.roles · Issue #3718 · elastic/cloud-on-k8s · GitHub
It has to do with yaml syntax for nil vs. empty arrays...

We added a workaround for it starting ECK 1.4.0, so we properly treat a nil node.roles as an empty slice. See Coordinator nodes cannot be defined using node.roles · Issue #3718 · elastic/cloud-on-k8s · GitHub.

tl;dr: starting ECK 1.4.0 you should be able to use node.roles: []
I suspect you are using an earlier ECK version?

1 Like

Look like we are using ECK 1.2.1 so that must be the problem as you had written.
Many thanks!

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.