diff --git a/lib/ansible/playbook/base.py b/lib/ansible/playbook/base.py index b56151ad29..24947c176d 100644 --- a/lib/ansible/playbook/base.py +++ b/lib/ansible/playbook/base.py @@ -165,7 +165,7 @@ class Base(with_metaclass(BaseMeta, object)): _ignore_errors = FieldAttribute(isa='bool') _check_mode = FieldAttribute(isa='bool') _diff = FieldAttribute(isa='bool') - _any_errors_fatal = FieldAttribute(isa='bool', default=C.ANY_ERRORS_FATAL, always_post_validate=True) + _any_errors_fatal = FieldAttribute(isa='bool') # param names which have been deprecated/removed DEPRECATED_ATTRIBUTES = [ diff --git a/lib/ansible/playbook/task.py b/lib/ansible/playbook/task.py index 914d92e4c4..9ed4c46c62 100644 --- a/lib/ansible/playbook/task.py +++ b/lib/ansible/playbook/task.py @@ -21,6 +21,7 @@ __metaclass__ = type import os +from ansible import constants as C from ansible.errors import AnsibleError, AnsibleParserError, AnsibleUndefinedVariable from ansible.module_utils.six import iteritems, string_types from ansible.module_utils._text import to_native @@ -422,6 +423,14 @@ class Task(Base, Conditional, Taggable, Become): return value + def _get_attr_any_errors_fatal(self): + value = self._attributes['any_errors_fatal'] + if value is None: + value = self._get_parent_attribute('any_errors_fatal') + if value is None: + value = C.ANY_ERRORS_FATAL + return value + def _get_attr_environment(self): ''' Override for the 'tags' getattr fetcher, used from Base.