1
0
Fork 0

Don't hardcode suffrage when joining

master
Philip O'Toole 9 months ago
parent 893172ad77
commit 81fda2aa26

@ -180,7 +180,7 @@ func (b *Bootstrapper) Boot(id, raftAddr string, suf Suffrage, done func() bool,
// Try an explicit join first. Joining an existing cluster is always given priority
// over trying to form a new cluster.
if j, err := joiner.Do(targets, id, raftAddr, suf); err == nil {
b.logger.Printf("succeeded directly joining cluster via node at %s", j)
b.logger.Printf("succeeded directly joining cluster via node at %s as %s", j, suf)
b.setBootStatus(BootJoin)
return nil
}

@ -459,7 +459,7 @@ func createCluster(cfg *Config, hasPeers bool, client *cluster.Client, str *stor
// Bootstrap with explicit join addresses requests.
bs := cluster.NewBootstrapper(cluster.NewAddressProviderString(joins), client)
bs.SetCredentials(cluster.CredentialsFor(credStr, cfg.JoinAs))
return bs.Boot(str.ID(), cfg.RaftAdv, cluster.Voter, isClustered, cfg.BootstrapExpectTimeout)
return bs.Boot(str.ID(), cfg.RaftAdv, cluster.VoterSuffrage(!cfg.RaftNonVoter), isClustered, cfg.BootstrapExpectTimeout)
}
if cfg.DiscoMode == "" {
@ -503,7 +503,7 @@ func createCluster(cfg *Config, hasPeers bool, client *cluster.Client, str *stor
bs := cluster.NewBootstrapper(provider, client)
bs.SetCredentials(cluster.CredentialsFor(credStr, cfg.JoinAs))
httpServ.RegisterStatus("disco", provider)
return bs.Boot(str.ID(), cfg.RaftAdv, cluster.Voter, isClustered, cfg.BootstrapExpectTimeout)
return bs.Boot(str.ID(), cfg.RaftAdv, cluster.VoterSuffrage(!cfg.RaftNonVoter), isClustered, cfg.BootstrapExpectTimeout)
case DiscoModeEtcdKV, DiscoModeConsulKV:
discoService, err := createDiscoService(cfg, str)

@ -175,6 +175,11 @@ class TestAutoClusteringDNS(unittest.TestCase):
self.nodes.append(n3)
self.assertEqual(n0.wait_for_leader(), n3.wait_for_leader())
self.assertTrue(n0.is_voter())
self.assertTrue(n1.is_voter())
self.assertTrue(n2.is_voter())
self.assertFalse(n3.is_voter())
def tearDown(self):
del os.environ['RQLITE_DISCO_DNS_HOSTS']
for n in self.nodes:

Loading…
Cancel
Save