Query should return all hosts, not just recent.
The "find_hosts" method for query uses this following line of code:
list = Host.recent.with_class(k).send(state).map(&:name)
If a person queries Foreman for certain facts, this will only returns "recent" hosts having those facts.
If a host has no recent reports, it won't be included.
I'm not sure what is the rationale behind this.
Wouldn't it be better if a query returns ALL hosts matching the given facts and classes regardless of recent reports?