Bug 1059607

Summary: [RFE] Make auto_tie_breaker node configurable
Product: Red Hat Enterprise Linux 7 Reporter: Christine Caulfield <ccaulfie>
Component: corosyncAssignee: Christine Caulfield <ccaulfie>
Status: CLOSED ERRATA QA Contact: Cluster QE <mspqa-list>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0CC: ccaulfie, cluster-maint, fdinitto, jfriesse, jherrman, jkortus, mnavrati, slevine
Target Milestone: rcKeywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: corosync-2.3.3-3.el7 Doc Type: Release Note
Doc Text:
Corosync Tie Breaker Enhancement The auto_tie_breaker quorum feature of Corosync has been enhanced to provide options for more flexible configuration and modification of tie breaker nodes. Users can now select a list of nodes that will retain quorum in case of an even cluster split, or choose that quorum will be retained by the node with the lowest node ID or the highest node ID.
Story Points: ---
Clone Of:
: 1129722 (view as bug list) Environment:
Last Closed: 2015-03-05 08:26:37 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1129722    
Attachments:
Description Flags
Free object allocated at quorum_register_callback
none
votequorum: Add extended options to auto_tie_breaker
none
votequorum: Properly initialize atb and atb_string none

Description Christine Caulfield 2014-01-30 09:14:09 UTC
Corosync's votequorum subsystem has an auto-tie-breaker feature that, in the event of a network split, will use the lowest node ID to decide which partition retains quorum.

This needs to be more configurable to give users better control over which node survives the split.

At it's simplest level this could just be nominating a node (or a hierarchy of nodes) that can be used to hold quorum. Also useful might be the pacemaker DC election idea of using the node that has been in the cluster longest (the most stable node).

Feel free to add other ideas to the bug.

Comment 2 Christine Caulfield 2014-02-21 09:42:03 UTC
commit 90d448af3b4b4508ca890cce67113cb226475d3b
Author: Christine Caulfield <ccaulfie>
Date:   Mon Feb 17 16:29:45 2014 +0000

    votequorum: Add extended options to auto_tie_breaker

Comment 5 Jan Friesse 2014-06-12 07:03:13 UTC
Created attachment 907961 [details]
Free object allocated at quorum_register_callback

Free object allocated at quorum_register_callback

Memory object allocated with malloc at quorum_register_callback
is not freed. The object is linked to internal_trackers_list.

The object is unlinked at quorum_unregister_callback. However,
it is not freed at the function.

Signed-off-by: Masatake YAMATO <yamato>
Reviewed-by: Jan Friesse <jfriesse>

Comment 6 Jan Friesse 2014-06-12 07:03:51 UTC
Created attachment 907962 [details]
votequorum: Add extended options to auto_tie_breaker

votequorum: Add extended options to auto_tie_breaker

This patch adds more flexibility to the auto_tie_breaker feature of
votequorum. With this, not only can the lowest nodeid be used as
a tie breaker, but also the highest, or a node from a nominated list.

If there is a list of nodes, the first node in the list that was not
part of the previous partition is used. This allows the user to
specify a preferred set of nodes but prevents a split-brain if the
cluster divides evenly with a node in each half.

Signed-off-by: Christine Caulfield <ccaulfie>
Reviewed-by: Jan Friesse <jfriesse>

Comment 7 Jan Friesse 2014-06-12 07:36:12 UTC
Created attachment 907986 [details]
votequorum: Properly initialize atb and atb_string

votequorum: Properly initialize atb and atb_string

icmap_get_* behavior is to NOT modify passed variable when it doesn't
success. So we must initialize variable before icmap_get_* call.

Signed-off-by: Jan Friesse <jfriesse>
Reviewed-by: Fabio M. Di Nitto <fdinitto>

Comment 12 Jiri Herrmann 2014-12-12 15:32:20 UTC
If this Feature should be included in the 7.1 Release Notes, could you please change the Doc Type from Enhancement to "Release Note"?

Note that the Release Notes are intended to list the most prominent and customer-relevant new features rather than every single enhancement.

Cheers,
Jirka

Comment 15 errata-xmlrpc 2015-03-05 08:26:37 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-0365.html