Bug 1080103

Summary: CPG membership may be inconsistent after node pause
Product: Red Hat Enterprise Linux 6 Reporter: Jan Kurik <jkurik>
Component: corosyncAssignee: Jan Friesse <jfriesse>
Status: CLOSED ERRATA QA Contact: Cluster QE <mspqa-list>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 6.6CC: ccaulfie, cluster-maint, jfriesse, jkortus, jruemker, mjuricek, pm-eus
Target Milestone: rcKeywords: 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 Flags
0001
none
bz1080103-2-cpg-Make-sure-nodid-is-always-logged-as-hex-num.patch
none
bz1080103-3-cpg-Make-sure-left-nodes-are-really-removed.patch none

Description Jan Kurik 2014-03-24 16:47:02 UTC
This bug has been copied from bug #1067043 and has been proposed
to be backported to 6.5 z-stream (EUS).

Comment 3 Jan Friesse 2014-03-28 12:28:46 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)

Comment 4 Jan Friesse 2014-03-28 12:30:48 UTC
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)

Comment 5 Jan Friesse 2014-03-28 12:31:11 UTC
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)

Comment 9 errata-xmlrpc 2014-04-15 08:05:59 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.

http://rhn.redhat.com/errata/RHBA-2014-0402.html