From c71b15a696990dd4163fde087fe444f26b526e61 Mon Sep 17 00:00:00 2001 From: Brian Coca Date: Tue, 7 Mar 2017 13:44:36 -0500 Subject: [PATCH] Bad extra early (#22322) * catch bad extra vars data earlier * incoporated @alkins feedback --- lib/ansible/utils/vars.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/ansible/utils/vars.py b/lib/ansible/utils/vars.py index 0ba0fbfe3a..fc9f5cf33a 100644 --- a/lib/ansible/utils/vars.py +++ b/lib/ansible/utils/vars.py @@ -29,7 +29,7 @@ from collections import MutableMapping from ansible.compat.six import iteritems, string_types from ansible import constants as C -from ansible.errors import AnsibleError +from ansible.errors import AnsibleError, AnsibleOptionsError from ansible.parsing.splitter import parse_kv from ansible.module_utils._text import to_native, to_text @@ -131,8 +131,10 @@ def load_extra_vars(loader, options): # Arguments as Key-value data = parse_kv(extra_vars_opt) - if data is not None: + if isinstance(data, MutableMapping): extra_vars = combine_vars(extra_vars, data) + else: + raise AnsibleOptionsError("Invalid extra vars data supplied. '%s' could not be made into a dictionary" % extra_vars_opt) return extra_vars