def getVersion(): ret = "Testerman Agent Controller Server %s" % Versions.getAgentControllerVersion() return ret
def __init__(self, controller, iaAddress): Nodes.ListeningNode.__init__(self, "TACS/Ia", "IaServer/%s" % Versions.getAgentControllerVersion()) self._controller = controller self.initialize(iaAddress)
# If an explicit pid file was provided, use it. Otherwise, fallback to the var_root/ts.pid if possible. pidfile = cm.get("tacs.pid_filename") if not pidfile and cm.get("testerman.var_root"): # Set an actual value pidfile = cm.get("testerman.var_root") + "/ts.pid" cm.set_actual("tacs.pid_filename", pidfile) # print Tools.formatTable([ ('key', 'Name'), ('format', 'Type'), ('dynamic', 'Dynamic'), ('default', 'Default value'), ('user', 'User value'), ('actual', 'Actual value')], cm.getVariables(), order = "key") # Logger initialization level = cm.get("tacs.debug") and logging.DEBUG or logging.INFO logging.basicConfig(level = level, format = '%(asctime)s.%(msecs)03d %(thread)d %(levelname)-8s %(name)-20s %(message)s', datefmt = '%Y%m%d %H:%M:%S', filename = cm.get("tacs.log_filename")) # Display startup info getLogger().info("Starting Testerman Agent Controller Server %s" % (Versions.getAgentControllerVersion())) getLogger().info("Agent interface (Xa) listening on tcp://%s:%s" % (cm.get("interface.xa.ip"), cm.get("interface.xa.port"))) getLogger().info("Internal interface (Ia) listening on tcp://%s:%s" % (cm.get("interface.ia.ip"), cm.get("interface.ia.port"))) # Now we can daemonize if needed if cm.get("tacs.daemonize"): if pidfile: getLogger().info("Daemonizing, using pid file %s..." % pidfile) else: getLogger().info("Daemonizing...") Tools.daemonize(pidFilename = pidfile, displayPid = True) # Main start cm.set_transient("tacs.pid", os.getpid()) controller = None