def start(self): '''Start all test servers''' if self.start_tries > Test.MAX_START_TRIES: raise Failed("Can't start all servers") self.start_tries += 1 self.generate_conf() def srv_sort(server): masters = 0 for z in server.zones: if server.zones[z].masters: masters += 1 return masters # Sort server list by number of masters. I.e. masters are preferred. for server in sorted(self.servers, key=srv_sort): server.start(clean=True) if not server.running(): raise Failed("Server '%s' not running" % server.name) if not server.listening(): self.stop(kill=True) self.start() self.start_tries = 0
def start(self): '''Start all test servers''' if self.start_tries > Test.MAX_START_TRIES: raise Failed("Can't start all servers") self.start_tries += 1 self.generate_conf() def srv_sort(server): masters = 0 for z in server.zones: if server.zones[z].masters: masters += 1 return masters # Sort server list by number of masters. I.e. masters are preferred. for server in sorted(self.servers, key=srv_sort): if server.external: continue server.start(clean=True) if not server.running(): raise Failed("Server '%s' not running" % server.name) if not server.listening(): self.stop(kill=True) self.start() self.start_tries = 0
def server_remove(self, server=None): # Remove server/servers from the test. if server: if server.listening(): server.stop() self.servers.discard(server) return servers = [srv for srv in self.servers] for server in servers: self.server_remove(server)