Bug 970756 - Creation of alert definition condition on operation result needs to check for valid operations
Creation of alert definition condition on operation result needs to check for...
Status: NEW
Product: RHQ Project
Classification: Other
Component: REST (Show other bugs)
4.8
Unspecified Unspecified
unspecified Severity unspecified (vote)
: ---
: ---
Assigned To: Heiko W. Rupp
Mike Foley
:
Depends On: 967488
Blocks:
  Show dependency treegraph
 
Reported: 2013-06-04 15:15 EDT by Heiko W. Rupp
Modified: 2015-11-01 19:45 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 967488
Environment:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Heiko W. Rupp 2013-06-04 15:15:48 EDT
The code in org.rhq.enterprise.server.rest.AlertDefinitionHandlerBean#conditionRestToCondition needs to validate the passed name for a CONTROL alert category.


+++ This bug was initially created as a clone of Bug #967488 +++

Description of problem: Creating alert definitions via REST API is very unclear to me. I am trying to POST a definition that would trigger an alert when given operation on given resource fails. I am not able to submit correct body to REST API to create such alert def.


Version-Release number of selected component (if applicable):
RHQ 4.8-master

How reproducible: always


Steps to Reproduce:

I've been trying to send this body:

{'name':'restAlertDef',
'enabled':True,
'dampeningCategory':'NONE',
'conditionMode':'ANY',
'conditions':[{'name':'EQUALS','option':'discovery','category':'CONTROL'}]}


Actual results: see shot1.png attachment about how that condition looks in UI


According to shot1.png .. I tried to send this: 
{'name':'restAlertDef',
'enabled':True,
'dampeningCategory':'NONE',
'conditionMode':'ANY',
'conditions':[{'name':'discovery','option':'SUCCESS','category':'CONTROL'}]}

Actual results: 
REST API returns: Can not construct instance of org.rhq.core.domain.alert.AlertConditionOperator from String value 'EQUAL': value not one of declared Enum instance names\n at [Source: org.apache.catalina.connector.CoyoteInputStream@2bd7b0c6; line: 1, column: 68] (through reference chain: org.rhq.enterprise.server.rest.domain.AlertDefinitionRest[\"conditions\"]->org.rhq.enterprise.server.rest.domain.AlertConditionRest[\"name

Additional info:
The key issue is in "name" property of of condition, because it can be an operation name in when "category" equals "CONTROL", for this case we should also check, if operation by given name exists (if not just list all possible operations), same could apply to "option" value which is valid only if it can be parsed to OperationResult enum.

--- Additional comment from Heiko W. Rupp on 2013-06-04 15:13:50 EDT ---

master e718326

checking for valid operation names still needs to be implemented. I'll clone this BZ for that purpose.

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