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