no-quorum-policy=demote and on-fail=demote features for MSSQL servers
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
pacemaker (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
This feature allows the use of other mechanisms to deal with failures instead of fencing nodes (usually reboot a machine), and let for instance MS SQL server handle some failures by itself. We can consider this SRU as part of a "hardware enablement" for MS SQL Server.
[Test Plan]
Set up a Corosync/Pacemaker cluster and configure a resource to manage MS SQL server and use the new policies. Check if the cluster loose the minimum quorum or if the node where the failure happens are not fenced but just demoted.
[Where problems could occur]
This SRU will be introducing some new actions when a node fails or if the minimum quorum of the cluster is not reached, those are new features. So no regression is expected. But if it occurs it would be related to the schedule of actions when a failure happens and the quorum is not reached.
[Original description]
Ubuntu Release Team:
This is a FFe for this feature. Despite the size of patches, the core changes are not so big. Most of the commits are documentation OR tests for this new feature. Nevertheless, I preferred to be conservative and I have fully run all "CTS" (cluster test suite) with this new proposed package and it seems that everything is fine (no known regressions were caused, functional tests were good). With that in mind, I ask you to please approve this FFe. The management burden will be on Ubuntu Server team.
In bug:
https:/
I did the stabilization patches for pacemaker 2.0.4.. and I did not merge this feature so it could have its own FFe (this bug).
The following patch-set:
* #### this is the no-quorum-policy feature microsoft needs for mssqlserver
|\
| * c4429d86e - Log: scheduler: downgrade "active on" messages to trace (3 mont
| * 7eec572db - Build: libcrmcommon: bump CRM feature set (3 months ago) <Ken G
| * 01c5ec67e - Low: scheduler: match initial no-quorum-policy struct value to
| * 015b5c012 - Doc: Pacemaker Explained: document no-quorum-
| * 5d809e136 - Test: scheduler: add regression test for no-quorum-
| * b1ae35938 - Feature: scheduler: support "demote" choice for no-quorum-polic
| * 0b6834453 - Refactor: scheduler: functionize checking quorum policy in effe
| * d4b9117e7 - Doc: Pacemaker Explained: correct on-fail default (3 months ago
| * 204961e95 - Doc: Pacemaker Explained: document new on-fail="demote" option
| * d29433ea5 - Test: scheduler: add regression tests for on-fail="demote" (3 m
| * 874f75e0f - Feature: scheduler: new on-fail="demote" recovery policy for pr
| * 2f1e2df1f - Feature: xml: add on-fail="demote" option to resources schema (
| * fd55a6660 - Doc: libpacemaker: improve comments for resource state and acti
| * 98c3b649f - Log: libpacemaker: check for re-promotes specifically (3 months
| * ff6aebecf - Doc: libpacemaker: improve comments when logging actions (3 mon
| * f2d244bc4 - Test: scheduler: test forcing a restart instead of reload when
| * a4d6a20a9 - Low: libpacemaker: don't force stop when skipping reload of fai
| * 8dceba792 - Refactor: scheduler: use more appropriate types in a couple pla
| * ef246ff05 - Fix: scheduler: disallow on-fail=stop for stop operations (3 mo
| * f1f71b3f3 - Refactor: scheduler: functionize comparing on-fail values (3 mo
*
implements the :
new on-fail="demote" recovery policy
needed for Microsoft SQL Server big installations. MSSQL server does not use pacemaker for fencing, but it does need the promote/demote features available for it.. to coordinate its HA cluster. This request come directly by Microsoft after the feature was developed upstream.
I'm particularly interested in this feature because it allows Microsoft SQL Server to use it. MSSQL server uses pacemaker to manage which node is the primary node, but it does not need fencing mechanisms and this feature allows it to simply promote/demote the nodes. Without it, big clusters with MSSQL server installed might face big downtime because of fencing and the database archive logs recovery.
Note: This will help me trying to backport the feature to Focal.
Related branches
- Christian Ehrhardt (community): Approve
- Canonical Server: Pending requested
-
Diff: 1293 lines (+1199/-0)15 files modifieddebian/changelog (+21/-0)
debian/patches/series (+16/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-01-f1f71b3-Refactor-scheduler-functionize-comparing-on-fail.patch (+181/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-02-ef246ff-Fix-scheduler-disallow-on-fail-stop-for-stop.patch (+53/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-03-8dceba7-Refactor-scheduler-use-more-appropriate-types.patch (+43/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-04-a4d6a20-Low-libpacemaker-don-t-force-stop-when-skipping.patch (+45/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-05-98c3b64-Log-libpacemaker-check-for-re-promotes-specifically.patch (+46/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-06-2f1e2df-Feature-xml-add-on-fail-demote-option-to-resources.patch (+38/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-07-874f75e-Feature-scheduler-new-on-fail-demote-recovery-policy.patch (+355/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-08-7eec572-Build-libcrmcommon-bump-CRM-feature-set.patch (+51/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-09-204961e-Doc-Pacemaker-Explained-document-new-on-fail.patch (+67/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-10-015b5c0-Doc-Pacemaker-Explained-document-no-quorum.patch (+26/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-11-0b68344-Refactor-scheduler-functionize-checking-quorum.patch (+61/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-12-b1ae359-Feature-scheduler-support-demote-choice-for.patch (+163/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-13-d4b9117-Doc-Pacemaker-Explained-correct-on-fail-default.patch (+33/-0)
- Christian Ehrhardt (community): Approve
- Canonical Server Core Reviewers: Pending requested
- Canonical Server: Pending requested
- Rafael David Tinoco: Pending requested
-
Diff: 1311 lines (+1216/-1)15 files modifieddebian/changelog (+20/-0)
debian/patches/series (+16/-1)
debian/patches/ubuntu-2.0.3-demote/lp1896223-01-f1f71b3-Refactor-scheduler-functionize-comparing-on-fail.patch (+182/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-02-ef246ff-Fix-scheduler-disallow-on-fail-stop-for-stop.patch (+54/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-03-8dceba7-Refactor-scheduler-use-more-appropriate-types.patch (+45/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-04-a4d6a20-Low-libpacemaker-don-t-force-stop-when-skipping.patch (+48/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-05-98c3b64-Log-libpacemaker-check-for-re-promotes-specifically.patch (+48/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-06-2f1e2df-Feature-xml-add-on-fail-demote-option-to-resources.patch (+39/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-07-874f75e-Feature-scheduler-new-on-fail-demote-recovery-policy.patch (+356/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-08-7eec572-Build-libcrmcommon-bump-CRM-feature-set.patch (+52/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-09-204961e-Doc-Pacemaker-Explained-document-new-on-fail.patch (+68/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-10-015b5c0-Doc-Pacemaker-Explained-document-no-quorum.patch (+27/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-11-0b68344-Refactor-scheduler-functionize-checking-quorum.patch (+63/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-12-b1ae359-Feature-scheduler-support-demote-choice-for.patch (+164/-0)
debian/patches/ubuntu-2.0.3-demote/lp1896223-13-d4b9117-Doc-Pacemaker-Explained-correct-on-fail-default.patch (+34/-0)
- Rafael David Tinoco (community): Approve
- Christian Ehrhardt (community): Approve
- Canonical Server: Pending requested
-
Diff: 8955 lines (+8819/-0)22 files modifieddebian/changelog (+26/-0)
debian/patches/series (+23/-0)
debian/patches/ubuntu/lp1896223-0001-Refactor-scheduler-functionize-comparing-on-fail-val.patch (+185/-0)
debian/patches/ubuntu/lp1896223-0002-Fix-scheduler-disallow-on-fail-stop-for-stop-operati.patch (+52/-0)
debian/patches/ubuntu/lp1896223-0003-Refactor-scheduler-use-more-appropriate-types-in-a-c.patch (+47/-0)
debian/patches/ubuntu/lp1896223-0004-Low-libpacemaker-don-t-force-stop-when-skipping-relo.patch (+48/-0)
debian/patches/ubuntu/lp1896223-0005-Test-scheduler-test-forcing-a-restart-instead-of-rel.patch (+525/-0)
debian/patches/ubuntu/lp1896223-0006-Doc-libpacemaker-improve-comments-when-logging-actio.patch (+107/-0)
debian/patches/ubuntu/lp1896223-0007-Log-libpacemaker-check-for-re-promotes-specifically.patch (+49/-0)
debian/patches/ubuntu/lp1896223-0008-Doc-libpacemaker-improve-comments-for-resource-state.patch (+79/-0)
debian/patches/ubuntu/lp1896223-0009-Feature-scheduler-new-on-fail-demote-recovery-policy.patch (+361/-0)
debian/patches/ubuntu/lp1896223-0010-Test-scheduler-add-regression-tests-for-on-fail-demo.patch (+6269/-0)
debian/patches/ubuntu/lp1896223-0011-Doc-Pacemaker-Explained-document-new-on-fail-demote-.patch (+71/-0)
debian/patches/ubuntu/lp1896223-0012-Doc-Pacemaker-Explained-correct-on-fail-default.patch (+36/-0)
debian/patches/ubuntu/lp1896223-0013-Refactor-scheduler-functionize-checking-quorum-polic.patch (+65/-0)
debian/patches/ubuntu/lp1896223-0014-Feature-scheduler-support-demote-choice-for-no-quoru.patch (+167/-0)
debian/patches/ubuntu/lp1896223-0015-Test-scheduler-add-regression-test-for-no-quorum-pol.patch (+511/-0)
debian/patches/ubuntu/lp1896223-0016-Doc-Pacemaker-Explained-document-no-quorum-policy-de.patch (+30/-0)
debian/patches/ubuntu/lp1896223-0017-Low-scheduler-match-initial-no-quorum-policy-struct-.patch (+33/-0)
debian/patches/ubuntu/lp1896223-0018-Build-libcrmcommon-bump-CRM-feature-set.patch (+43/-0)
debian/patches/ubuntu/lp1896223-0019-Log-scheduler-downgrade-active-on-messages-to-trace.patch (+52/-0)
debian/patches/ubuntu/lp1896223-0020-Feature-xml-add-on-fail-demote-option-to-resources-s.patch (+40/-0)
summary: |
- [FFe] this is the no-quorum-policy feature (specially for mssql sevrer) + [FFe] this is the no-quorum-policy feature (specially for mssql server) |
summary: |
- [FFe] this is the no-quorum-policy feature (specially for mssql server) + [FFe] no-quorum-policy=demote and on-fail=demote features for MSSQL + servers |
summary: |
- [FFe] no-quorum-policy=demote and on-fail=demote features for MSSQL - servers + no-quorum-policy=demote and on-fail=demote features for MSSQL servers |
Changed in pacemaker (Ubuntu): | |
status: | Triaged → Fix Committed |
importance: | High → Undecided |
description: | updated |
description: | updated |
This is the same as: /bugs.launchpad .net/ubuntu/ +source/ pacemaker/ +bug/1890185
https:/