| Summary: | Duplicate operation attribute is silently skipped in "pcs resource create" command. | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Ivan Devat <idevat> | ||||
| Component: | pcs | Assignee: | Ivan Devat <idevat> | ||||
| Status: | CLOSED ERRATA | QA Contact: | cluster-qe <cluster-qe> | ||||
| Severity: | unspecified | Docs Contact: | |||||
| Priority: | low | ||||||
| Version: | 7.2 | CC: | cfeist, cluster-maint, idevat, omular, rsteiger, tojeline | ||||
| Target Milestone: | rc | ||||||
| Target Release: | --- | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | pcs-0.9.156-1.el7 | Doc Type: | Bug Fix | ||||
| Doc Text: |
Cause:
The user enters the same option multiple times with different values (by a mistake).
Pcs omits all earlier values and uses the last value.
Consequence:
The user is not notified that entered ambiguous option value. The content of cib can be different than what the user wanted.
Fix:
Pcs requires a unambiguous option value.
Result:
The user cannot successfully enter unambiguous option value.
|
Story Points: | --- | ||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2017-08-01 18:24:40 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Attachments: |
|
||||||
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 |
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.