Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Step:FrontRunner
pacemaker.15718
jsc#ECO-1611-0001-Feature-scheduler-add-priorit...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File jsc#ECO-1611-0001-Feature-scheduler-add-priority-fencing-delay-cluster.patch of Package pacemaker.15718
From 6a7ed5b9130f7c6bdc347306dd2077dbbee3e038 Mon Sep 17 00:00:00 2001 From: "Gao,Yan" <ygao@suse.com> Date: Tue, 17 Mar 2020 12:13:52 +0100 Subject: [PATCH 1/9] Feature: scheduler: add priority-fencing-delay cluster option This feature addresses the relevant topics and implements the ideas brought up from: https://github.com/ClusterLabs/fence-agents/pull/308 This commit adds priority-fencing-delay option (just the option, not the feature itself). 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. A promoted resource instance takes the base priority + 1 on calculation if the base priority is not 0. 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. --- include/crm/msg_xml.h | 1 + lib/pengine/common.c | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) Index: pacemaker-2.0.1+20190417.13d370ca9/include/crm/msg_xml.h =================================================================== --- pacemaker-2.0.1+20190417.13d370ca9.orig/include/crm/msg_xml.h +++ pacemaker-2.0.1+20190417.13d370ca9/include/crm/msg_xml.h @@ -345,6 +345,7 @@ extern "C" { # define XML_CONFIG_ATTR_ELECTION_FAIL "election-timeout" # define XML_CONFIG_ATTR_FORCE_QUIT "shutdown-escalation" # define XML_CONFIG_ATTR_RECHECK "cluster-recheck-interval" +# define XML_CONFIG_ATTR_PRIORITY_FENCING_DELAY "priority-fencing-delay" # define XML_ALERT_ATTR_PATH "path" # define XML_ALERT_ATTR_TIMEOUT "timeout" Index: pacemaker-2.0.1+20190417.13d370ca9/lib/pengine/common.c =================================================================== --- pacemaker-2.0.1+20190417.13d370ca9.orig/lib/pengine/common.c +++ pacemaker-2.0.1+20190417.13d370ca9/lib/pengine/common.c @@ -99,6 +99,23 @@ static pe_cluster_option pe_opts[] = { "Allow performing fencing operations in parallel", NULL }, { "startup-fencing", NULL, "boolean", NULL, "true", &check_boolean, "STONITH unseen nodes", "Advanced Use Only! Not using the default is very unsafe!" }, + { + XML_CONFIG_ATTR_PRIORITY_FENCING_DELAY, NULL, "time", NULL, + NULL, &check_timer, + "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. A promoted resource instance takes the base priority + 1 " + "on calculation if the base priority is not 0. 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." + }, /* Timeouts etc */ { "cluster-delay", NULL, "time", NULL, "60s", &check_time,
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor