diff options
author | Brian Coca <brian.coca+git@gmail.com> | 2017-10-06 00:10:41 -0400 |
---|---|---|
committer | Brian Coca <bcoca@users.noreply.github.com> | 2017-10-06 13:25:06 -0400 |
commit | e4c61ea9a11adef4d1dd55d6672fa140e0816762 (patch) | |
tree | ac0f8e0b5db04aa0f0f5b3577dfd39979cae98e4 /lib/ansible/plugins/inventory/__init__.py | |
parent | f2ade09dce0e65187e6d213fd02e5341353c246e (diff) | |
download | ansible-e4c61ea9a11adef4d1dd55d6672fa140e0816762.tar.gz |
fix 'return false' from parse
this was abandoned early on the manger side but seems like we left behind on plugin side.
more flexible extensions with yaml plugin
validate data correctly for yaml/constructed
fixed issue with only adding one child to keyed, the group only got the host that forced it's creation
fixes #31382
fixes #31365
Diffstat (limited to 'lib/ansible/plugins/inventory/__init__.py')
-rw-r--r-- | lib/ansible/plugins/inventory/__init__.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/ansible/plugins/inventory/__init__.py b/lib/ansible/plugins/inventory/__init__.py index 9b63c74c76..0c38c222ef 100644 --- a/lib/ansible/plugins/inventory/__init__.py +++ b/lib/ansible/plugins/inventory/__init__.py @@ -142,10 +142,13 @@ class BaseInventoryPlugin(object): continue if isinstance(groups, string_types): groups = [groups] - for group_name in groups: - if group_name not in self.inventory.groups: - self.inventory.add_group(group_name) + if isinstance(groups, list): + for group_name in groups: + if group_name not in self.inventory.groups: + self.inventory.add_group(group_name) self.inventory.add_child(group_name, host) + else: + raise AnsibleOptionsError("Invalid group name format, expected string or list of strings, got: %s" % type(groups)) else: raise AnsibleOptionsError("No key supplied, invalid entry") else: |