Exemplo n.º 1
0
    def __init__(self):

        self.conf = Conf()
        self.job = Job()
        self.pids = set()  # bg processes
        self.tmpfiles = set()
        self.user_logfiles = LogFileSet()
        self.password = gen_password()
        if 'SSH_CONNECTION' in os.environ:
            self.srcip = os.environ['SSH_CONNECTION'].split(' ')[0]
        else:
            logger.warning("unable to extract source IP from SSH_CONNECTION, "
                           "fallback to 127.0.0.1")
            self.srcip = '127.0.0.1'
        try:
            self.rinip = socket.gethostbyname(self.conf.wan_prefix +
                                              socket.gethostname())
        except socket.gaierror:
            logger.error("failed to get wan hostname, fallback to localhost")
            self.rinip = '127.0.0.1'
        self.opts = ScenarioOpts()
        self.declare_opts()

        if self.conf.log:
            self.ensure_dir(self.opts.logfile)
            logger.debug("opening logfile %s", self.opts.logfile)
            self.logfile = open(self.opts.logfile, 'w+')
        else:
            self.logfile = None