示例#1
0
    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)
示例#2
0
    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)
示例#3
0
文件: topogen.py 项目: ton31337/frr
    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)
示例#4
0
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": {},