Bugzilla will be upgraded to version 5.0 on a still to be determined date in the near future. The original upgrade date has been delayed.
Bug 614122 - [RFE] port qdisk as corosync votequorum external quorum device
[RFE] port qdisk as corosync votequorum external quorum device
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: corosync (Show other bugs)
7.0
All Linux
low Severity low
: rc
: 7.1
Assigned To: Jan Friesse
cluster-qe@redhat.com
Steven J. Levine
: FutureFeature, Reopened, TechPreview
: 591234 (view as bug list)
Depends On: 1367813
Blocks: 1113520 1280348 1129724 1158805 1347514 1347530 1366039
  Show dependency treegraph
 
Reported: 2010-07-13 13:42 EDT by Steven Dake
Modified: 2016-11-04 02:48 EDT (History)
10 users (show)

See Also:
Fixed In Version: corosync-2.4.0-1.el7
Doc Type: Technology Preview
Doc Text:
Feature: Add daemon running on each node of a cluster to provide a configured number of votes to the quorum subsystem based on a third-party arbitrator’s decision. Its primary use is to allow a cluster to sustain more node failures than standard quorum rules allow. It is recommended for clusters with an even number of nodes and highly recommended for 2 node clusters. This means also to add daemon running outside of the cluster (3rd arbiter) with the purpose of providing a vote to the corosync-qdevice model net. It’s designed to support multiple clusters and be almost configuration and state free. New clusters are handled dynamically and no configuration file exists. It’s also able to run as non-root user - which is recommended. Connection between the corosync-qdevice model net client can be optionally configured with TLS client certificate checking. The communication protocol between server and client is designed to be very simple and allow backwards compatibility. Reason: Scratch cluster Result: corosync-qdevice/corosync-qnetd packages added.
Story Points: ---
Clone Of:
: 1129724 1280348 (view as bug list)
Environment:
Last Closed: 2016-11-04 02:48:18 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
votequorum: Return current ring id in callback (6.46 KB, patch)
2014-08-25 10:39 EDT, Jan Friesse
no flags Details | Diff
votequorum: Add ring id to poll call (8.34 KB, patch)
2014-08-25 10:39 EDT, Jan Friesse
no flags Details | Diff
ipc: Process votequorum messages during sync (2.24 KB, patch)
2014-08-25 10:39 EDT, Jan Friesse
no flags Details | Diff
votequorum: Block sync until qdevice poll (3.99 KB, patch)
2014-08-25 10:39 EDT, Jan Friesse
no flags Details | Diff
testvotequorum2: Opt for polling with old ringid (3.03 KB, patch)
2014-08-25 10:39 EDT, Jan Friesse
no flags Details | Diff
votequorum: Make qdev timeout in sync configurable (4.34 KB, patch)
2014-08-25 10:39 EDT, Jan Friesse
no flags Details | Diff
results (37.39 KB, application/vnd.oasis.opendocument.text)
2016-09-27 09:36 EDT, Roman Bednář
no flags Details


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2016:2463 normal SHIPPED_LIVE corosync bug fix and enhancement update 2016-11-03 10:06:04 EDT

  None (edit)
Description Steven Dake 2010-07-13 13:42:42 EDT
See summary.

Lon can describe benefits.
Comment 2 Steven Dake 2010-07-13 15:07:00 EDT
Tracking as RHEL6 bug until RHEL7 bugzilla is populated with components.  This is NOT targeted for RHEL6.
Comment 3 Lon Hohberger 2010-09-30 16:09:28 EDT
*** Bug 591234 has been marked as a duplicate of this bug. ***
Comment 4 Fabio Massimo Di Nitto 2012-02-11 00:43:43 EST
Moving to corosync upstream.
Comment 11 Jan Friesse 2014-08-25 10:39:20 EDT
Created attachment 930521 [details]
votequorum: Return current ring id in callback

votequorum: Return current ring id in callback

Returning ring id will be used in poll function.

Signed-off-by: Jan Friesse <jfriesse@redhat.com>
Reviewed-by: Christine Caulfield <ccaulfie@redhat.com>
Comment 12 Jan Friesse 2014-08-25 10:39:26 EDT
Created attachment 930522 [details]
votequorum: Add ring id to poll call

votequorum: Add ring id to poll call

If votequorum service receives incorrect (not current) ringid, call is
ignored and CS_ERR_MESSAGE_ERROR is returned.

This and previous commits makes incompatible changes in votequorum
API/ABI, so library version is increased.

Signed-off-by: Jan Friesse <jfriesse@redhat.com>
Reviewed-by: Christine Caulfield <ccaulfie@redhat.com>
Comment 13 Jan Friesse 2014-08-25 10:39:34 EDT
Created attachment 930523 [details]
ipc: Process votequorum messages during sync

ipc: Process votequorum messages during sync

This is needed for qdevice to be able to process messages during
synchronization phase.

Signed-off-by: Jan Friesse <jfriesse@redhat.com>
Reviewed-by: Christine Caulfield <ccaulfie@redhat.com>
Comment 14 Jan Friesse 2014-08-25 10:39:40 EDT
Created attachment 930524 [details]
votequorum: Block sync until qdevice poll

votequorum: Block sync until qdevice poll

If qdevice is registered a alive, corosync waits in sync phase until
timeout expires or qdevice votes with correct nodeid parameter.

This gives qdevice time to decide to vote or not undisturbed and without
time hazard.

Signed-off-by: Jan Friesse <jfriesse@redhat.com>
Reviewed-by: Christine Caulfield <ccaulfie@redhat.com>
Comment 15 Jan Friesse 2014-08-25 10:39:45 EDT
Created attachment 930525 [details]
testvotequorum2: Opt for polling with old ringid

testvotequorum2: Opt for polling with old ringid

Option -F is added to force sending old ringid for given number of
times. Option is useful for testing failure scenario during corosync
synchronization phase.

Signed-off-by: Jan Friesse <jfriesse@redhat.com>
Reviewed-by: Christine Caulfield <ccaulfie@redhat.com>
Comment 16 Jan Friesse 2014-08-25 10:39:50 EDT
Created attachment 930526 [details]
votequorum: Make qdev timeout in sync configurable

votequorum: Make qdev timeout in sync configurable

Configuration option quorum.device.sync_timeout is available for setting
qdevice poll timeout for synchronization phase. Default value is 30
sec.

Signed-off-by: Jan Friesse <jfriesse@redhat.com>
Reviewed-by: Christine Caulfield <ccaulfie@redhat.com>
Comment 25 Roman Bednář 2016-09-27 09:36 EDT
Created attachment 1205194 [details]
results

Marking verified using latest rpms.

corosync-2.4.0-4.el7.x86_64
corosync-qdevice-2.4.0-4.el7.x86_64
corosynclib-2.4.0-4.el7.x86_64
corosync-qnetd-2.4.0-4.el7.x86_64
pcs-0.9.152-10.el7.x86_64

See attachment for details.
Comment 27 errata-xmlrpc 2016-11-04 02:48:18 EDT
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-2016-2463.html

Note You need to log in before you can comment on or make changes to this bug.