Bug 1080103
| Summary: | CPG membership may be inconsistent after node pause | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Jan Kurik <jkurik> | ||||||||
| Component: | corosync | Assignee: | Jan Friesse <jfriesse> | ||||||||
| Status: | CLOSED ERRATA | QA Contact: | Cluster QE <mspqa-list> | ||||||||
| Severity: | urgent | Docs Contact: | |||||||||
| Priority: | urgent | ||||||||||
| Version: | 6.6 | CC: | ccaulfie, cluster-maint, jfriesse, jkortus, jruemker, mjuricek, pm-eus | ||||||||
| Target Milestone: | rc | Keywords: | ZStream | ||||||||
| Target Release: | --- | ||||||||||
| Hardware: | Unspecified | ||||||||||
| OS: | Unspecified | ||||||||||
| Whiteboard: | |||||||||||
| Fixed In Version: | corosync-1.4.1-17.el6.1 | Doc Type: | Bug Fix | ||||||||
| Doc Text: |
Cause:
Corosync on one of node is paused. On other nodes, cpg clients are killed.
Consequence:
Corosync on paused node after resume never finds out that on other nodes cpg clients were killed and still believes they are alive. Membership (cpg one) is different between nodes.
Fix:
Make sure that corosync properly updates it's internal informations about other nodes cpg clients.
Result:
Killed cpg clients are properly removed from internal structures so cpg membership is equivalent between nodes.
|
Story Points: | --- | ||||||||
| Clone Of: | Environment: | ||||||||||
| Last Closed: | 2014-04-15 08:05:59 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: | 1067043 | ||||||||||
| Bug Blocks: | |||||||||||
| Attachments: |
|
||||||||||
|
Description
Jan Kurik
2014-03-24 16:47:02 UTC
Created attachment 879812 [details]
0001
cpg: Refactor mh_req_exec_cpg_procleave
Most of functionality is moved to do_proc_leave function to make it
reusable.
Signed-off-by: Jan Friesse <jfriesse>
Reviewed-by: Christine Caulfield <ccaulfie>
(backport from needle)
Created attachment 879813 [details] bz1080103-2-cpg-Make-sure-nodid-is-always-logged-as-hex-num.patch cpg: Make sure nodid is always logged as hex num Also number is prefixed by 0x so it's easier to spot that number is hexadecimal. Signed-off-by: Jan Friesse <jfriesse> Reviewed-by: Christine Caulfield <ccaulfie> (backport from needle) Created attachment 879814 [details] bz1080103-3-cpg-Make-sure-left-nodes-are-really-removed.patch cpg: Make sure left nodes are really removed When node is paused and other nodes has in meantime exited cpg process, paused node after resume doesn't update it's membership correctly so on previously paused node exited cpg process is still visible. Solution is to compare join list with cpd and remove all pids which are not included in join list. Signed-off-by: Jan Friesse <jfriesse> Reviewed-by: Christine Caulfield <ccaulfie> (backport from needle) 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. http://rhn.redhat.com/errata/RHBA-2014-0402.html |