Don't skip an inventory source just because it has a comma (#35002)

* Don't skip an inventory source just because it has a comma, make sure it's also doesn't exist as a path. Fixes #34931

* Add integration test for inventory path with commas
pull/35292/head
Matt Martz 7 years ago committed by GitHub
parent 005a8278c6
commit 1ac04ba52e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -255,7 +255,7 @@ class VariableManager:
''' merges all entities by inventory source '''
data = {}
for inventory_dir in self._inventory._sources:
if ',' in inventory_dir: # skip host lists
if ',' in inventory_dir and not os.path.exists(inventory_dir): # skip host lists
continue
elif not os.path.isdir(inventory_dir): # always pass 'inventory directory'
inventory_dir = os.path.dirname(inventory_dir)

@ -0,0 +1,9 @@
---
- hosts: all
gather_facts: false
tasks:
- name: Ensure we can see group_vars from path with comma
assert:
that:
- inventory_var_from_path_with_commas is defined
- inventory_var_from_path_with_commas == 'here'

@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -ux
ansible-playbook -i this,path,has,commas/hosts playbook.yml -v "$@"
Loading…
Cancel
Save