Inject existing groups at InventoryDir initialization

This fixes a corner case where ini files live in a subdir
of the main inventory directory.

Reproducing the original error:

mkdir -p inventory/ini
cat > inventory/ini/hosts << EOF
[www]
www1
EOF

$ ansible -i inventory/ all -m ping
ERROR! 'all'

(or without the [www] group, it would complain about 'ungrouped')
pull/12561/head
Serge van Ginderachter 9 years ago
parent f42f5e6740
commit 7461ba9998

@ -107,7 +107,7 @@ class InventoryDirectory(object):
continue continue
fullpath = os.path.join(self.directory, i) fullpath = os.path.join(self.directory, i)
if os.path.isdir(fullpath): if os.path.isdir(fullpath):
parser = InventoryDirectory(loader=loader, filename=fullpath) parser = InventoryDirectory(loader=loader, groups=groups, filename=fullpath)
else: else:
parser = get_file_parser(fullpath, self.groups, loader) parser = get_file_parser(fullpath, self.groups, loader)
if parser is None: if parser is None:

Loading…
Cancel
Save