diff options
author | Brian Coca <bcoca@ansible.com> | 2015-05-26 15:31:12 -0400 |
---|---|---|
committer | Brian Coca <bcoca@ansible.com> | 2015-05-26 15:31:12 -0400 |
commit | 3865c5051b68f7f1c4dab43c55cd0413a41c6fb2 (patch) | |
tree | daa5829a5a3586b8328e2122c84ece56008ba8de | |
parent | c87586e9e553a5a4b254a01895a9e5e8b98bab45 (diff) | |
parent | b92d70c5b66aa741d35e9f6a294d27f43367205e (diff) | |
download | ansible-3865c5051b68f7f1c4dab43c55cd0413a41c6fb2.tar.gz |
Merge pull request #11058 from srvg/bug/11017
limit extensions for files in group/host_vars dir
-rw-r--r-- | lib/ansible/utils/__init__.py | 4 | ||||
-rw-r--r-- | test/units/TestInventory.py | 7 | ||||
-rw-r--r-- | test/units/inventory_test_data/group_vars/noparse/all.yml~ | 2 | ||||
-rw-r--r-- | test/units/inventory_test_data/group_vars/noparse/file.txt | 2 | ||||
-rw-r--r-- | test/units/inventory_test_data/group_vars/parse/all.yml | 2 | ||||
-rw-r--r-- | test/units/inventory_test_data/simple_hosts | 6 |
6 files changed, 21 insertions, 2 deletions
diff --git a/lib/ansible/utils/__init__.py b/lib/ansible/utils/__init__.py index 476a1e28e8..eb6fa2a712 100644 --- a/lib/ansible/utils/__init__.py +++ b/lib/ansible/utils/__init__.py @@ -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 diff --git a/test/units/TestInventory.py b/test/units/TestInventory.py index dc3a0ce6d6..b4bee4300e 100644 --- a/test/units/TestInventory.py +++ b/test/units/TestInventory.py @@ -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') diff --git a/test/units/inventory_test_data/group_vars/noparse/all.yml~ b/test/units/inventory_test_data/group_vars/noparse/all.yml~ new file mode 100644 index 0000000000..6f52f114b1 --- /dev/null +++ b/test/units/inventory_test_data/group_vars/noparse/all.yml~ @@ -0,0 +1,2 @@ +--- +YAML_FILENAME_EXTENSIONS_TEST: False diff --git a/test/units/inventory_test_data/group_vars/noparse/file.txt b/test/units/inventory_test_data/group_vars/noparse/file.txt new file mode 100644 index 0000000000..6f52f114b1 --- /dev/null +++ b/test/units/inventory_test_data/group_vars/noparse/file.txt @@ -0,0 +1,2 @@ +--- +YAML_FILENAME_EXTENSIONS_TEST: False diff --git a/test/units/inventory_test_data/group_vars/parse/all.yml b/test/units/inventory_test_data/group_vars/parse/all.yml new file mode 100644 index 0000000000..8687c86c7c --- /dev/null +++ b/test/units/inventory_test_data/group_vars/parse/all.yml @@ -0,0 +1,2 @@ +--- +YAML_FILENAME_EXTENSIONS_TEST: True diff --git a/test/units/inventory_test_data/simple_hosts b/test/units/inventory_test_data/simple_hosts index 4625b3dbab..08c62b4537 100644 --- a/test/units/inventory_test_data/simple_hosts +++ b/test/units/inventory_test_data/simple_hosts @@ -20,3 +20,9 @@ Bast[C:D] [auth] neptun auth="YWRtaW46YWRtaW4=" + +[parse:children] +noparse + +[noparse] +goldorak |