diff options
Diffstat (limited to 'jstests/replsets/zero_vote_arbiter.js')
-rw-r--r-- | jstests/replsets/zero_vote_arbiter.js | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/jstests/replsets/zero_vote_arbiter.js b/jstests/replsets/zero_vote_arbiter.js deleted file mode 100644 index d7dbe23e0dc..00000000000 --- a/jstests/replsets/zero_vote_arbiter.js +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Test that replSetInitiate and replSetReconfig prohibit zero-vote arbiters, - * SERVER-13627. - */ - -var NewReplicaSetConfigurationIncompatible = 103; -var InvalidReplicaSetConfig = 93; - -/* - * Create replica set with 3 nodes, add new node as 0-vote arbiter. - */ -(function addArbiterZeroVotes() { - var replTest = new ReplSetTest({nodes: 3}); - var conns = replTest.startSet(); - replTest.initiate(); - - var arbiterConn = replTest.add(); - var admin = conns[0].getDB("admin"); - var conf = admin.runCommand({replSetGetConfig: 1}).config; - conf.members.push({ - _id: 3, - host: arbiterConn.host, - arbiterOnly: true, - votes: 0 - }); - conf.version++; - - jsTestLog('Add arbiter with zero votes:'); - var response = admin.runCommand({replSetReconfig: conf}); - assert.commandFailed(response); - assert.eq(response.code, NewReplicaSetConfigurationIncompatible); - assert(/.*arbiter must vote.*/i.test(response.errmsg)); - - replTest.stopSet(); -})(); - -/* - * Replica set with 4 nodes, 2 are arbiters. Reconfigure one with 0 votes. - */ -(function reconfigArbiterZeroVotes() { - var replTest = new ReplSetTest({nodes: 4}); - var conns = replTest.startSet(); - var config = replTest.getReplSetConfig(); - config.members[2].arbiterOnly = true; - config.members[3].arbiterOnly = true; - replTest.initiate(config); - - var admin = conns[0].getDB("admin"); - var conf = admin.runCommand({replSetGetConfig: 1}).config; - - jsTestLog('Reconfig arbiter with zero votes:'); - conf.members[3].votes = 0; - conf.version++; - var response = admin.runCommand({replSetReconfig: conf}); - printjson(response); - assert.commandFailed(response); - assert.eq(response.code, NewReplicaSetConfigurationIncompatible); - assert(/.*arbiter must vote.*/i.test(response.errmsg)); - - replTest.stopSet(); -})(); - - -/* - * replSetInitiate with a 0-vote arbiter. - */ -(function initiateArbiterZeroVotes() { - var replTest = new ReplSetTest({nodes: 3}); - var conns = replTest.startSet(); - var config = replTest.getReplSetConfig(); - config.members[2].arbiterOnly = true; - config.members[2].votes = 0; - - var admin = conns[0].getDB("admin"); - - jsTestLog('replSetInitiate with 0-vote arbiter:'); - var response = admin.runCommand({replSetInitiate: config}); - printjson(response); - assert.commandFailed(response); - - // Test for SERVER-15838 wrong error from RS init with 0-vote arbiter. - assert.eq(response.code, InvalidReplicaSetConfig); - assert(/.*arbiter must vote.*/i.test(response.errmsg)); - - replTest.stopSet(); -})(); - -/* - * Replica set with max number of voting nodes. Add a 0-vote arbiter. - */ -(function maxVoteEdgeAddArbiterZeroVotes() { - var replTest = new ReplSetTest({nodes: 7}); - var conns = replTest.startSet(); - replTest.initiate(); - - var arbiterConn = replTest.add(); - var admin = conns[0].getDB("admin"); - var conf = admin.runCommand({replSetGetConfig: 1}).config; - conf.members.push({ - _id: 7, - host: arbiterConn.host, - arbiterOnly: true, - votes: 0 - }); - conf.version++; - - jsTestLog('Add arbiter with zero votes:'); - var response = admin.runCommand({replSetReconfig: conf}); - assert.commandFailed(response); - assert.eq(response.code, NewReplicaSetConfigurationIncompatible); - assert(/.*arbiter must vote.*/i.test(response.errmsg)); - - replTest.stopSet(); -})(); |