diff --git a/include/crm/msg_xml.h b/include/crm/msg_xml.h index d0cdf6cd3d0..af3f33e883e 100644 --- a/include/crm/msg_xml.h +++ b/include/crm/msg_xml.h @@ -348,6 +348,7 @@ extern "C" { # define XML_CONFIG_ATTR_FENCE_REACTION "fence-reaction" # define XML_CONFIG_ATTR_SHUTDOWN_LOCK "shutdown-lock" # define XML_CONFIG_ATTR_SHUTDOWN_LOCK_LIMIT "shutdown-lock-limit" +# define XML_CONFIG_ATTR_PRIORITY_FENCING_DELAY "priority-fencing-delay" # define XML_ALERT_ATTR_PATH "path" # define XML_ALERT_ATTR_TIMEOUT "timeout" diff --git a/lib/pengine/common.c b/lib/pengine/common.c index b2b0f770761..106f3de21dd 100644 --- a/lib/pengine/common.c +++ b/lib/pengine/common.c @@ -158,6 +158,21 @@ static pcmk__cluster_option_t pe_opts[] = { "Setting this to false may lead to a \"split-brain\" situation," "potentially leading to data loss and/or service unavailability." }, + { + XML_CONFIG_ATTR_PRIORITY_FENCING_DELAY, NULL, "time", NULL, + NULL, pcmk__valid_interval_spec, + "Enforced fencing delay targeting the lost nodes with the highest total resource priority", + "Enforce specified delay for the fencings that are targeting the lost " + "nodes with the highest total resource priority in case we don't " + "have the majority of the nodes in our cluster partition, so that " + "the more significant nodes potentially win any fencing match, " + "which is especially meaningful under split-brain of 2-node " + "cluster. If all the nodes have equal priority, then any " + "pcmk_delay_base/max configured for the corresponding fencing " + "resources will be applied. Otherwise as long as it's set, even if " + "to 0, it takes precedence over any configured pcmk_delay_base/max." + "By default, priority fencing delay is disabled." + }, { "cluster-delay", NULL, "time", NULL,