Bug 614122
| Summary: | [RFE] port qdisk as corosync votequorum external quorum device | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Steven Dake <sdake> | |
| Component: | corosync | Assignee: | Jan Friesse <jfriesse> | |
| Status: | CLOSED ERRATA | QA Contact: | cluster-qe <cluster-qe> | |
| Severity: | low | Docs Contact: | Steven J. Levine <slevine> | |
| Priority: | low | |||
| Version: | 7.0 | CC: | ccaulfie, cluster-maint, djuran, jfriesse, jkortus, keypusher, mnavrati, mtessun, rbednar, slevine | |
| Target Milestone: | rc | Keywords: | FutureFeature, Reopened, TechPreview | |
| Target Release: | 7.1 | |||
| Hardware: | All | |||
| OS: | Linux | |||
| Whiteboard: | ||||
| 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 06:48:18 UTC | Type: | --- | |
| 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: | 1367813 | |||
| Bug Blocks: | 1113520, 1129724, 1158805, 1280348, 1347514, 1347530, 1366039 | |||
| Attachments: | ||||
|
Description
Steven Dake
2010-07-13 17:42:42 UTC
Tracking as RHEL6 bug until RHEL7 bugzilla is populated with components. This is NOT targeted for RHEL6. *** Bug 591234 has been marked as a duplicate of this bug. *** Moving to corosync upstream. 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>
Reviewed-by: Christine Caulfield <ccaulfie>
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>
Reviewed-by: Christine Caulfield <ccaulfie>
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>
Reviewed-by: Christine Caulfield <ccaulfie>
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>
Reviewed-by: Christine Caulfield <ccaulfie>
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>
Reviewed-by: Christine Caulfield <ccaulfie>
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>
Reviewed-by: Christine Caulfield <ccaulfie>
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.
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 |