Bug 499864

Summary: [Feature] Condor Event Triggers
Product: Red Hat Enterprise MRG Reporter: Robert Rati <rrati>
Component: gridAssignee: Robert Rati <rrati>
Status: CLOSED ERRATA QA Contact: Jan Sarenik <jsarenik>
Severity: medium Docs Contact:
Priority: high    
Version: DevelopmentCC: iboverma, jsarenik
Target Milestone: 1.3Keywords: FutureFeature
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 563818    
Bug Blocks:    

Description Robert Rati 2009-05-08 16:00:34 UTC
Description of problem:
Goal: Provide QMF Events that aid in grid management and administration.  A default set of triggers should be provided, but an administrator should be able to add/modify/remove triggers as desired.

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


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Robert Rati 2009-05-08 17:12:02 UTC
There is a new condor daemon called condor_triggerd that handles evaluating triggers and raising QMF events when necessary.  All triggers are evaluated every evaluation period which is configurable over QMF, however changes to the interval over QMF are not saved across a restart.  By default, the triggers are evaluated every 10 seconds.

The broker that the condor_triggerd will send to is controlled by the same config options that control the Mgmt plugins:

QMF_BROKER_HOST
QMF_BROKER_PORT
QMF_UPDATE_INTERVAL
QMF_STOREFILE

Additionally, the following attribute controls the default trigger evaluation period:

TRIGGERD_DEFAULT_EVAL_PERIOD


Triggers are comprised of 3 strings.  A Name, a Query, and the Text that will be raised as part of the event.  The Name is a string to identify the trigger.  It does not have to be unique nor does it have any bearing on the evaluation process.  It is merely there to help identify the trigger when displaying in a user iterface.

The query is the same form as a -constraint for a 'condor_status -startd' command.  Any attribute that is part of a startd ad can be used as part of the query string.

The text is the text that will be raised in the event, which can contain classad attributes.  A + to separate between string and attributes, so a valid text value would be in the form of "string + attr + string + attr + attr".

All triggers are assigned a unique ID by the triggerd daemon.  This ID is used for deletion or modification of the trigger.

Comment 6 Jan Sarenik 2010-06-23 11:22:59 UTC
Verified on RHEL4 and RHEL5, x86_64 and i386.
  condor-qmf-7.4.3-0.21.el4
  condor-qmf-7.4.3-0.21.el5

Condor configured according to bug 563818 comment #18
--------------------------------------------------------------------------
# echo "auth=no" >> /etc/qpidd.conf
# service qpidd start
...
# service condor start
...
# condor_trigger_config -l localhost
Connecting to broker 'localhost'...
Listing currently installed triggers...
No triggers currently installed
# condor_trigger_config -i localhost
Connecting to broker 'localhost'...
Initializing, adding default triggers...
Adding trigger 'High CPU Usage'...
Adding trigger 'Low Free Mem'...
Adding trigger 'Low Free Disk Space (/)'...
Adding trigger 'Busy and Swapping'...
Adding trigger 'Busy but Idle'...
Adding trigger 'Idle for long time'...
Adding trigger 'Logs with ERROR entries'...
Adding trigger 'Logs with error entries'...
Adding trigger 'Logs with DENIED entries'...
Adding trigger 'Logs with denied entries'...
Adding trigger 'Logs with WARNING entries'...
Adding trigger 'Logs with warning entries'...
Adding trigger 'dprintf Logs'...
Adding trigger 'Logs with stack dumps'...
Adding trigger 'Core Files'...
# condor_trigger_config -l localhost
Connecting to broker 'localhost'...
Listing currently installed triggers...
Currently Installed triggers:
...
# condor_trigger_config -d0 localhost
Connecting to broker 'localhost'...
Deleting all installed triggers...
Deleting trigger '1277292116'...
Deleting trigger '1277292117'...
Deleting trigger '1277292118'...
Deleting trigger '1277292119'...
Deleting trigger '1277292120'...
Deleting trigger '1277292121'...
Deleting trigger '1277292122'...
Deleting trigger '1277292123'...
Deleting trigger '1277292125'...
Deleting trigger '1277292126'...
Deleting trigger '1277292127'...
Deleting trigger '1277292128'...
Deleting trigger '1277292129'...
Deleting trigger '1277292130'...
Deleting trigger '1277292131'...