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
pull/31329/head
Sloane Hertel 7 years ago committed by Toshio Kuratomi
parent f3f0ba87ce
commit aa658c64ec

@ -165,7 +165,7 @@ class Base(with_metaclass(BaseMeta, object)):
_ignore_errors = FieldAttribute(isa='bool') _ignore_errors = FieldAttribute(isa='bool')
_check_mode = FieldAttribute(isa='bool') _check_mode = FieldAttribute(isa='bool')
_diff = 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 # param names which have been deprecated/removed
DEPRECATED_ATTRIBUTES = [ DEPRECATED_ATTRIBUTES = [

@ -21,6 +21,7 @@ __metaclass__ = type
import os import os
from ansible import constants as C
from ansible.errors import AnsibleError, AnsibleParserError, AnsibleUndefinedVariable from ansible.errors import AnsibleError, AnsibleParserError, AnsibleUndefinedVariable
from ansible.module_utils.six import iteritems, string_types from ansible.module_utils.six import iteritems, string_types
from ansible.module_utils._text import to_native from ansible.module_utils._text import to_native
@ -422,6 +423,14 @@ class Task(Base, Conditional, Taggable, Become):
return value 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): def _get_attr_environment(self):
''' '''
Override for the 'tags' getattr fetcher, used from Base. Override for the 'tags' getattr fetcher, used from Base.

Loading…
Cancel
Save