Example #1
0
    def test_sharded(self):
        # Start all sharded servers

        for s_id in SHARD_TEST_SERVERS:
            self.assert_start_server(s_id, start_options=["--rs-add"])

        print "Sleeping for 10 seconds..."
        # sleep for 10 of seconds
        time.sleep(10)
        conf_cmd = ["configure-shard-cluster", "ShardedCluster"]
        append_user_arg(conf_cmd)
        # Configure the sharded cluster
        self.mongoctl_assert_cmd(conf_cmd)
    def do_test_mongodb_version(self, mongo_version, mongo_edition):

        # install version
        self.mongoctl_assert_cmd(
            ["install-mongodb", mongo_version, "--edition", mongo_edition])
        for server in SERVERS:
            server["mongoVersion"] = mongo_version
            server["mongoEdition"] = mongo_edition
        # assert that all servers are down
        self.assert_server_stopped("version_arbiter_test_server")
        self.assert_server_stopped("version_node1_test_server")
        self.assert_server_stopped("version_node2_test_server")
        # start all servers and make sure they started...
        self.assert_start_server("version_arbiter_test_server")
        self.assert_server_running("version_arbiter_test_server")

        self.assert_start_server("version_node1_test_server")
        self.assert_server_online("version_node1_test_server")

        self.assert_start_server("version_node2_test_server")
        self.assert_server_online("version_node2_test_server")

        # Configure the cluster
        conf_cmd = ["configure-cluster", "VersionReplicasetTestCluster"]
        append_user_arg(conf_cmd)
        self.mongoctl_assert_cmd(conf_cmd)

        print "Sleeping for 2 seconds..."
        # sleep for a couple of seconds
        time.sleep(2)
        # RE-Configure the cluster
        self.mongoctl_assert_cmd(conf_cmd)

        print(
            "Sleeping for 15 seconds. Hopefully credentials would "
            "be replicated by then. If not then authentication will fail and"
            " passwords will be prompted and then the test will fail...")
        # sleep for a couple of seconds
        time.sleep(15)

        ## Stop all servers
        self.assert_stop_server("version_arbiter_test_server")
        self.assert_server_stopped("version_arbiter_test_server")

        self.assert_stop_server("version_node1_test_server", force=True)
        self.assert_server_stopped("version_node1_test_server")

        self.assert_stop_server("version_node2_test_server", force=True)
        self.assert_server_stopped("version_node2_test_server")

        self.tearDown()
    def test_ssl_replicaset(self):

        # install ssl mongodb
        self.mongoctl_assert_cmd(["install-mongodb", "3.0.7",  "--edition", "community_ssl"])

        # generate ssl key files
        self.generate_ssl_key_files()

        # assert that all servers are down
        self.assert_server_stopped("ssl_arbiter_test_server")
        self.assert_server_stopped("ssl_node1_test_server")
        self.assert_server_stopped("ssl_node2_test_server")
        # start all servers and make sure they started...

        self.assert_start_server("ssl_node1_test_server", ["--rs-add"])
        self.assert_server_online("ssl_node1_test_server")

        self.assert_start_server("ssl_node2_test_server", ["--rs-add"])
        self.assert_server_online("ssl_node2_test_server")

        self.assert_start_server("ssl_arbiter_test_server", ["--rs-add"])
        self.assert_server_running("ssl_arbiter_test_server")

        # Configure the cluster
        conf_cmd = ["configure-cluster", "SSLReplicasetTestCluster"]
        append_user_arg(conf_cmd)
        self.mongoctl_assert_cmd(conf_cmd)

        print "Sleeping for 2 seconds..."
        # sleep for a couple of seconds
        time.sleep(2)
        # RE-Configure the cluster
        self.mongoctl_assert_cmd(conf_cmd)

        print ("Sleeping for 15 seconds. Hopefully credentials would "
              "be replicated by then. If not then authentication will fail and"
              " passwords will be prompted and then the test will fail...")
        # sleep for a couple of seconds
        time.sleep(15)

        ## Stop all servers
        self.assert_stop_server("ssl_arbiter_test_server")
        self.assert_server_stopped("ssl_arbiter_test_server")

        self.assert_stop_server("ssl_node1_test_server", force=True)
        self.assert_server_stopped("ssl_node1_test_server")

        self.assert_stop_server("ssl_node2_test_server", force=True)
        self.assert_server_stopped("ssl_node2_test_server")
    def do_test_mongodb_version(self, mongo_version, mongo_edition):

        # install version
        self.mongoctl_assert_cmd(["install-mongodb", mongo_version,  "--edition", mongo_edition])
        for server in SERVERS:
            server["mongoVersion"] = mongo_version
            server["mongoEdition"] = mongo_edition
        # assert that all servers are down
        self.assert_server_stopped("version_arbiter_test_server")
        self.assert_server_stopped("version_node1_test_server")
        self.assert_server_stopped("version_node2_test_server")
        # start all servers and make sure they started...
        self.assert_start_server("version_arbiter_test_server")
        self.assert_server_running("version_arbiter_test_server")

        self.assert_start_server("version_node1_test_server")
        self.assert_server_online("version_node1_test_server")

        self.assert_start_server("version_node2_test_server")
        self.assert_server_online("version_node2_test_server")

        # Configure the cluster
        conf_cmd = ["configure-cluster", "VersionReplicasetTestCluster"]
        append_user_arg(conf_cmd)
        self.mongoctl_assert_cmd(conf_cmd)

        print "Sleeping for 2 seconds..."
        # sleep for a couple of seconds
        time.sleep(2)
        # RE-Configure the cluster
        self.mongoctl_assert_cmd(conf_cmd)

        print ("Sleeping for 15 seconds. Hopefully credentials would "
               "be replicated by then. If not then authentication will fail and"
               " passwords will be prompted and then the test will fail...")
        # sleep for a couple of seconds
        time.sleep(15)

        ## Stop all servers
        self.assert_stop_server("version_arbiter_test_server")
        self.assert_server_stopped("version_arbiter_test_server")

        self.assert_stop_server("version_node1_test_server", force=True)
        self.assert_server_stopped("version_node1_test_server")

        self.assert_stop_server("version_node2_test_server", force=True)
        self.assert_server_stopped("version_node2_test_server")

        self.tearDown()
Example #5
0
    def test_replicaset(self):
        # assert that all servers are down
        self.assert_server_stopped("arbiter_test_server")
        self.assert_server_stopped("node1_test_server")
        self.assert_server_stopped("node2_test_server")
        # start all servers and make sure they started...
        self.assert_start_server("arbiter_test_server")
        self.assert_server_running("arbiter_test_server")

        self.assert_start_server("node1_test_server")
        self.assert_server_running("node1_test_server")

        self.assert_start_server("node2_test_server")
        self.assert_server_running("node2_test_server")

        # Configure the cluster
        conf_cmd = ["configure-cluster", "ReplicasetTestCluster"]
        self.mongoctl_assert_cmd(conf_cmd)

        print "Sleeping for 2 seconds..."
        # sleep for a couple of seconds
        time.sleep(2)
        # RE-Configure the cluster
        append_user_arg(conf_cmd)
        self.mongoctl_assert_cmd(conf_cmd)

        print "Sleeping for 2 seconds..."
        # sleep for a couple of seconds
        time.sleep(2)

        conf_cmd.extend(["--force", "node2_test_server"])
        # reconfigure with FORCE
        self.mongoctl_assert_cmd(conf_cmd)

        print "Sleeping for 2 seconds..."
        # sleep for a couple of seconds
        time.sleep(2)

        ## Stop all servers
        self.assert_stop_server("arbiter_test_server")
        self.assert_server_stopped("arbiter_test_server")

        self.assert_stop_server("node1_test_server", force=True)
        self.assert_server_stopped("node1_test_server")

        self.assert_stop_server("node2_test_server", force=True)
        self.assert_server_stopped("node2_test_server")
Example #6
0
    def test_replicaset(self):
        # assert that all servers are down
        self.assert_server_stopped("arbiter_test_server")
        self.assert_server_stopped("node1_test_server")
        self.assert_server_stopped("node2_test_server")
        # start all servers and make sure they started...
        self.assert_start_server("arbiter_test_server")
        self.assert_server_running("arbiter_test_server")

        self.assert_start_server("node1_test_server")
        self.assert_server_running("node1_test_server")

        self.assert_start_server("node2_test_server")
        self.assert_server_running("node2_test_server")

        # Configure the cluster
        conf_cmd = ["configure-cluster", "ReplicasetTestCluster"]
        self.mongoctl_assert_cmd(conf_cmd)

        print "Sleeping for 2 seconds..."
        # sleep for a couple of seconds
        time.sleep(2)
        # RE-Configure the cluster
        append_user_arg(conf_cmd)
        self.mongoctl_assert_cmd(conf_cmd)

        print "Sleeping for 2 seconds..."
        # sleep for a couple of seconds
        time.sleep(2)

        conf_cmd.extend(["--force", "node2_test_server"])
        # reconfigure with FORCE
        self.mongoctl_assert_cmd(conf_cmd)

        print "Sleeping for 2 seconds..."
        # sleep for a couple of seconds
        time.sleep(2)

        ## Stop all servers
        self.assert_stop_server("arbiter_test_server")
        self.assert_server_stopped("arbiter_test_server")

        self.assert_stop_server("node1_test_server", force=True)
        self.assert_server_stopped("node1_test_server")

        self.assert_stop_server("node2_test_server", force=True)
        self.assert_server_stopped("node2_test_server")
Example #7
0
    def test_auth_replicaset(self):
        # assert that all servers are down
        self.assert_server_stopped("auth_arbiter_test_server")
        self.assert_server_stopped("auth_node1_test_server")
        self.assert_server_stopped("auth_node2_test_server")
        # start all servers and make sure they started...
        self.assert_start_server("auth_arbiter_test_server")
        self.assert_server_online("auth_arbiter_test_server")

        self.assert_start_server("auth_node1_test_server")
        self.assert_server_online("auth_node1_test_server")

        self.assert_start_server("auth_node2_test_server")
        self.assert_server_online("auth_node2_test_server")

        # Configure the cluster
        conf_cmd = ["configure-cluster", "AuthReplicasetTestCluster"]
        append_user_arg(conf_cmd)
        self.mongoctl_assert_cmd(conf_cmd)

        print "Sleeping for 2 seconds..."
        # sleep for a couple of seconds
        time.sleep(2)
        # RE-Configure the cluster
        self.mongoctl_assert_cmd(conf_cmd)

        print(
            "Sleeping for 15 seconds. Hopefully credentials would "
            "be replicated by then. If not then authentication will fail and"
            " passwords will be prompted and then the test will fail...")
        # sleep for a couple of seconds
        time.sleep(15)

        ## Stop all servers
        self.assert_stop_server("auth_arbiter_test_server")
        self.assert_server_stopped("auth_arbiter_test_server")

        self.assert_stop_server("auth_node1_test_server", force=True)
        self.assert_server_stopped("auth_node1_test_server")

        self.assert_stop_server("auth_node2_test_server", force=True)
        self.assert_server_stopped("auth_node2_test_server")
    def test_auth_replicaset(self):
        # assert that all servers are down
        self.assert_server_stopped("auth_arbiter_test_server")
        self.assert_server_stopped("auth_node1_test_server")
        self.assert_server_stopped("auth_node2_test_server")
        # start all servers and make sure they started...
        self.assert_start_server("auth_arbiter_test_server")
        self.assert_server_online("auth_arbiter_test_server")

        self.assert_start_server("auth_node1_test_server")
        self.assert_server_online("auth_node1_test_server")

        self.assert_start_server("auth_node2_test_server")
        self.assert_server_online("auth_node2_test_server")

        # Configure the cluster
        conf_cmd = ["configure-cluster", "AuthReplicasetTestCluster"]
        append_user_arg(conf_cmd)
        self.mongoctl_assert_cmd(conf_cmd)

        print "Sleeping for 2 seconds..."
        # sleep for a couple of seconds
        time.sleep(2)
        # RE-Configure the cluster
        self.mongoctl_assert_cmd(conf_cmd)

        print ("Sleeping for 15 seconds. Hopefully credentials would "
              "be replicated by then. If not then authentication will fail and"
              " passwords will be prompted and then the test will fail...")
        # sleep for a couple of seconds
        time.sleep(15)

        ## Stop all servers
        self.assert_stop_server("auth_arbiter_test_server")
        self.assert_server_stopped("auth_arbiter_test_server")

        self.assert_stop_server("auth_node1_test_server", force=True)
        self.assert_server_stopped("auth_node1_test_server")

        self.assert_stop_server("auth_node2_test_server", force=True)
        self.assert_server_stopped("auth_node2_test_server")