Allow any_errors_fatal to be set in playbook - fixes #30691 (#30839)

* Allow any_errors_fatal to be set in playbook.
* Default to the config file value for any_errors_fatal only if it isn't already provided.
* add _get_attr method

(cherry picked from commit aa658c64ec)
This commit is contained in:
Sloane Hertel 2017-10-04 15:52:27 -04:00 committed by Toshio Kuratomi
parent 2572b2147e
commit 72148b358d
2 changed files with 10 additions and 1 deletions

View file

@ -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 = [

View file

@ -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.