def __init__(self, *args, **kwargs): configs = ["epuagent"] config_files = get_config_paths(configs) self.CFG = bootstrap.configure(config_files) topic = self.CFG.epuagent.get('service_name') self.topic = topic or "epu_agent_%s" % uuid.uuid4() heartbeat_dest = kwargs.get('heartbeat_dest') self.heartbeat_dest = heartbeat_dest or self.CFG.epuagent.heartbeat_dest node_id = kwargs.get('node_id') self.node_id = node_id or self.CFG.epuagent.node_id heartbeat_op = kwargs.get('heartbeat_op') self.heartbeat_op = heartbeat_op or self.CFG.epuagent.heartbeat_op period = kwargs.get('period_seconds') self.period = float(period or self.CFG.epuagent.period_seconds) # for testing, allow for not starting heartbeat automatically self.start_beat = kwargs.get('start_heartbeat', True) amqp_uri = kwargs.get('amqp_uri') sock = kwargs.get('supervisor_socket') sock = sock or self.CFG.epuagent.get('supervisor_socket') if sock: log.debug("monitoring a process supervisor at: %s", sock) self.supervisor = Supervisor(sock) else: log.debug("not monitoring process supervisor") self.supervisor = None self.core = EPUAgentCore(self.node_id, supervisor=self.supervisor) self.dashi = bootstrap.dashi_connect(self.topic, self.CFG, amqp_uri)
def setUp(self): self.sup = FakeSupervisor() self.core = EPUAgentCore(NODE_ID, supervisor=self.sup)