Merge pull request #11058 from srvg/bug/11017

limit extensions for files in group/host_vars dir
pull/11072/head
Brian Coca 9 years ago
commit 3865c5051b

@ -1617,7 +1617,9 @@ def _load_vars_from_folder(folder_path, results, vault_password=None):
names.sort()
# do not parse hidden files or dirs, e.g. .svn/
paths = [os.path.join(folder_path, name) for name in names if not name.startswith('.')]
paths = [os.path.join(folder_path, name) for name in names
if not name.startswith('.')
and os.path.splitext(name)[1] in C.YAML_FILENAME_EXTENSIONS]
for path in paths:
_found, results = _load_vars_from_path(path, results, vault_password=vault_password)
return results

@ -56,7 +56,7 @@ class TestInventory(unittest.TestCase):
'thrudgelmir0', 'thrudgelmir1', 'thrudgelmir2',
'thrudgelmir3', 'thrudgelmir4', 'thrudgelmir5',
'Hotep-a', 'Hotep-b', 'Hotep-c',
'BastC', 'BastD', 'neptun', ]
'BastC', 'BastD', 'neptun', 'goldorak', ]
#####################################
### Empty inventory format tests
@ -222,6 +222,11 @@ class TestInventory(unittest.TestCase):
inventory.subset('@' + os.path.join(self.test_dir, 'restrict_pattern'))
self.assertEqual(sorted(inventory.list_hosts()), sorted(['thor','odin']))
def test_vars_yaml_extension(self):
inventory = self.simple_inventory()
vars = inventory.get_variables('goldorak')
assert vars['YAML_FILENAME_EXTENSIONS_TEST']
@raises(errors.AnsibleError)
def testinvalid_entry(self):
Inventory('1234')

@ -0,0 +1,2 @@
---
YAML_FILENAME_EXTENSIONS_TEST: False

@ -0,0 +1,2 @@
---
YAML_FILENAME_EXTENSIONS_TEST: False

@ -0,0 +1,2 @@
---
YAML_FILENAME_EXTENSIONS_TEST: True

@ -20,3 +20,9 @@ Bast[C:D]
[auth]
neptun auth="YWRtaW46YWRtaW4="
[parse:children]
noparse
[noparse]
goldorak

Loading…
Cancel
Save