diff options
author | Amalia Hawkins <amalia.hawkins@10gen.com> | 2014-07-23 13:05:30 -0400 |
---|---|---|
committer | Amalia Hawkins <amalia.hawkins@10gen.com> | 2014-07-23 17:23:15 -0400 |
commit | 3f6f0879b9cadcdc7763427a578151136c256e1f (patch) | |
tree | cc1f868cd80b10408076d055fbdc978f8ba808a4 /jstests/multiVersion | |
parent | 2cbd9f1d77ce6b25e9957d3121fccb521caf848f (diff) | |
download | mongo-3f6f0879b9cadcdc7763427a578151136c256e1f.tar.gz |
SERVER-14316 Remove addUser function from the shell
Diffstat (limited to 'jstests/multiVersion')
-rw-r--r-- | jstests/multiVersion/dumprestore_24_auth.js | 62 | ||||
-rw-r--r-- | jstests/multiVersion/mongos_rs_legacy_auth_shard_failure_tolerance.js | 338 |
2 files changed, 0 insertions, 400 deletions
diff --git a/jstests/multiVersion/dumprestore_24_auth.js b/jstests/multiVersion/dumprestore_24_auth.js deleted file mode 100644 index 80dce2736bb..00000000000 --- a/jstests/multiVersion/dumprestore_24_auth.js +++ /dev/null @@ -1,62 +0,0 @@ -// Tests that you can dump user data from 2.4 and restore it to a clean 2.6 system, and that the -// current version of mongodump/mongorestore still support dumping/restoring to and from 2.4. - - -// The base name to use for various things in the test, including the dbpath and the database name -var testBaseName = "jstests_tool_dumprestore_24_to_26"; -var dumpDir = MongoRunner.getAndPrepareDumpDirectory(testBaseName); - -function multiVersionDumpRestoreTest(opts) { - resetDbpath(dumpDir); - var mongodSource = MongoRunner.runMongod({ binVersion : opts.mongodSourceVersion, - setParameter : "textSearchEnabled=true" }); - var mongodDest = MongoRunner.runMongod({ binVersion : opts.mongodDestVersion, - setParameter : "textSearchEnabled=true" }); - var sourceDB = mongodSource.getDB(testBaseName); - var sourceAdmin = mongodSource.getDB("admin"); - var destDB = mongodDest.getDB(testBaseName); - var destAdmin = mongodDest.getDB("admin"); - - sourceAdmin.addUser({user: 'adminUser', pwd: 'pwd', roles: ['userAdminAnyDatabase']}); - sourceDB.addUser({user: 'user', pwd: 'pwd', roles: ['readWrite']}); - - // Dump using the specified version of mongodump - MongoRunner.runMongoTool("mongodump", { out : dumpDir, binVersion : opts.mongoDumpVersion, - host : mongodSource.host }); - - // Drop the databases - sourceDB.dropDatabase(); - sourceAdmin.dropDatabase(); - - // Restore using the specified version of mongorestore - MongoRunner.runMongoTool("mongorestore", { dir : dumpDir, binVersion : opts.mongoRestoreVersion, - host : mongodDest.host }); - - // Wait until we actually have data or timeout - assert.soon(function() { return destAdmin.system.users.findOne(); }, "no data after sleep"); - assert.eq(1, destDB.system.users.count()); - assert.eq('user', destDB.system.users.findOne().user); - assert.eq(1, destAdmin.system.users.count()); - assert.eq('adminUser', destAdmin.system.users.findOne().user); - - if (opts.mongodDestVersion == "latest") { - var schemaVersion = - destAdmin.runCommand({getParameter: 1, authSchemaVersion: 1}).authSchemaVersion; - if (opts.mongodSourceVersion == "2.4") { - assert.eq(1, schemaVersion); - } else if (opts.mongodSourceVersion == "latest") { - assert.eq(3, schemaVersion); - } - } - - MongoRunner.stopMongod(mongodSource); - MongoRunner.stopMongod(mongodDest); -} - -multiVersionDumpRestoreTest({mongodSourceVersion: "2.4", - mongodDestVersion: "2.4", - mongoDumpVersion: "latest", - mongoRestoreVersion: "latest"}); - - -print("dumprestore_24_to_26 success!"); diff --git a/jstests/multiVersion/mongos_rs_legacy_auth_shard_failure_tolerance.js b/jstests/multiVersion/mongos_rs_legacy_auth_shard_failure_tolerance.js deleted file mode 100644 index 6196351445d..00000000000 --- a/jstests/multiVersion/mongos_rs_legacy_auth_shard_failure_tolerance.js +++ /dev/null @@ -1,338 +0,0 @@ -// -// Tests mongos's failure tolerance for authenticated replica set shards and slaveOk queries using -// legacy authentication -// -// TODO: Remove test post-2.6 -// -// Sets up a cluster with three shards, the first shard of which has an unsharded collection and -// half a sharded collection. The second shard has the second half of the sharded collection, and -// the third shard has nothing. Progressively shuts down the primary of each shard to see the -// impact on the cluster. -// -// Three different connection states are tested - active (connection is active through whole -// sequence), idle (connection is connected but not used before a shard change), and new -// (connection connected after shard change). -// - -var options = { separateConfig : true, - rs : true, - enableBalancer: true, - mongosOptions : { binVersion : "2.6" }, - rsOptions : { nodes : 2, binVersion : "2.4" }, - keyFile : "jstests/libs/key1" }; - -var st = new ShardingTest({shards : 3, mongos : 1, other : options}); -st.stopBalancer(); - -var mongos = st.s0; -var admin = mongos.getDB( "admin" ); -var shards = mongos.getDB( "config" ).shards.find().toArray(); - -assert.commandWorked( admin.runCommand({ setParameter : 1, traceExceptions : true }) ); - -var collSharded = mongos.getCollection( "fooSharded.barSharded" ); -var collUnsharded = mongos.getCollection( "fooUnsharded.barUnsharded" ); - -// Create the unsharded database with shard0 primary -collUnsharded.insert({ some : "doc" }); -assert.eq( null, collUnsharded.getDB().getLastError() ); -collUnsharded.remove({}); -assert.eq( null, collUnsharded.getDB().getLastError() ); -printjson( admin.runCommand({ movePrimary : collUnsharded.getDB().toString(), - to : shards[0]._id }) ); - -// Create the sharded database with shard1 primary -assert.commandWorked( admin.runCommand({ enableSharding : collSharded.getDB().toString() }) ); -printjson( admin.runCommand({ movePrimary : collSharded.getDB().toString(), to : shards[1]._id }) ); -assert.commandWorked( admin.runCommand({ shardCollection : collSharded.toString(), - key : { _id : 1 } }) ); -assert.commandWorked( admin.runCommand({ split : collSharded.toString(), middle : { _id : 0 } }) ); -assert.commandWorked( admin.runCommand({ moveChunk : collSharded.toString(), - find : { _id : -1 }, - to : shards[0]._id }) ); - -st.printShardingStatus(); - -var adminUser = "adminUser"; -var shardedDBUser = "shardedDBUser"; -var unshardedDBUser = "unshardedDBUser"; -var password = "password"; - -jsTest.log("Setting up (legacy) database users..."); - -// Create db users -collSharded.getDB()._addUserWithInsert({ user : shardedDBUser, - pwd : password, roles : [ "readWrite" ] }); -collUnsharded.getDB()._addUserWithInsert({ user : unshardedDBUser, - pwd : password, roles : [ "readWrite" ] }); - -jsTest.log("Setting up (legacy) admin user..."); - -// Create a user -admin._addUserWithInsert({ user : adminUser, pwd : password, roles: [ "userAdminAnyDatabase" ] }); -// There's an admin user now, so we need to login to do anything - -function authDBUsers( conn ) { - conn.getDB( collSharded.getDB().toString() ).auth(shardedDBUser, password); - conn.getDB( collUnsharded.getDB().toString() ).auth(unshardedDBUser, password); - return conn; -} - -function authUnshardedUser( conn ) { - conn.getDB( collUnsharded.getDB().toString() ).auth(unshardedDBUser, password); - return conn; -} - -// Needed b/c the GLE command itself can fail if the shard is down ("write result unknown") - we -// don't care if this happens in this test, we only care that we did not get "write succeeded". -// Depending on the connection pool state, we could get either. -function gleErrorOrThrow(database, msg) { - var gle; - try { - gle = database.getLastErrorObj(); - } - catch (ex) { - return; - } - if (!gle.err) doassert("getLastError is null: " + tojson(gle) + " :" + msg); - return; -}; - -// -// Setup is complete -// - -jsTest.log("Inserting initial data..."); - -var mongosConnActive = authDBUsers( new Mongo( mongos.host ) ); -authDBUsers(mongosConnActive); -var mongosConnIdle = null; -var mongosConnNew = null; - -mongosConnActive.getCollection( collSharded.toString() ).insert({ _id : -1 }); -mongosConnActive.getCollection( collSharded.toString() ).insert({ _id : 1 }); -assert.eq(null, mongosConnActive.getCollection( collSharded.toString() ).getDB().getLastError()); - -mongosConnActive.getCollection( collUnsharded.toString() ).insert({ _id : 1 }); -assert.eq(null, mongosConnActive.getCollection( collUnsharded.toString() ).getDB().getLastError()); - -jsTest.log("Stopping primary of third shard..."); - -mongosConnIdle = authDBUsers( new Mongo( mongos.host ) ); - -st.rs2.stop(st.rs2.getPrimary(), true ); // wait for stop - -jsTest.log("Testing active connection with third primary down..."); - -assert.neq(null, mongosConnActive.getCollection( collSharded.toString() ).findOne({ _id : -1 })); -assert.neq(null, mongosConnActive.getCollection( collSharded.toString() ).findOne({ _id : 1 })); -assert.neq(null, mongosConnActive.getCollection( collUnsharded.toString() ).findOne({ _id : 1 })); - -mongosConnActive.getCollection( collSharded.toString() ).insert({ _id : -2 }); -assert.gleSuccess(mongosConnActive.getCollection( collSharded.toString() ).getDB()); -mongosConnActive.getCollection( collSharded.toString() ).insert({ _id : 2 }); -assert.gleSuccess(mongosConnActive.getCollection( collSharded.toString() ).getDB()); -mongosConnActive.getCollection( collUnsharded.toString() ).insert({ _id : 2 }); -assert.gleSuccess(mongosConnActive.getCollection( collUnsharded.toString() ).getDB()); - -jsTest.log("Testing idle connection with third primary down..."); - -mongosConnIdle.getCollection( collSharded.toString() ).insert({ _id : -3 }); -assert.gleSuccess(mongosConnIdle.getCollection( collSharded.toString() ).getDB()); -mongosConnIdle.getCollection( collSharded.toString() ).insert({ _id : 3 }); -assert.gleSuccess(mongosConnIdle.getCollection( collSharded.toString() ).getDB()); -mongosConnIdle.getCollection( collUnsharded.toString() ).insert({ _id : 3 }); -assert.gleSuccess(mongosConnIdle.getCollection( collUnsharded.toString() ).getDB()); - -assert.neq(null, mongosConnIdle.getCollection( collSharded.toString() ).findOne({ _id : -1 }) ); -assert.neq(null, mongosConnIdle.getCollection( collSharded.toString() ).findOne({ _id : 1 }) ); -assert.neq(null, mongosConnIdle.getCollection( collUnsharded.toString() ).findOne({ _id : 1 }) ); - -jsTest.log("Testing new connections with third primary down..."); - -mongosConnNew = authDBUsers( new Mongo( mongos.host ) ); -assert.neq(null, mongosConnNew.getCollection( collSharded.toString() ).findOne({ _id : -1 }) ); -mongosConnNew = authDBUsers( new Mongo( mongos.host ) ); -assert.neq(null, mongosConnNew.getCollection( collSharded.toString() ).findOne({ _id : 1 }) ); -mongosConnNew = authDBUsers( new Mongo( mongos.host ) ); -assert.neq(null, mongosConnNew.getCollection( collUnsharded.toString() ).findOne({ _id : 1 }) ); - -mongosConnNew = authDBUsers( new Mongo( mongos.host ) ); -mongosConnNew.getCollection( collSharded.toString() ).insert({ _id : -4 }); -assert.gleSuccess(mongosConnNew.getCollection( collSharded.toString() ).getDB()); -mongosConnNew = authDBUsers( new Mongo( mongos.host ) ); -mongosConnNew.getCollection( collSharded.toString() ).insert({ _id : 4 }); -assert.gleSuccess(mongosConnNew.getCollection( collSharded.toString() ).getDB()); -mongosConnNew = authDBUsers( new Mongo( mongos.host ) ); -mongosConnNew.getCollection( collUnsharded.toString() ).insert({ _id : 4 }); -assert.gleSuccess(mongosConnNew.getCollection( collUnsharded.toString() ).getDB()); - -gc(); // Clean up new connections - -jsTest.log("Stopping primary of second shard..."); - -mongosConnActive.setSlaveOk(); -mongosConnIdle = authDBUsers( new Mongo( mongos.host ) ); -mongosConnIdle.setSlaveOk(); - -// Need to save this node for later -var rs1Secondary = st.rs1.getSecondary(); - -st.rs1.stop(st.rs1.getPrimary(), true ); // wait for stop - -jsTest.log("Testing active connection with second primary down..."); - -assert.neq(null, mongosConnActive.getCollection( collSharded.toString() ).findOne({ _id : -1 })); -assert.neq(null, mongosConnActive.getCollection( collSharded.toString() ).findOne({ _id : 1 })); -assert.neq(null, mongosConnActive.getCollection( collUnsharded.toString() ).findOne({ _id : 1 })); - -mongosConnActive.getCollection( collSharded.toString() ).insert({ _id : -5 }); -assert.gleSuccess(mongosConnActive.getCollection( collSharded.toString() ).getDB()); -mongosConnActive.getCollection( collSharded.toString() ).insert({ _id : 5 }); -gleErrorOrThrow(mongosConnActive.getCollection( collSharded.toString() ).getDB()); -mongosConnActive.getCollection( collUnsharded.toString() ).insert({ _id : 5 }); -assert.gleSuccess(mongosConnActive.getCollection( collUnsharded.toString() ).getDB()); - -jsTest.log("Testing idle connection with second primary down..."); - -mongosConnIdle.getCollection( collSharded.toString() ).insert({ _id : -6 }); -assert.gleSuccess(mongosConnIdle.getCollection( collSharded.toString() ).getDB()); -mongosConnIdle.getCollection( collSharded.toString() ).insert({ _id : 6 }); -gleErrorOrThrow(mongosConnIdle.getCollection( collSharded.toString() ).getDB()); -mongosConnIdle.getCollection( collUnsharded.toString() ).insert({ _id : 6 }); -assert.gleSuccess(mongosConnIdle.getCollection( collUnsharded.toString() ).getDB()); - -assert.neq(null, mongosConnIdle.getCollection( collSharded.toString() ).findOne({ _id : -1 }) ); -assert.neq(null, mongosConnIdle.getCollection( collSharded.toString() ).findOne({ _id : 1 }) ); -assert.neq(null, mongosConnIdle.getCollection( collUnsharded.toString() ).findOne({ _id : 1 }) ); - -jsTest.log("Testing new connections with second primary down..."); - -mongosConnNew = authDBUsers( new Mongo( mongos.host ) ); -mongosConnNew.setSlaveOk(); -assert.neq(null, mongosConnNew.getCollection( collSharded.toString() ).findOne({ _id : -1 }) ); -mongosConnNew = authDBUsers( new Mongo( mongos.host ) ); -mongosConnNew.setSlaveOk(); -assert.neq(null, mongosConnNew.getCollection( collSharded.toString() ).findOne({ _id : 1 }) ); -mongosConnNew = authDBUsers( new Mongo( mongos.host ) ); -mongosConnNew.setSlaveOk(); -assert.neq(null, mongosConnNew.getCollection( collUnsharded.toString() ).findOne({ _id : 1 }) ); - -mongosConnNew = authDBUsers( new Mongo( mongos.host ) ); -mongosConnNew.getCollection( collSharded.toString() ).insert({ _id : -7 }); -assert.gleSuccess(mongosConnNew.getCollection( collSharded.toString() ).getDB()); -mongosConnNew = authDBUsers( new Mongo( mongos.host ) ); -mongosConnNew.getCollection( collSharded.toString() ).insert({ _id : 7 }); -gleErrorOrThrow(mongosConnNew.getCollection( collSharded.toString() ).getDB()); -mongosConnNew = authDBUsers( new Mongo( mongos.host ) ); -mongosConnNew.getCollection( collUnsharded.toString() ).insert({ _id : 7 }); -assert.gleSuccess(mongosConnNew.getCollection( collUnsharded.toString() ).getDB()); - -gc(); // Clean up new connections - -jsTest.log("Stopping primary of first shard..."); - -mongosConnActive.setSlaveOk(); -mongosConnIdle = authDBUsers( new Mongo( mongos.host ) ); -mongosConnIdle.setSlaveOk(); - -st.rs0.stop(st.rs0.getPrimary(), true ); // wait for stop - -jsTest.log("Testing active connection with first primary down..."); - -assert.neq(null, mongosConnActive.getCollection( collSharded.toString() ).findOne({ _id : -1 })); -assert.neq(null, mongosConnActive.getCollection( collSharded.toString() ).findOne({ _id : 1 })); -assert.neq(null, mongosConnActive.getCollection( collUnsharded.toString() ).findOne({ _id : 1 })); - -mongosConnActive.getCollection( collSharded.toString() ).insert({ _id : -8 }); -gleErrorOrThrow(mongosConnActive.getCollection( collSharded.toString() ).getDB()); -mongosConnActive.getCollection( collSharded.toString() ).insert({ _id : 8 }); -gleErrorOrThrow(mongosConnActive.getCollection( collSharded.toString() ).getDB()); -mongosConnActive.getCollection( collUnsharded.toString() ).insert({ _id : 8 }); -gleErrorOrThrow(mongosConnActive.getCollection( collUnsharded.toString() ).getDB()); - -jsTest.log("Testing idle connection with first primary down..."); - -mongosConnIdle.getCollection( collSharded.toString() ).insert({ _id : -9 }); -gleErrorOrThrow(mongosConnIdle.getCollection( collSharded.toString() ).getDB()); -mongosConnIdle.getCollection( collSharded.toString() ).insert({ _id : 9 }); -gleErrorOrThrow(mongosConnIdle.getCollection( collSharded.toString() ).getDB()); -mongosConnIdle.getCollection( collUnsharded.toString() ).insert({ _id : 9 }); -gleErrorOrThrow(mongosConnIdle.getCollection( collUnsharded.toString() ).getDB()); - -assert.neq(null, mongosConnIdle.getCollection( collSharded.toString() ).findOne({ _id : -1 }) ); -assert.neq(null, mongosConnIdle.getCollection( collSharded.toString() ).findOne({ _id : 1 }) ); -assert.neq(null, mongosConnIdle.getCollection( collUnsharded.toString() ).findOne({ _id : 1 }) ); - -jsTest.log("Testing new connections with first primary down..."); - -mongosConnNew = authDBUsers( new Mongo( mongos.host ) ); -mongosConnNew.setSlaveOk(); -assert.neq(null, mongosConnNew.getCollection( collSharded.toString() ).findOne({ _id : -1 }) ); -mongosConnNew = authDBUsers( new Mongo( mongos.host ) ); -mongosConnNew.setSlaveOk(); -assert.neq(null, mongosConnNew.getCollection( collSharded.toString() ).findOne({ _id : 1 }) ); -mongosConnNew = authDBUsers( new Mongo( mongos.host ) ); -mongosConnNew.setSlaveOk(); -assert.neq(null, mongosConnNew.getCollection( collUnsharded.toString() ).findOne({ _id : 1 }) ); - -mongosConnNew = authDBUsers( new Mongo( mongos.host ) ); -mongosConnNew.getCollection( collSharded.toString() ).insert({ _id : -10 }); -gleErrorOrThrow(mongosConnNew.getCollection( collSharded.toString() ).getDB()); -mongosConnNew = authDBUsers( new Mongo( mongos.host ) ); -mongosConnNew.getCollection( collSharded.toString() ).insert({ _id : 10 }); -gleErrorOrThrow(mongosConnNew.getCollection( collSharded.toString() ).getDB()); -mongosConnNew = authDBUsers( new Mongo( mongos.host ) ); -mongosConnNew.getCollection( collUnsharded.toString() ).insert({ _id : 10 }); -gleErrorOrThrow(mongosConnNew.getCollection( collUnsharded.toString() ).getDB()); - -gc(); // Clean up new connections - -jsTest.log("Stopping second shard..."); - -mongosConnActive.setSlaveOk(); -mongosConnIdle = authDBUsers( new Mongo( mongos.host ) ); -mongosConnIdle.setSlaveOk(); - -st.rs1.stop(rs1Secondary, true ); // wait for stop - -jsTest.log("Testing active connection with second shard down..."); - -assert.neq(null, mongosConnActive.getCollection( collSharded.toString() ).findOne({ _id : -1 })); -assert.neq(null, mongosConnActive.getCollection( collUnsharded.toString() ).findOne({ _id : 1 })); - -mongosConnActive.getCollection( collSharded.toString() ).insert({ _id : -11 }); -gleErrorOrThrow(mongosConnActive.getCollection( collSharded.toString() ).getDB()); -mongosConnActive.getCollection( collSharded.toString() ).insert({ _id : 11 }); -gleErrorOrThrow(mongosConnActive.getCollection( collSharded.toString() ).getDB()); -mongosConnActive.getCollection( collUnsharded.toString() ).insert({ _id : 11 }); -gleErrorOrThrow(mongosConnActive.getCollection( collUnsharded.toString() ).getDB()); - -jsTest.log("Testing idle connection with second shard down..."); - -mongosConnIdle.getCollection( collSharded.toString() ).insert({ _id : -12 }); -gleErrorOrThrow(mongosConnIdle.getCollection( collSharded.toString() ).getDB()); -mongosConnIdle.getCollection( collSharded.toString() ).insert({ _id : 12 }); -gleErrorOrThrow(mongosConnIdle.getCollection( collSharded.toString() ).getDB()); -mongosConnIdle.getCollection( collUnsharded.toString() ).insert({ _id : 12 }); -gleErrorOrThrow(mongosConnIdle.getCollection( collUnsharded.toString() ).getDB()); - -assert.neq(null, mongosConnIdle.getCollection( collSharded.toString() ).findOne({ _id : -1 }) ); -assert.neq(null, mongosConnIdle.getCollection( collUnsharded.toString() ).findOne({ _id : 1 }) ); - -jsTest.log("Testing new connections with second shard down..."); - -// Note that this would fail for the sharded database with a primary on the second shard - -mongosConnNew = authUnshardedUser( new Mongo( mongos.host ) ); -mongosConnNew.setSlaveOk(); -assert.neq(null, mongosConnNew.getCollection( collUnsharded.toString() ).findOne({ _id : 1 }) ); - -mongosConnNew = authUnshardedUser( new Mongo( mongos.host ) ); -mongosConnNew.getCollection( collUnsharded.toString() ).insert({ _id : 13 }); -gleErrorOrThrow(mongosConnNew.getCollection( collUnsharded.toString() ).getDB()); - -gc(); // Clean up new connections - -jsTest.log("DONE!"); -st.stop(); |