mirror of
https://github.com/valitydev/salt.git
synced 2024-11-07 08:58:59 +00:00
Merge pull request #46448 from ogd-software/allow_failhard_override
Made state-level failhard override global failhard.
This commit is contained in:
commit
2a84c9595a
@ -33,6 +33,8 @@ A good example of this would be setting up a package manager early on:
|
||||
In this situation, the yum repo is going to be configured before other states,
|
||||
and if it fails to lay down the config file, than no other states will be
|
||||
executed.
|
||||
It is possible to override a Global Failhard (see below) by explicitly setting
|
||||
it to ``False`` in the state.
|
||||
|
||||
Global Failhard
|
||||
===============
|
||||
@ -51,4 +53,4 @@ see states failhard if an admin is not actively aware that the failhard has
|
||||
been set.
|
||||
|
||||
To use the global failhard set failhard: True in the master configuration
|
||||
file.
|
||||
file.
|
||||
|
@ -504,6 +504,15 @@ The ``onfail`` requisite is applied in the same way as ``require`` as ``watch``:
|
||||
- onfail:
|
||||
- mount: primary_mount
|
||||
|
||||
.. note::
|
||||
|
||||
Setting failhard (:ref:`globally <global-failhard>` or in
|
||||
:ref:`the failing state <state-level-failhard>`) to ``True`` will cause
|
||||
``onfail``, ``onfail_in`` and ``onfail_any`` requisites to be ignored.
|
||||
If you want to combine a global failhard set to True with ``onfail``,
|
||||
``onfail_in`` or ``onfail_any``, you will have to explicitly set failhard
|
||||
to ``False`` (overriding the global setting) in the state that could fail.
|
||||
|
||||
.. note::
|
||||
|
||||
Beginning in the ``2016.11.0`` release of Salt, ``onfail`` uses OR logic for
|
||||
|
@ -24,6 +24,21 @@ The Salt Syndic currently sends an old style ``syndic_start`` event as well. The
|
||||
syndic respects :conf_minion:`enable_legacy_startup_events` as well.
|
||||
|
||||
|
||||
Failhard changes
|
||||
----------------
|
||||
|
||||
It is now possible to override a global failhard setting with a state-level
|
||||
failhard setting. This is most useful in case where global failhard is set to
|
||||
``True`` and you want the execution not to stop for a specific state that
|
||||
could fail, by setting the state level failhard to ``False``.
|
||||
This also allows for the use of ``onfail*``-requisites, which would previously
|
||||
be ignored when a global failhard was set to ``True``.
|
||||
This is a deviation from previous behavior, where the global failhard setting
|
||||
always resulted in an immediate stop whenever any state failed (regardless
|
||||
of whether the failing state had a failhard setting of its own, or whether
|
||||
any ``onfail*``-requisites were used).
|
||||
|
||||
|
||||
Pass Through Options to :py:func:`file.serialize <salt.states.file.serialize>` State
|
||||
------------------------------------------------------------------------------------
|
||||
|
||||
|
@ -2157,7 +2157,7 @@ class State(object):
|
||||
tag = _gen_tag(low)
|
||||
if self.opts.get('test', False):
|
||||
return False
|
||||
if (low.get('failhard', False) or self.opts['failhard']) and tag in running:
|
||||
if low.get('failhard', self.opts['failhard']) and tag in running:
|
||||
if running[tag]['result'] is None:
|
||||
return False
|
||||
return not running[tag]['result']
|
||||
|
Loading…
Reference in New Issue
Block a user