Red Hat Bugzilla – Bug 1327739
Need a way to set expected votes on a live system
Last modified: 2016-11-03 16:58:24 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).
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
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
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