Bugzilla will be upgraded to version 5.0 on a still to be determined date in the near future. The original upgrade date has been delayed.
Bug 1327739 - Need a way to set expected votes on a live system
Need a way to set expected votes on a live system
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: pcs (Show other bugs)
7.3
Unspecified Unspecified
unspecified Severity medium
: rc
: ---
Assigned To: Tomas Jelinek
cluster-qe@redhat.com
Milan Navratil
: FutureFeature
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2016-04-15 14:56 EDT by Chris Feist
Modified: 2016-11-03 16:58 EDT (History)
10 users (show)

See Also:
Fixed In Version: pcs-0.9.152-3.el7
Doc Type: Release Note
Doc Text:
*pcs* now supports setting expected votes on a live cluster When nodes fail in a cluster, user sometimes needs to manually lower expected votes in order to recover the cluster. You can now use the "pcs quorum expected-votes" command to set expected votes on a live cluster.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-11-03 16:58:24 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
proposed fix (10.68 KB, patch)
2016-06-30 09:34 EDT, Tomas Jelinek
no flags Details | Diff


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2016:2596 normal SHIPPED_LIVE Moderate: pcs security, bug fix, and enhancement update 2016-11-03 08:11:34 EDT

  None (edit)
Description Chris Feist 2016-04-15 14:56:11 EDT
Description of problem:
Currently there isn't a way to set expected votes on a live cluster pcs.

For example: If we have a 3 node cluster and 2 nodes have failed, we should allow an administrator to manually go in and set the expected votes to 1 so we can do some recovery options in the cluster.

You can that fix now with 'corosync-quorumtool -e1', but we'd like a way to have pcs set this option.  Maybe something like 'pcs cluster expected-votes <n>'.  One thing to note about corosync is that as the other nodes join the cluster the expected votes will automatically go back to what it was before.  (Also, this should only affect the live cluster, not touch any configuration files).
Comment 2 Tomas Jelinek 2016-06-30 09:34 EDT
Created attachment 1174593 [details]
proposed fix

Test:

> set expected votes higher than original value
[root@rh72-node1:~]# pcs quorum status | grep Expected
Expected votes:   2
[root@rh72-node1:~]# pcs quorum expected-votes 5
[root@rh72-node1:~]# pcs quorum status | grep Expected
Expected votes:   5

> invalid expected votes value produces an error
[root@rh72-node1:~]# pcs quorum expected-votes -1
Error: '-1' is not a valid expected votes value, use positive integer
[root@rh72-node1:~/devel/pcs/pcs]# echo $?
1

> corosync does not allow to set expected votes below its limits...
[root@rh72-node1:~]# pcs quorum status | grep Nodes:
Nodes:            2
[root@rh72-node1:~]# pcs quorum expected-votes 1
[root@rh72-node1:~/devel/pcs/pcs]# echo $?
0
[root@rh72-node1:~]# pcs quorum status | grep Expected
Expected votes:   2

> ... unless some nodes are down
[root@rh72-node1:~]# pcs cluster stop rh72-node2
rh72-node2: Stopping Cluster (pacemaker)...
rh72-node2: Stopping Cluster (corosync)...
[root@rh72-node1:~]# pcs quorum status | grep Nodes:
Nodes:            1
[root@rh72-node1:~]# pcs quorum expected-votes 1
[root@rh72-node1:~]# pcs quorum status | grep Expected
Expected votes:   1
Comment 3 Ivan Devat 2016-07-01 07:37:09 EDT
Before fix:
There isn't a way to set expected votes on a live cluster pcs

After fix:
[vm-rhel72-1 ~] $ rpm -q pcs
pcs-0.9.152-3.el7.x86_64

> set expected votes higher than original value
[vm-rhel72-1 ~] $ pcs quorum status | grep Expected
Expected votes:   2
[vm-rhel72-1 ~] $ pcs quorum expected-votes 5
[vm-rhel72-1 ~] $ pcs quorum status | grep Expected
Expected votes:   5

> invalid expected votes value produces an error
[vm-rhel72-1 ~] $ pcs quorum expected-votes -1
Error: '-1' is not a valid expected votes value, use positive integer
[vm-rhel72-1 ~] $ echo $?
1

> corosync does not allow to set expected votes below its limits...
[vm-rhel72-1 ~] $ pcs quorum status | grep Nodes:
Nodes:            2
[vm-rhel72-1 ~] $ pcs quorum expected-votes 1
[vm-rhel72-1 ~] $ echo $?
0
[vm-rhel72-1 ~] $ pcs quorum status | grep Expected
Expected votes:   2

> ... unless some nodes are down
[vm-rhel72-1 ~] $ pcs cluster stop vm-rhel72-3
vm-rhel72-3: Stopping Cluster (pacemaker)...
vm-rhel72-3: Stopping Cluster (corosync)...
[vm-rhel72-1 ~] $ pcs quorum status | grep Nodes:
Nodes:            1
[vm-rhel72-1 ~] $ pcs quorum expected-votes 1
[vm-rhel72-1 ~] $ pcs quorum status | grep Expected
Expected votes:   1
Comment 7 errata-xmlrpc 2016-11-03 16:58:24 EDT
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/RHSA-2016-2596.html

Note You need to log in before you can comment on or make changes to this bug.