# ECK Coordinating only node 7.10.2 has all node roles

**URL:** <https://discuss.elastic.co/t/eck-coordinating-only-node-7-10-2-has-all-node-roles/270591>\
**Category:** Elastic Cloud on Kubernetes (ECK)\
**Created:** [April 19, 2021, 2:02pm UTC](https://discuss.elastic.co/t/eck-coordinating-only-node-7-10-2-has-all-node-roles/270591 "2021-04-19T14:02:08Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![ewolfman](https://avatars.discourse-cdn.com/v4/letter/e/5f8ce5/32.png) [@ewolfman](https://discuss.elastic.co/u/ewolfman)\
**Post date:** [April 19, 2021, 2:02pm UTC](https://discuss.elastic.co/t/eck-coordinating-only-node-7-10-2-has-all-node-roles/270591/1 "2021-04-19T14:02:08Z")

</div>

Hi,

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

`node.roles: []`

As stated [here](https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html#coordinating-only-node).

But the client node seem to have all the roles and shards are wrongfully created on those nodes:  
 ![image](https://us1.discourse-cdn.com/elastic/original/3X/e/b/eb94b8f8d812955021413a89a47cf7b60f266799.png)

Also tried to configure according to [this](https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-node-configuration.html):

`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.

---

<div class="post-metadata">

**Author:** ![ewolfman](https://avatars.discourse-cdn.com/v4/letter/e/5f8ce5/32.png) [@ewolfman](https://discuss.elastic.co/u/ewolfman)\
**Post date:** [April 20, 2021, 10:29am UTC](https://discuss.elastic.co/t/eck-coordinating-only-node-7-10-2-has-all-node-roles/270591/2 "2021-04-20T10:29:12Z")

</div>

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

```auto
    - name: client
      config:
        node.data: false
        node.ingest: false
        node.master: false
        node.ml: false     

```

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

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [April 20, 2021, 11:12am UTC](https://discuss.elastic.co/t/eck-coordinating-only-node-7-10-2-has-all-node-roles/270591/3 "2021-04-20T11:12:48Z")

</div>

Have a look at: [Node | Elasticsearch Guide [7.12] | Elastic](https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html#coordinating-node)

From that I'd guess something like:

```auto
    - name: client
      config:
        node.roles: []

```

Does this work?

---

<div class="post-metadata">

**Author:** ![ewolfman](https://avatars.discourse-cdn.com/v4/letter/e/5f8ce5/32.png) [@ewolfman](https://discuss.elastic.co/u/ewolfman)\
**Post date:** [April 20, 2021, 11:33am UTC](https://discuss.elastic.co/t/eck-coordinating-only-node-7-10-2-has-all-node-roles/270591/4 "2021-04-20T11:33:55Z")

</div>

Unfortunately does not work.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [April 20, 2021, 12:38pm UTC](https://discuss.elastic.co/t/eck-coordinating-only-node-7-10-2-has-all-node-roles/270591/5 "2021-04-20T12:38:03Z")

</div>

@sebgl do you know?

---

<div class="post-metadata">

**Author:** ![sebgl](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sebgl/32/48702_2.png) [@sebgl](https://discuss.elastic.co/u/sebgl)\
**Post date:** [April 20, 2021, 1:16pm UTC](https://discuss.elastic.co/t/eck-coordinating-only-node-7-10-2-has-all-node-roles/270591/6 "2021-04-20T13:16:06Z")

</div>

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](https://github.com/elastic/cloud-on-k8s/issues/3718)  
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](https://github.com/elastic/cloud-on-k8s/issues/3718#issuecomment-823264281).

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

---

<div class="post-metadata">

**Author:** ![ewolfman](https://avatars.discourse-cdn.com/v4/letter/e/5f8ce5/32.png) [@ewolfman](https://discuss.elastic.co/u/ewolfman)\
**Post date:** [April 21, 2021, 11:04am UTC](https://discuss.elastic.co/t/eck-coordinating-only-node-7-10-2-has-all-node-roles/270591/7 "2021-04-21T11:04:03Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [May 19, 2021, 11:04am UTC](https://discuss.elastic.co/t/eck-coordinating-only-node-7-10-2-has-all-node-roles/270591/8 "2021-05-19T11:04:33Z")

</div>

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