yaml inventory: Better error reporting on typo. fixes (#31118)

(cherry picked from commit 5802ec04bf)
This commit is contained in:
Julien Palard 2017-09-30 00:51:27 +02:00 committed by Toshio Kuratomi
parent ad0761b0a8
commit 6a1a6ee690

View file

@ -19,12 +19,13 @@
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
from collections import MutableMapping
import hashlib
import os
import re
import string
from ansible.errors import AnsibleError, AnsibleOptionsError
from ansible.errors import AnsibleError, AnsibleOptionsError, AnsibleParserError
from ansible.module_utils._text import to_bytes, to_native
from ansible.module_utils.parsing.convert_bool import boolean
from ansible.module_utils.six import string_types
@ -80,6 +81,9 @@ class BaseInventoryPlugin(object):
pass
def populate_host_vars(self, hosts, variables, group=None, port=None):
if not isinstance(variables, MutableMapping):
raise AnsibleParserError("Invalid data from file, expected dictionary and got:\n\n%s" % to_native(variables))
for host in hosts:
self.inventory.add_host(host, group=group, port=port)
for k in variables: