backport inventory fix, ensure all/ungrouped
This commit is contained in:
parent
ac4ce95810
commit
3ba057d28d
1 changed files with 10 additions and 2 deletions
|
@ -21,7 +21,6 @@ __metaclass__ = type
|
|||
|
||||
import fnmatch
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
import re
|
||||
import itertools
|
||||
|
@ -140,7 +139,6 @@ class Inventory(object):
|
|||
display.warning("A duplicate localhost-like entry was found (%s). First found localhost was %s" % (h, self.localhost.name))
|
||||
display.vvvv("Set default localhost to %s" % h)
|
||||
self.localhost = new_host
|
||||
all.add_host(new_host)
|
||||
elif self._loader.path_exists(host_list):
|
||||
# TODO: switch this to a plugin loader and a 'condition' per plugin on which it should be tried, restoring 'inventory pllugins'
|
||||
if self.is_directory(host_list):
|
||||
|
@ -170,6 +168,16 @@ class Inventory(object):
|
|||
host.vars = combine_vars(host.vars, self.get_host_variables(host.name))
|
||||
self.get_host_vars(host)
|
||||
|
||||
mygroups = host.get_groups()
|
||||
|
||||
# ensure hosts are always in 'all'
|
||||
if all not in mygroups:
|
||||
all.add_host(host)
|
||||
|
||||
# clear ungrouped of any incorrectly stored by parser
|
||||
if len(mygroups) > 2 and ungrouped in mygroups:
|
||||
host.remove_group(ungrouped)
|
||||
|
||||
def _match(self, str, pattern_str):
|
||||
try:
|
||||
if pattern_str.startswith('~'):
|
||||
|
|
Loading…
Reference in a new issue