Bug 318361

Summary: cman needs to include qdisk votes in expected votes display
Product: Red Hat Enterprise Linux 5 Reporter: Corey Marthaler <cmarthal>
Component: cmanAssignee: Christine Caulfield <ccaulfie>
Status: CLOSED ERRATA QA Contact: Cluster QE <mspqa-list>
Severity: low Docs Contact:
Priority: low    
Version: 5.0CC: cluster-maint
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-01-20 21:52:19 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:
Attachments:
Description Flags
Patch
none
Updated patch none

Description Corey Marthaler 2007-10-04 14:54:32 UTC
Description of problem:
Three node cluster w/ qdisk of 2 nodes. Shouldn't expected votes be that same as
total votes in this case where all are members?

[root@taft-03 ~]# cman_tool status
Version: 6.0.1
Config Version: 11
Cluster Name: TAFTASTIC
Cluster Id: 39245
Cluster Member: Yes
Cluster Generation: 1108
Membership state: Cluster-Member
Nodes: 3
Expected votes: 3
Total votes: 5
Quorum: 3
Active subsystems: 9
Flags:
Ports Bound: 0 11
Node name: taft-03.lab.msp.redhat.com
Node ID: 3
Multicast addresses: 239.192.153.230
Node addresses: 10.15.89.69


Version-Release number of selected component (if applicable):
2.6.18-52.el5
cman-2.0.73-1.el5

Comment 1 Christine Caulfield 2007-10-04 15:06:34 UTC
The value in there is technically correct, but confusing I think.

Here's the quorum calculation from the source code (and the VMS cluster manual!)

	q1 = (highest_expected + 2) / 2;
	q2 = (total_votes + 2) / 2;
	newquorum = max(q1, q2);

	if (!allow_decrease)
		newquorum = max(oldquorum, newquorum);

highest_expected is the maximum value of expected_votes on all active nodes, and
total_votes is what you would expect: the total of all active votes in the system.

If you don't explicitly set expected_votes in cluster.conf then it is calculated
as the total votes contributed by REAL nodes (qdisk doesn't appear in
cluster.conf as a node)

So the confusion arises, I think, because qdisk isn't added to expected_votes at
"cman_tool join" time and because it contributes no expected_votes of its own
(it gets set to zero, and is therefore always ignored).

I can't see this being a blocker but we might like to think of ways to clarify
things in the future. Perhaps by getting the join process to look at the qdisk
keys in ccs and add those votes to expected_votes.


Comment 2 Christine Caulfield 2007-11-01 11:53:00 UTC
The more I think about this, the less happy I am fudging expected_votes with the
quorum disk votes. I think perhaps the thing to do is to display the quorum disk
votes in 'cman_tool status' immediately after 'Expected votes'. I think that
should be clear enough.

Comments ?

Comment 4 Christine Caulfield 2007-12-05 14:32:28 UTC
Created attachment 278351 [details]
Patch

Checked into HEAD. here's the patch for RHEL5, as I don't think this has been
approved for 5.2

Comment 5 Christine Caulfield 2008-02-08 14:35:21 UTC
Created attachment 294359 [details]
Updated patch

This is a slightly nicer patch and matches what is in HEAD of CVS.

Comment 6 Christine Caulfield 2008-04-28 15:11:23 UTC
Added to RHEL5 branch:

commit 38c7b171fee73837a539a441b9a408860c07f1d6
Author: Christine Caulfield <ccaulfie>
Date:   Mon Apr 28 16:10:09 2008 +0100


Comment 8 RHEL Program Management 2008-07-31 22:20:16 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.

Comment 11 errata-xmlrpc 2009-01-20 21:52:19 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2009-0189.html