summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Coca <brian.coca+git@gmail.com>2016-10-14 11:22:18 -0400
committerBrian Coca <brian.coca+git@gmail.com>2016-10-14 11:38:18 -0400
commitc1a34b5effe57af067245172c655c2e3dc59098d (patch)
treeb4eb98e7dcf7810f761e0c9903a2a75ab962782a
parentb8c25d8f705e897dd9fb42165f1e0178e5318ba6 (diff)
downloadansible-c1a34b5effe57af067245172c655c2e3dc59098d.tar.gz
Better error for bad role def
(cherry picked from commit ff1e52184fed2589abea174c15a1ad7b3e761221)
-rw-r--r--lib/ansible/playbook/role/include.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/ansible/playbook/role/include.py b/lib/ansible/playbook/role/include.py
index 43e2d9e4fc..78079b3813 100644
--- a/lib/ansible/playbook/role/include.py
+++ b/lib/ansible/playbook/role/include.py
@@ -28,6 +28,7 @@ from ansible.parsing.yaml.objects import AnsibleBaseYAMLObject
from ansible.playbook.attribute import Attribute, FieldAttribute
from ansible.playbook.role.definition import RoleDefinition
from ansible.playbook.role.requirement import RoleRequirement
+from ansible.module_utils._text import to_native
__all__ = ['RoleInclude']
@@ -49,7 +50,9 @@ class RoleInclude(RoleDefinition):
@staticmethod
def load(data, play, current_role_path=None, parent_role=None, variable_manager=None, loader=None):
- assert isinstance(data, string_types) or isinstance(data, dict) or isinstance(data, AnsibleBaseYAMLObject)
+ if not (isinstance(data, string_types) or isinstance(data, dict) or isinstance(data, AnsibleBaseYAMLObject)):
+ raise AnsibleParserError("Invalid role definition: %s" % to_native(data))
+
if isinstance(data, string_types) and ',' in data:
data = RoleRequirement.role_spec_parse(data)