

def get_l3_agents_hosting_routers(self, context, router_ids, admin_state_up=None, active=None):
    if (not router_ids):
        return []
    query = context.session.query(RouterL3AgentBinding)
    query = query.options(orm.contains_eager(RouterL3AgentBinding.l3_agent))
    query = query.join(RouterL3AgentBinding.l3_agent)
    query = query.filter(RouterL3AgentBinding.router_id.in_(router_ids))
    if (admin_state_up is not None):
        query = query.filter((agents_db.Agent.admin_state_up == admin_state_up))
    l3_agents = [binding.l3_agent for binding in query]
    if (active is not None):
        l3_agents = [l3_agent for l3_agent in active if (not agents_db.AgentDbMixin.is_agent_down(l3_agent['heartbeat_timestamp']))]
    return l3_agents

dataset/ETHPy150Open openstack/neutron/neutron/db/l3_agentschedulers_db.py L3AgentSchedulerDbMixin.get_l3_agents_hosting_routers/VarMisuse@146/211 `l3_agents`->`active`