Fixed Inventory.get_hosts() ignoring restriction when there are no hosts left.

get_hosts() was treating [] (meaning complete restriction, no hosts allowed)
the same as None (meaning no restriction, all hosts allowed). Fixed logic.
This commit is contained in:
Brad Olson 2012-05-30 15:34:21 -04:00
parent af9651f015
commit 81591009ea

View file

@ -89,9 +89,10 @@ class Inventory(object):
for host in group.get_hosts():
for pat in patterns:
if group.name == pat or pat == 'all' or self._match(host.name, pat):
if not self._restriction:
#must test explicitly for None because [] means no hosts allowed
if self._restriction==None:
hosts[host.name] = host
if self._restriction and host.name in self._restriction:
elif host.name in self._restriction:
hosts[host.name] = host
return sorted(hosts.values(), key=lambda x: x.name)