Cause:
User specifies both the --all flag and a list of nodes when running "pcs cluster start", "pcs cluster stop", "pcs cluster enable" or "pcs cluster disable".
Consequence:
Pcs ignores the node list and uses the --all flag.
Fix:
Check if both a list of nodes and the --all flag are specified.
Result:
Pcs exits with an error explaining only one of the --all flag and a list of nodes can be specified.
DescriptionJan Pokorný [poki]
2016-05-24 19:02:21 UTC
Looking merely at the provided syntax, it's not apparent there
is an internal mutual exclusion of "--all" and a list of nodes
(not reading further explanation, one might think that "--all"
is just a command modifier, i.e., do the start/stop in a coordinated
manner between the nodes being started/stopped, while this is true
modulo all known nodes are involved).
What about:
> start [[--all] | [node] [...]] [--wait[=<n>]]
plus perhaps a check that nodes are not being passed when --all is
present?
After Fix:
[vm-rhel72-1 ~] $ rpm -q pcs
pcs-0.9.156-1.el7.x86_64
[vm-rhel72-1 ~] $ pcs cluster stop vm-rhel72-1 vm-rhel72-3 --all
Error: Cannot specify both --all and a list of nodes.
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:1958
Looking merely at the provided syntax, it's not apparent there is an internal mutual exclusion of "--all" and a list of nodes (not reading further explanation, one might think that "--all" is just a command modifier, i.e., do the start/stop in a coordinated manner between the nodes being started/stopped, while this is true modulo all known nodes are involved). What about: > start [[--all] | [node] [...]] [--wait[=<n>]] plus perhaps a check that nodes are not being passed when --all is present?