def try_stop_network(scenario): if world.processes: primitives.destroy_network(world.processes) if world.mon_proc: world.mon_proc.send_signal(signal.SIGINT) world.mon_proc.wait() if world.stat_f_obj: world.stat_f_obj.close()
def when_stop_n_nodes(step, nodes_count): stop_nodes = [] stop_addrs = [] for i in xrange(int(nodes_count)): while True: proc = random.choice(world.processes) if proc not in stop_nodes: stop_addrs.append(world.addresses[world.processes.index(proc)]) stop_nodes.append(proc) break primitives.destroy_network(stop_nodes, destroy_hdds=False) for proc in stop_nodes: del world.processes[world.processes.index(proc)] for addr in stop_addrs: world.stat_f_obj.write('\nStopping %s node...\n'%addr) del world.addresses[world.addresses.index(addr)]