code: func (c *cluster) needTopologyAgreement() bool {
  	return (c.state == ClusterStateStarting || c.state == ClusterStateDegraded) && !stringSlicesAreEqual(c.Topology.nodeIDs, c.nodeIDs())
  }
docs: // needTopologyAgreement is unprotected.