# Node states

**URL:** <https://forums.suse.com/t/node-states/35309>\
**Category:** SLES High Availability Extension\
**Created:** [October 5, 2020, 11:20am UTC](https://forums.suse.com/t/node-states/35309 "2020-10-05T11:20:27Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Smash](https://avatars.discourse-cdn.com/v4/letter/s/e274bd/32.png) [@Smash](https://forums.suse.com/u/Smash)\
**Post date:** [October 5, 2020, 11:20am UTC](https://forums.suse.com/t/node-states/35309/1 "2020-10-05T11:20:27Z")

</div>

Hello experts,  
As of now we see bare minimum states for the nodes in the cluster, like online, offline or under maintenance… but is there a way to have user defined states for each node, which any other node in the cluster can change/manage ? Can it be done by adding some specific resource ?  
We have a requirement, where we run the nodes in the cluster into a state machine, and want to manage that state machine through corosync. All the nodes should be able to access other node’s states, and should be able to change their states based on logic.  
Any help is appreciated !  
Thanks

---

<div class="post-metadata">

**Author:** ![strahil](https://avatars.discourse-cdn.com/v4/letter/s/b5ac83/32.png) [@strahil](https://forums.suse.com/u/strahil)\
**Post date:** [October 7, 2020, 4:55pm UTC](https://forums.suse.com/t/node-states/35309/2 "2020-10-07T16:55:34Z")

</div>

I admit that I’m puzzled.  
What is a state machine ? I have the feeling that you want to do some logic and based on that logic to set a node into ‘standby/maintenance/offline/etc’ , am I right ?

---

<div class="post-metadata">

**Author:** ![Smash](https://avatars.discourse-cdn.com/v4/letter/s/e274bd/32.png) [@Smash](https://forums.suse.com/u/Smash)\
**Post date:** [October 13, 2020, 11:04am UTC](https://forums.suse.com/t/node-states/35309/3 "2020-10-13T11:04:42Z")

</div>

Thats partially correct actually. Lets say there is a state machine like – eating, walking, running or inactive. Each node will be running in any of these states. What I am looking at is corosync to recognize these states, and one designated node should be allowed to change other node’s state through corosync. Just the way as in today, each node is able to see all other node’s running state, and can potentially push other nodes to maintenance. If corosync doesn’t have any such mechanism, I will have to build some similar stuff that corosync already has.

---

<div class="post-metadata">

**Author:** ![strahil](https://avatars.discourse-cdn.com/v4/letter/s/b5ac83/32.png) [@strahil](https://forums.suse.com/u/strahil)\
**Post date:** [October 14, 2020, 4:43am UTC](https://forums.suse.com/t/node-states/35309/4 "2020-10-14T04:43:12Z")

</div>

I guess you can ask the [users@clusterlabs.org](mailto:users@clusterlabs.org) (requires subscription to post).  
Theoretically , you can create your own resource that makes the logic and puts the other nodes into a different state, but most probably it will be done via crmsh and not via corosync.
