As a part of node promotion, we set the desired state of the node to manager in the control api. Then, role_manager reconciles this node after receiving a node update. The reconciliation marks this node as manager in the store. However, its addition to the raft memberlist only happens when the node actually joins. So, for a brief period, the state in the store is inconsistent with the state in raft memberlist.
One way to address this is to make node promotion wait for the node to join raft memberlist.
As a part of node promotion, we set the desired state of the node to manager in the control api. Then, role_manager reconciles this node after receiving a node update. The reconciliation marks this node as manager in the store. However, its addition to the raft memberlist only happens when the node actually joins. So, for a brief period, the state in the store is inconsistent with the state in raft memberlist.
One way to address this is to make node promotion wait for the node to join raft memberlist.