def __init__(self, tgen, cls, name, **params): """ The constructor has the following parameters: * tgen: Topogen object * cls: router class that will be used to instantiate * name: router name * daemondir: daemon binary directory * routertype: 'quagga' or 'frr' """ super(TopoRouter, self).__init__() self.tgen = tgen self.net = None self.name = name self.cls = cls self.options = {} self.routertype = params.get('routertype', 'frr') if not params.has_key('privateDirs'): params['privateDirs'] = self.PRIVATE_DIRS self.options['memleak_path'] = params.get('memleak_path', None) # Create new log directory self.logdir = '/tmp/topotests/{}'.format(self.tgen.modname) # Clean up before starting new log files: avoids removing just created # log files. self._prepare_tmpfiles() # Propagate the router log directory params['logdir'] = self.logdir # Open router log file logfile = '{}/{}.log'.format(self.logdir, name) self.logger = logger_config.get_logger(name=name, target=logfile) self.tgen.topo.addNode(self.name, cls=self.cls, **params)
def __init__(self, tgen, cls, name, **params): """ The constructor has the following parameters: * tgen: Topogen object * cls: router class that will be used to instantiate * name: router name * daemondir: daemon binary directory * routertype: 'frr' """ super(TopoRouter, self).__init__() self.tgen = tgen self.net = None self.name = name self.cls = cls self.options = {} self.routertype = params.get("routertype", "frr") if "privateDirs" not in params: params["privateDirs"] = self.PRIVATE_DIRS self.options["memleak_path"] = params.get("memleak_path", None) # Create new log directory self.logdir = "/tmp/topotests/{}".format(self.tgen.modname) # Clean up before starting new log files: avoids removing just created # log files. self._prepare_tmpfiles() # Propagate the router log directory params["logdir"] = self.logdir # setup the per node directory dir = "{}/{}".format(self.logdir, self.name) os.system("mkdir -p " + dir) os.system("chmod -R go+rw /tmp/topotests") # Open router log file logfile = "{0}/{1}.log".format(self.logdir, name) self.logger = logger_config.get_logger(name=name, target=logfile) self.tgen.topo.addNode(self.name, cls=self.cls, **params)
def __init__(self, tgen, cls, name, **params): """ The constructor has the following parameters: * tgen: Topogen object * cls: router class that will be used to instantiate * name: router name * daemondir: daemon binary directory * routertype: 'quagga' or 'frr' """ super(TopoRouter, self).__init__() self.tgen = tgen self.net = None self.name = name self.cls = cls self.options = {} self.routertype = params.get('routertype', 'frr') if not params.has_key('privateDirs'): params['privateDirs'] = self.PRIVATE_DIRS self.options['memleak_path'] = params.get('memleak_path', None) # Create new log directory self.logdir = '/tmp/topotests/{}'.format(self.tgen.modname) # Clean up before starting new log files: avoids removing just created # log files. self._prepare_tmpfiles() # Propagate the router log directory params['logdir'] = self.logdir #setup the per node directory dir = '{}/{}'.format(self.logdir, self.name) os.system('mkdir -p ' + dir) os.system('chmod -R go+rw /tmp/topotests') # Open router log file logfile = '{0}/{1}.log'.format(self.logdir, name) self.logger = logger_config.get_logger(name=name, target=logfile) self.tgen.topo.addNode(self.name, cls=self.cls, **params)
if config.has_option("topogen", "verbosity"): loglevel = config.get("topogen", "verbosity") loglevel = loglevel.upper() else: loglevel = "INFO" if config.has_option("topogen", "frrtest_log_dir"): frrtest_log_dir = config.get("topogen", "frrtest_log_dir") time_stamp = datetime.time(datetime.now()) logfile_name = "frr_test_bgp_" frrtest_log_file = frrtest_log_dir + logfile_name + str(time_stamp) print("frrtest_log_file..", frrtest_log_file) logger = logger_config.get_logger(name="test_execution_logs", log_level=loglevel, target=frrtest_log_file) print("Logs will be sent to logfile: {}".format(frrtest_log_file)) if config.has_option("topogen", "show_router_config"): show_router_config = config.get("topogen", "show_router_config") else: show_router_config = False # env variable for setting what address type to test ADDRESS_TYPES = os.environ.get("ADDRESS_TYPES") # Saves sequence id numbers SEQ_ID = { "prefix_lists": {},