Files
mongo/jstests/sharding/names.js
Kaloian Manassiev 38e5c4febb SERVER-21009 Get rid of some unused/unnecessary methods in ShardingTest
Removes shardGo in lieu of shardColl and removes setBalancer because it
duplicates functionality, which is already in sh.
2015-10-27 08:24:24 -04:00

51 lines
1.8 KiB
JavaScript

// Test that having replica set names the same as the names of other shards works fine
(function() {
var st = new ShardingTest({ name: "HostNames",
shards: 0,
mongos: 2,
other: { rs : true } });
var rsA = new ReplSetTest({ nodes : 2, name : "rsA" })
var rsB = new ReplSetTest({ nodes : 2, name : "rsB" })
rsA.startSet()
rsB.startSet()
rsA.initiate()
rsB.initiate()
rsA.getPrimary()
rsB.getPrimary()
var mongos = st.s
var config = mongos.getDB("config")
var admin = mongos.getDB("admin")
assert( admin.runCommand({ addShard : rsA.getURL(), name : rsB.name }).ok );
printjson( config.shards.find().toArray() );
assert( admin.runCommand({ addShard : rsB.getURL(), name : rsA.name }).ok );
printjson( config.shards.find().toArray() );
assert.eq(2, config.shards.count(), "Error adding a shard");
assert.eq(rsB.getURL(), config.shards.findOne({_id:rsA.name})["host"], "Wrong host for shard rsA");
assert.eq(rsA.getURL(), config.shards.findOne({_id:rsB.name})["host"], "Wrong host for shard rsB");
// Remove shard
assert( admin.runCommand( { removeshard: rsA.name } ).ok , "failed to start draining shard" );
assert( admin.runCommand( { removeshard: rsA.name } ).ok , "failed to remove shard" );
assert.eq(1, config.shards.count(), "Error removing a shard");
assert.eq(rsA.getURL(), config.shards.findOne({_id:rsB.name})["host"], "Wrong host for shard rsB 2");
// Re-add shard
assert( admin.runCommand({ addShard : rsB.getURL(), name : rsA.name }).ok );
printjson( config.shards.find().toArray() )
assert.eq(2, config.shards.count(), "Error re-adding a shard");
assert.eq(rsB.getURL(), config.shards.findOne({_id:rsA.name})["host"], "Wrong host for shard rsA 3");
assert.eq(rsA.getURL(), config.shards.findOne({_id:rsB.name})["host"], "Wrong host for shard rsB 3");
st.stop();
})();