Bug 1327739 - Need a way to set expected votes on a live system
Summary: Need a way to set expected votes on a live system
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: pcs
Version: 7.3
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: rc
: ---
Assignee: Tomas Jelinek
QA Contact: cluster-qe@redhat.com
Milan Navratil
URL:
Whiteboard:
Keywords: FutureFeature
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-04-15 18:56 UTC by Chris Feist
Modified: 2016-11-03 20:58 UTC (History)
10 users (show)

(edit)
*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.
Clone Of:
(edit)
Last Closed: 2016-11-03 20:58:24 UTC


Attachments (Terms of Use)
proposed fix (10.68 KB, patch)
2016-06-30 13:34 UTC, 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 12:11:34 UTC

Description Chris Feist 2016-04-15 18:56:11 UTC
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 13:34 UTC
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 11:37:09 UTC
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 20:58:24 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://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.