def main(): from kill_local import kill_local_gnrs kill_local_gnrs() config_file = join(gnrs_dir, "local/local_config") working_dir = join(gnrs_dir, "local/log_local/") print "Clearing old GNS logs .." if not os.path.exists(working_dir): os.system("mkdir -p " + working_dir) os.system("rm -rf " + working_dir + "/*") if exp_config.delete_paxos_log: print "Deleting paxos logs .." os.system("rm -rf " + exp_config.paxos_log_folder + "/*") else: print "NOT deleting paxos logs ..." os.system("./kill_mongodb_local.sh;./run_mongodb_local.sh") # generate config file # generate workloads # os.system('sleep 100') # os.system('pssh -h hosts.txt "killall -9 java"') f = open(config_file) first_lns = False for line in f: tokens = line.split() id = tokens[0] hostname = tokens[2] # if id == '0': # print 'MESSAGE: Not running node with ID = ' + id # continue; if tokens[1] == "yes": if is_failed_node(id): print "NODE FAILED = ", id continue run_name_server(id, working_dir, config_file) else: if first_lns == False: time.sleep(exp_config.ns_sleep) # sleep for 10 sec after starting name servers first_lns = True run_local_name_server(id, working_dir, config_file) # not doing restart stuff right now sys.exit(2) restart_period = 20 number_restarts = 1 restart_node = "2" for i in range(number_restarts): time.sleep(restart_period) print "Restarting node " + restart_node run_name_server(restart_node, working_dir, config_file) print "Done"
def main(): from kill_local import kill_local_gnrs kill_local_gnrs() config_file = join(gnrs_dir, 'local/local_config') working_dir = join(gnrs_dir, 'local/log_local/') print 'Clearing old GNS logs ..' if not os.path.exists(working_dir): os.system('mkdir -p ' + working_dir) os.system('rm -rf ' + working_dir + '/*') if exp_config.delete_paxos_log: print 'Deleting paxos logs ..' os.system('rm -rf ' + exp_config.paxos_log_folder + '/*') else: print 'NOT deleting paxos logs ...' os.system('./kill_mongodb_local.sh;./run_mongodb_local.sh') # generate config file # generate workloads #os.system('sleep 100') #os.system('pssh -h hosts.txt "killall -9 java"') f = open(config_file) first_lns = False for line in f: tokens = line.split() id = tokens[0] hostname = tokens[2] #if id == '0': # print 'MESSAGE: Not running node with ID = ' + id # continue; if tokens[1] == 'yes': if is_failed_node(id): print 'NODE FAILED = ', id continue run_name_server(id, working_dir, config_file) else: if (first_lns == False): time.sleep(exp_config.ns_sleep ) # sleep for 10 sec after starting name servers first_lns = True run_local_name_server(id, working_dir, config_file) # not doing restart stuff right now sys.exit(2) restart_period = 20 number_restarts = 1 restart_node = '2' for i in range(number_restarts): time.sleep(restart_period) print 'Restarting node ' + restart_node run_name_server(restart_node, working_dir, config_file) print 'Done'
def run_exp(): from kill_local import kill_local_gnrs kill_local_gnrs() node_config = exp_config.node_config # folder where GNS logs are output log_output_folder = os.path.join(exp_config.output_folder, exp_config.DEFAULT_GNS_OUTPUT_FOLDER) # folder where GNS stats are output stats_folder = os.path.join(exp_config.output_folder, exp_config.DEFAULT_STATS_FOLDER) print 'Clearing old GNS logs ..' if not os.path.exists(log_output_folder): os.system('mkdir -p ' + log_output_folder) os.system('rm -rf ' + log_output_folder + '/*') if exp_config.clean_start: print 'Doing clean start ...' os.system('rm -rf ' + exp_config.paxos_log_folder + '/*') os.system(script_folder + '/kill_mongodb_local.sh ' + exp_config.mongodb_data_folder) os.system(script_folder + '/run_mongodb_local.sh ' + exp_config.mongo_bin_folder + ' ' + exp_config.mongodb_data_folder + ' ' + str(exp_config.mongo_port)) else: print 'Resuming gns ...' # generate config file write_local_config_file(exp_config.node_config, exp_config.num_ns, exp_config.num_lns, exp_config.const_latency_value, exp_config.random_node_ids) # generate workloads # todo move workload generation from here # generate_all_traces() #os.system('sleep 100') #os.system('pssh -h hosts.txt "killall -9 java"') f = open(node_config) first_lns = False for line in f: tokens = line.split() id = tokens[0] hostname = tokens[2] if tokens[1] == 'yes': if is_failed_node(id): print 'NODE FAILED = ', id continue name_server.run_name_server(id, log_output_folder) else: if first_lns is False: time.sleep(exp_config.ns_sleep) # sleep so that name servers load name records into DB first_lns = True update_trace = None if exp_config.is_experiment_mode and exp_config.experiment_run_time >= 0: update_trace = get_update_trace(exp_config.trace_folder, id) local_name_server.run_local_name_server(id, log_output_folder, update_trace) # kill local if not exp_config.is_experiment_mode or exp_config.experiment_run_time < 0: print 'Not experiment mode. GNS running.' return print 'Sleeping until experiment finishes ...' time.sleep(exp_config.experiment_run_time + exp_config.extra_wait) kill_local_gnrs() # if exp_config.output_folder.endswith('/'): # stats_folder = exp_config.output_folder[:-1] + '_stats' parse_log(log_output_folder, stats_folder) # parse logs and generate output # not doing restart stuff right now sys.exit(2) restart_period = 20 number_restarts = 1 restart_node = '2' for i in range(number_restarts): time.sleep(restart_period) print 'Restarting node ' + restart_node run_name_server(restart_node, log_output_folder, node_config) print 'Done'