def step_server_down(server, force=False): log_info("Stepping down server '%s'..." % server.id) try: cmd = SON([("replSetStepDown", 10), ("force", force)]) server.disconnecting_db_command(cmd, "admin") log_info("Server '%s' stepped down successfully!" % server.id) return True except Exception, e: log_exception(e) log_error("Failed to step down server '%s'. Cause: %s" % (server.id, e)) return False
def step_server_down(server, force=False): log_info("Stepping down server '%s'..." % server.id) try: cmd = SON([('replSetStepDown', 10), ('force', force)]) server.disconnecting_db_command(cmd, "admin") log_info("Server '%s' stepped down successfully!" % server.id) return True except Exception, e: log_exception(e) log_error("Failed to step down server '%s'. Cause: %s" % (server.id, e)) return False
def mongo_stop_server(server, pid, force=False): try: shutdown_cmd = SON([('shutdown', 1), ('force', force)]) log_info("\nSending the following command to %s:\n%s\n" % (server.get_connection_address(), document_pretty_string(shutdown_cmd))) server.disconnecting_db_command(shutdown_cmd, "admin") log_info("Will now wait for server '%s' to stop." % server.id) # Check that the server has stopped stop_pred = server_stopped_predicate(server, pid) wait_for(stop_pred, timeout=MAX_SHUTDOWN_WAIT) if not stop_pred(): log_error("Shutdown command failed...") return False else: return True except Exception, e: log_exception(e) log_error("Failed to gracefully stop server '%s'. Cause: %s" % (server.id, e)) return False