Skip to content
This repository has been archived by the owner on Apr 30, 2020. It is now read-only.

Document node state machine #36

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

JohnStrunk
Copy link
Member

@JohnStrunk JohnStrunk commented Jul 27, 2018

Describe what this PR does
This provides a description of the node state machine that allows the operator and GD2 synchronize on the current state of Gluster nodes.

Is there anything that requires special attention?
nope.

Related issues:
Fixes #17

This provides a description of how the operator and GD2 synchronize on
the current state of Gluster nodes.

Signed-off-by: John Strunk <[email protected]>
@JohnStrunk JohnStrunk changed the title [WIP] Document node state machine Document node state machine Aug 1, 2018
@JohnStrunk
Copy link
Member Author

@atinmu @aravindavk Does this proposal look reasonable?

The above state machine would apply independently to each node of the Gluster
cluster (i.e., each node has its own *current state*). The high-level meaning
of each state is:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this state maintained by operator ? Or do you expect glusterd2 to maintain this ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Per the suggestion farther down in this doc, the idea is to have a set of bool flags that would be maintained by GD2 per-node. Those flags are visible to both operator and GD2, and (depending on the specific flag) be modified by one or both of operator or gd2. See below for flag list and who is allowed to modify.


Note:

- All 16 combinations are represented in the table, above

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Its 16 or 20 combinations?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are 4 binary flags (condition column) which leads to 2^4 = 16 combinations. These 16 combinations are then mapped into the 5 "states" that the document discusses.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh ok.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants