Bug 1418199

Summary: create more operations / actions defined by a resource agent on creating a resource
Product: Red Hat Enterprise Linux 7 Reporter: Tomas Jelinek <tojeline>
Component: pcsAssignee: Tomas Jelinek <tojeline>
Status: CLOSED ERRATA QA Contact: cluster-qe <cluster-qe>
Severity: unspecified Docs Contact:
Priority: medium    
Version: 7.3CC: cfeist, cluster-maint, idevat, omular, rsteiger, tojeline
Target Milestone: rcKeywords: EasyFix
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: pcs-0.9.160-1.el7 Doc Type: Bug Fix
Doc Text:
Cause: The user creates a resource. Consequence: Some resource operations defined in the resource agent are missing in the created resource. Fix: Copy all significant resource operations from the agent to the CIB. Result: The resource is created with all operations.
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-10 15:37:49 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:
Embargoed:
Attachments:
Description Flags
proposed fix + tests
none
fix - sanitize operation id + tests none

Description Tomas Jelinek 2017-02-01 09:28:34 UTC
Description of problem:
When creating a resource, pcs automatically adds resource actions as operations to the resource. These are copied from resource agent metadata. Currently pcs copies monitor, start, stop, promote and demote operations. Pcs should also copy migrate_to, migrate_from, notify, and reload operations. These operations should also be displayed when running the "pcs resource describe" command.


Version-Release number of selected component (if applicable):
pcs-0.9.155


How reproducible:
always, easily


Steps to Reproduce:
1. pcs resource describe ocf:heartbeat:VirtualDomain
2. pcs resource create test ocf:heartbeat:VirtualDomain


Actual results:
1. only start, stop and monitor operations are listed
2. only start, stop and monitor operations are added to the new resource


Expected results:
1. migrate_to and migrate_from operations listed as well
2. migrate_to and migrate_from operations created as well

Comment 1 Tomas Jelinek 2017-03-29 07:33:26 UTC
This has also been requested upstream, with a difference to support actions not defined by the ocf standard as well: https://github.com/ClusterLabs/pcs/issues/132

Comment 2 Tomas Jelinek 2017-09-14 15:21:49 UTC
Created attachment 1326101 [details]
proposed fix + tests

All actions / operations defined in resource agent's metadata (except meta-data, status and validate-all) are now copied to the CIB when creating a resource.

Comment 3 Tomas Jelinek 2017-09-14 16:15:15 UTC
Created attachment 1326141 [details]
fix - sanitize operation id + tests

Comment 4 Ivan Devat 2017-10-11 08:15:45 UTC
After Fix:

[vm-rhel72-1 ~] $ rpm -q pcs
pcs-0.9.160-1.el7.x86_64

[vm-rhel72-1 ~] $ pcs resource describe ocf:heartbeat:VirtualDomain|grep "^  migrate_\(from\|to\)"
  migrate_from: interval=0s timeout=60
  migrate_to: interval=0s timeout=120


[vm-rhel72-1 ~] $ pcs resource create test ocf:heartbeat:VirtualDomain --force
Warning: required resource option 'config' is missing
[vm-rhel72-1 ~] $ pcs cluster cib --config | grep 'id="test"' -A8
    <primitive class="ocf" id="test" provider="heartbeat" type="VirtualDomain">
      <operations>
        <op id="test-migrate_from-interval-0s" interval="0s" name="migrate_from" timeout="60"/>
        <op id="test-migrate_to-interval-0s" interval="0s" name="migrate_to" timeout="120"/>
        <op id="test-monitor-interval-10" interval="10" name="monitor" timeout="30"/>
        <op id="test-start-interval-0s" interval="0s" name="start" timeout="90"/>
        <op id="test-stop-interval-0s" interval="0s" name="stop" timeout="90"/>
      </operations>
    </primitive>

Comment 9 errata-xmlrpc 2018-04-10 15:37:49 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://access.redhat.com/errata/RHBA-2018:0866