Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1371880

Summary: Setting a high number of expected votes returns an error, while still appears to be set
Product: Red Hat Enterprise Linux 7 Reporter: Radek Steiger <rsteiger>
Component: corosyncAssignee: Christine Caulfield <ccaulfie>
Status: CLOSED ERRATA QA Contact: cluster-qe <cluster-qe>
Severity: low Docs Contact:
Priority: low    
Version: 7.3CC: ccaulfie, cluster-maint, jfriesse, mjuricek
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: corosync-2.4.0-6.el7 Doc Type: No Doc Update
Doc Text:
undefined
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-01 18:40:01 UTC Type: Bug
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
votequorum: simplify reconfigure message handling
none
libvotequorum: Bump version
none
[build] Fix build on RHEL7.3 latest none

Description Radek Steiger 2016-08-31 10:41:20 UTC
> Description of problem:

Setting the number of expected votes to at least a double of current number of votes returns an error. According to the status output the number of expected votes appears to have been set, but not taken into account as the cluster is still quorate.

[root@virt-123 ~]# corosync-quorumtool -e 15
Unable to set expected votes: CS_ERR_INVALID_PARAM

[root@virt-123 ~]# corosync-quorumtool -s -p | sed -n '/Votequorum/,/^$/p'
Votequorum information
----------------------
Expected votes:   15
Highest expected: 15
Total votes:      6
Quorum:           4  
Flags:            Quorate 


> Version-Release number of selected component (if applicable):

corosync-2.4.0-3.el7.x86_64

Comment 2 Jan Friesse 2016-09-01 07:10:19 UTC
Chrissie, assigning to you because this is really your field of expertise. Basically what is happening is that message_handler_req_lib_votequorum_setexpected calls calculate_quorum which sets node->expected_votes simply because max_expected != 0.

It looks kind of logical to let calculate_quorum be really functional without side effects, but because source code of problematic line is dated 2009-01-26 10:46:08 it really better to hear original author (you ;) ) opinion.

Comment 3 Christine Caulfield 2016-09-01 11:43:40 UTC
Created attachment 1196770 [details]
Patch

Your analysis is correct, calculate_quorum should not produce side-effects. 

For the patch I've separated out the updating of node->expected_votes so it's called only when needed.

Comment 4 Jan Friesse 2016-09-13 13:13:18 UTC
@Chrissie,
can you please fix the patch as we discussed (call update_node_expected_votes in message_handler_req_exec_votequorum_reconfigure) and merge to gh?

Comment 5 Christine Caulfield 2016-09-13 13:23:11 UTC
I've just realised it doesn't need to be done, as message_handler_req_exec_votequorum_reconfigure calls recalculate_quorum() which does it.

So I'll just commit that patch as-is.

Comment 6 Jan Friesse 2016-09-13 13:39:54 UTC
Idea was about getting rid of redundant code (list_iterate is same as update_node_expected_votes)...

Comment 7 Christine Caulfield 2016-09-13 16:01:00 UTC
OK done.

Comment 8 Jan Friesse 2016-09-14 08:32:27 UTC
Created attachment 1200756 [details]
votequorum: simplify reconfigure message handling

votequorum: simplify reconfigure message handling

As we now have update_node_expected_votes(), we can use that
when receiving a new EXPECTED_VOTES value from another node
rather than having our own loop.

Signed-off-by: Christine Caulfield <ccaulfie>

Comment 10 Jan Friesse 2017-03-21 15:46:36 UTC
Created attachment 1265145 [details]
libvotequorum: Bump version

libvotequorum: Bump version

Signed-off-by: Jan Friesse <jfriesse>

Comment 11 Jan Friesse 2017-03-21 16:49:22 UTC
Created attachment 1265179 [details]
[build] Fix build on RHEL7.3 latest

[build] Fix build on RHEL7.3 latest

header inclusion have changed

Signed-off-by: Fabio M. Di Nitto <fdinitto>
(cherry picked from commit e204e871ec4eb705d177598d5c7ae8f0446a280f)

Comment 15 errata-xmlrpc 2017-08-01 18:40:01 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.

https://access.redhat.com/errata/RHBA-2017:1999