RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1175400 - pcs resource op add creates duplicate op entires
Summary: pcs resource op add creates duplicate op entires
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: pcs
Version: 7.1
Hardware: Unspecified
OS: Unspecified
medium
low
Target Milestone: pre-dev-freeze
: ---
Assignee: Tomas Jelinek
QA Contact: cluster-qe@redhat.com
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-12-17 16:15 UTC by Frank Danapfel
Modified: 2015-11-19 09:33 UTC (History)
4 users (show)

Fixed In Version: pcs-0.9.141-1.el7
Doc Type: Bug Fix
Doc Text:
Cause: User adds a duplicate resource operation. Consequence: Duplicate operations specified for a resource. Fix: Added check for duplicate operations. Result: User is informed that a duplicate operation already exists, new duplicate operation is not created unless --force flag is used.
Clone Of:
Environment:
Last Closed: 2015-11-19 09:33:56 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
proposed fix (18.78 KB, patch)
2015-06-18 13:20 UTC, Tomas Jelinek
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2015:2290 0 normal SHIPPED_LIVE Moderate: pcs security, bug fix, and enhancement update 2015-11-19 09:43:53 UTC

Description Frank Danapfel 2014-12-17 16:15:51 UTC
Description of problem:
If "pcs resource op add" is executed without checking if the op already exists a duplicate op entry will be created

Version-Release number of selected component (if applicable):
pcs-0.9.123-9.el6.x86_64

How reproducible:
always

Steps to Reproduce:
1. run pcs op add for an already existing op of a resource
2.
3.

Actual results:
# pcs config
...

Resource: rsc_ip_SAPHana_DSG_HDB00 (class=ocf provider=heartbeat type=IPaddr2)
  Attributes: ip=192.168.123.24 
  Operations: start interval=0s timeout=20s (rsc_ip_SAPHana_DSG_HDB00-start-timeout-20s)
              stop interval=0s timeout=20s (rsc_ip_SAPHana_DSG_HDB00-stop-timeout-20s)
              monitor interval=10s timeout=20s (rsc_ip_SAPHana_DSG_HDB00-monitor-interval-10s)..
# pcs resource op add rsc_ip_SAPHana_DSG_HDB00 start timeout=3600
# pcs config
...
 Resource: rsc_ip_SAPHana_DSG_HDB00 (class=ocf provider=heartbeat type=IPaddr2)
  Attributes: ip=192.168.123.24 
  Operations: start interval=0s timeout=20s (rsc_ip_SAPHana_DSG_HDB00-start-timeout-20s)
              stop interval=0s timeout=20s (rsc_ip_SAPHana_DSG_HDB00-stop-timeout-20s)
              monitor interval=10s timeout=20s (rsc_ip_SAPHana_DSG_HDB00-monitor-interval-10s)
              start interval=0s timeout=3600 (rsc_ip_SAPHana_DSG_HDB00-name-start-timeout-3600)
...
Expected results:
pcs should give at leas a warning or offer the possibility to update the existing op entry for the resource instead of adding a new one.

Additional info:

Comment 2 Chris Feist 2014-12-22 21:22:00 UTC
There are some cases when we want to allow multiple operations, but most of the time that isn't what a user wants.

I think we just need to add a warning if a operation already exists with that name, and specifically an error if we attempt to add a monitor operation with the same interval (since pacemaker does not support that).

Comment 3 Tomas Jelinek 2015-01-05 14:35:47 UTC
There are patches in upstream for reporting an error when user attempts to add an operation with the same name and interval:
https://github.com/feist/pcs/commit/c97e96ab6361f15773bbd426babe7af192257999
https://github.com/feist/pcs/commit/40c0a774a453730c92600f4ece7c310e2d7dd2e7
https://github.com/feist/pcs/commit/abd1ecd1d1b24156a419257517c17a11a36152e5

They do not cover the case when user attempts to create more operations with the same name but different intervals.  We can add a check for that and print a warning.  It should be possible to create several monitor operations with different roles (or OCF_CHECK_LEVEL values) and different intervals though.

Comment 7 Tomas Jelinek 2015-06-18 13:20:20 UTC
Created attachment 1040492 [details]
proposed fix

Comment 8 Tomas Jelinek 2015-06-23 12:53:14 UTC
See also: bz1031141 comment 7

Before Fix:
[root@rh71-node1 ~]# rpm -q pcs
pcs-0.9.140-1.el7.x86_64
[root@rh71-node1:~]# pcs resource create dummy dummy
[root@rh71-node1:~]# pcs resource show dummy
 Resource: dummy (class=ocf provider=heartbeat type=Dummy)
  Operations: start interval=0s timeout=20 (dummy-start-interval-0s)
              stop interval=0s timeout=20 (dummy-stop-interval-0s)
              monitor interval=10 timeout=20 (dummy-monitor-interval-10)
[root@rh71-node1:~]# pcs resource op add dummy monitor interval=20 timeout=20
[root@rh71-node1:~]# echo $?
0
[root@rh71-node1:~]# pcs resource show dummy
 Resource: dummy (class=ocf provider=heartbeat type=Dummy)
  Operations: start interval=0s timeout=20 (dummy-start-interval-0s)
              stop interval=0s timeout=20 (dummy-stop-interval-0s)
              monitor interval=10 timeout=20 (dummy-monitor-interval-10)
              monitor interval=20 timeout=20 (dummy-monitor-interval-20)



After Fix:
[root@rh71-node1:~]# rpm -q pcs
pcs-0.9.141-1.el7.x86_64
[root@rh71-node1:~]# pcs resource create dummy dummy
[root@rh71-node1:~]# pcs resource show dummy
 Resource: dummy (class=ocf provider=heartbeat type=Dummy)
  Operations: start interval=0s timeout=20 (dummy-start-interval-0s)
              stop interval=0s timeout=20 (dummy-stop-interval-0s)
              monitor interval=10 timeout=20 (dummy-monitor-interval-10)
[root@rh71-node1:~]# pcs resource op add dummy monitor interval=20 timeout=20
Error: operation monitor already specified for dummy, use --force to override:
monitor interval=10 timeout=20 (dummy-monitor-interval-10)
[root@rh71-node1:~]# echo $?
1
[root@rh71-node1:~]# pcs resource show dummy
 Resource: dummy (class=ocf provider=heartbeat type=Dummy)
  Operations: start interval=0s timeout=20 (dummy-start-interval-0s)
              stop interval=0s timeout=20 (dummy-stop-interval-0s)
              monitor interval=10 timeout=20 (dummy-monitor-interval-10)
[root@rh71-node1:~]# pcs resource op add dummy monitor interval=20 timeout=20 --force
[root@rh71-node1:~]# echo $?
0
[root@rh71-node1:~]# pcs resource show dummy
 Resource: dummy (class=ocf provider=heartbeat type=Dummy)
  Operations: start interval=0s timeout=20 (dummy-start-interval-0s)
              stop interval=0s timeout=20 (dummy-stop-interval-0s)
              monitor interval=10 timeout=20 (dummy-monitor-interval-10)
              monitor interval=20 timeout=20 (dummy-monitor-interval-20)

Comment 12 errata-xmlrpc 2015-11-19 09:33:56 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-2015-2290.html


Note You need to log in before you can comment on or make changes to this bug.