Hide Forgot
Description of problem: When duplicate operation attribute is entered in "pcs resource create" command, pcs ommit all occurences except the last. No warning to user about that fact. Steps to Reproduce: [vm-rhel72-1 ~] $ pcs resource create R ocf:heartbeat:Dummy op monitor timeout=10 timeout=20 [vm-rhel72-1 ~] $ Actual results: In cib, there is only timeout=20 and user probably does not know about it: <primitive class="ocf" id="R" provider="heartbeat" type="Dummy"> <instance_attributes id="R-instance_attributes"/> <operations> <op id="R-start-interval-0s" interval="0s" name="start" timeout="20"/> <op id="R-stop-interval-0s" interval="0s" name="stop" timeout="20"/> <op id="R-monitor-interval-60s" interval="60s" name="monitor" timeout="20"/> </operations> </primitive> Expected results: Error: duplicate option 'timeout'. [vm-rhel72-1 ~] $ echo $? 1 Additional info: User probably did mistake in command. There is at least 50% probability that record in cib will be wrong and user will need make extra corrections. So result with error is probably better than warning only.
I agree pcs should exit with an error and not change CIB in this case.
Created attachment 1246647 [details] proposed fix Tests are in the patch.
After Fix: [vm-rhel72-1 ~] $ rpm -q pcs pcs-0.9.156-1.el7.x86_64 [vm-rhel72-1 ~] $ pcs resource create R ocf:heartbeat:Dummy op monitor timeout=10 timeout=20 Error: duplicate option 'timeout' with different values '10' and '20' [vm-rhel72-1 ~] $ pcs resource create R ocf:heartbeat:Dummy op monitor timeout=10 timeout=20 --force Error: duplicate option 'timeout' with different values '10' and '20'
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