Revert "switched host patterns to use sets, simplified logic which now uses buitins"

need this to be lists, for order and other considerations
This reverts commit 8e2f0b3f2c.
pull/13012/merge
Brian Coca 9 years ago
parent 88ba46aee0
commit 483c25a609

@ -252,7 +252,7 @@ class Inventory(object):
"""
patterns = Inventory.order_patterns(patterns)
hosts = set()
hosts = []
for p in patterns:
# avoid resolving a pattern that is a plain host
@ -261,11 +261,12 @@ class Inventory(object):
else:
that = self._match_one_pattern(p)
if p.startswith("!"):
hosts = hosts.difference_update(that)
hosts = [ h for h in hosts if h not in that ]
elif p.startswith("&"):
hosts = hosts.intersection_update(that)
hosts = [ h for h in hosts if h in that ]
else:
hosts.update(that)
to_append = [ h for h in that if h.name not in [ y.name for y in hosts ] ]
hosts.extend(to_append)
return hosts
def _match_one_pattern(self, pattern):

@ -56,7 +56,7 @@ class HostVars(collections.Mapping):
new_host.set_variable("ansible_python_interpreter", sys.executable)
new_host.set_variable("ansible_connection", "local")
new_host.address = '127.0.0.1'
hosts.add(new_host)
hosts.append(new_host)
for host in hosts:
self._lookup[host.name] = host

Loading…
Cancel
Save