Bug 1379078

Summary: Traceback during evaluation of alert when duration is not set
Product: Red Hat CloudForms Management Engine Reporter: Tsai Li Ming <ltsai>
Component: UI - OPSAssignee: Milan Zázrivec <mzazrivec>
Status: CLOSED CURRENTRELEASE QA Contact: Dmitry Misharov <dmisharo>
Severity: medium Docs Contact:
Priority: high    
Version: 5.6.0CC: cpelland, dclarizi, dmisharo, hkataria, jhardy, mpovolny, obarenbo, simaishi
Target Milestone: GAKeywords: TestOnly
Target Release: 5.8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: alert:ui
Fixed In Version: 5.8.0.0 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1388993 1389025 (view as bug list) Environment:
Last Closed: 2017-06-12 16:10:18 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: CFME Core Target Upstream Version:
Bug Depends On:    
Bug Blocks: 1388993, 1389025    
Attachments:
Description Flags
dialog for real time performance alert none

Description Tsai Li Ming 2016-09-24 17:19:06 UTC
Description of problem:
Traceback when duration is not set in the UI


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

How reproducible:
Always

Steps to Reproduce:
1. Create a real time performance alert based On VM and Instance
2. Performance Field = CPU - Usage Rate for Collected Intervals (%)
3. Do not set 'Field Meets Criteria'. By default, it is not set.

Actual results:
Traceback happens during evaluation

Expected results:
No traceback:
[----] I, [2016-09-25T01:11:37.893372 #23756:98998c]  INFO -- : MIQ(ManageIQ::Providers::Openstack::CloudManager::Vm#performances_maintains_value_for_duration?) Matched?: false, Index: 1, Window start index: -2, matches_in_window: 0, ts: 2016-09-24 17:10:00 UTC, cpu_usage_rate_average: 1.43492854339503


Additional info:

[----] I, [2016-09-25T01:07:19.393405 #23782:98998c]  INFO -- : MIQ(MiqAlert#evaluate) Evaluating Alert [VM CPU Utilization > 50%] for target: [my-openshift-infra.lab.ltsai.com]...
[----] I, [2016-09-25T01:07:19.405180 #23782:98998c]  INFO -- : MIQ(ManageIQ::Providers::Openstack::CloudManager::Vm#performances_maintains_value_for_duration?) options: {:interval_name=>"realtime", :duration=>nil, :column=>"cpu_usage_rate_average", :value=>"50", :operator=>">", :debug_trace=>"true", :trend_direction=>"none", :slope_steepness=>nil}
[----] E, [2016-09-25T01:07:19.405632 #23782:98998c] ERROR -- : MIQ(MiqQueue#deliver) Message id: [1000000216185], Error: [:duration required]
[----] E, [2016-09-25T01:07:19.405845 #23782:98998c] ERROR -- : [RuntimeError]: :duration required  Method:[rescue in deliver]
[----] E, [2016-09-25T01:07:19.406060 #23782:98998c] ERROR -- : /var/www/miq/vmdb/app/models/metric/ci_mixin.rb:82:in `performances_maintains_value_for_duration?'
/var/www/miq/vmdb/app/models/miq_alert.rb:677:in `evaluate_performance'
/var/www/miq/vmdb/app/models/miq_alert.rb:598:in `evaluate_method_realtime_performance'
/var/www/miq/vmdb/app/models/miq_alert.rb:546:in `evaluate_internal'
/var/www/miq/vmdb/app/models/miq_alert.rb:326:in `eval_expression'
/var/www/miq/vmdb/app/models/miq_alert.rb:205:in `evaluate'
/var/www/miq/vmdb/app/models/miq_queue.rb:345:in `block in deliver'
/opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:89:in `block in timeout'
/opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:34:in `block in catch'
/opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:34:in `catch'
/opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:34:in `catch'
/opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:104:in `timeout'
/var/www/miq/vmdb/app/models/miq_queue.rb:341:in `deliver'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:106:in `deliver_queue_message'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:134:in `deliver_message'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:152:in `block in do_work'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:146:in `loop'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:146:in `do_work'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:334:in `block in do_work_loop'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:331:in `loop'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:331:in `do_work_loop'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:153:in `run'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:128:in `start'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:21:in `start_worker'
/var/www/miq/vmdb/app/models/miq_worker.rb:347:in `block in start'
/opt/rh/cfme-gemset/gems/nakayoshi_fork-0.0.3/lib/nakayoshi_fork.rb:24:in `fork'
/opt/rh/cfme-gemset/gems/nakayoshi_fork-0.0.3/lib/nakayoshi_fork.rb:24:in `fork'
/var/www/miq/vmdb/app/models/miq_worker.rb:345:in `start'
/var/www/miq/vmdb/app/models/miq_worker.rb:274:in `start_worker'
/var/www/miq/vmdb/app/models/miq_worker.rb:154:in `block in sync_workers'
/var/www/miq/vmdb/app/models/miq_worker.rb:154:in `times'
/var/www/miq/vmdb/app/models/miq_worker.rb:154:in `sync_workers'
/var/www/miq/vmdb/app/models/miq_server/worker_management/monitor.rb:52:in `block in sync_workers'
/var/www/miq/vmdb/app/models/miq_server/worker_management/monitor.rb:50:in `each'
/var/www/miq/vmdb/app/models/miq_server/worker_management/monitor.rb:50:in `sync_workers'
/var/www/miq/vmdb/app/models/miq_server.rb:173:in `start'
/var/www/miq/vmdb/app/models/miq_server.rb:265:in `start'
/var/www/miq/vmdb/lib/workers/evm_server.rb:65:in `start'
/var/www/miq/vmdb/lib/workers/evm_server.rb:92:in `start'

Comment 2 Lucy Fu 2016-09-27 20:24:44 UTC
Created attachment 1205309 [details]
dialog for real time performance alert

Comment 4 Milan Zázrivec 2016-10-05 17:01:16 UTC
https://github.com/ManageIQ/manageiq/pull/11717

Comment 5 CFME Bot 2016-10-22 03:41:04 UTC
New commit detected on ManageIQ/manageiq/master:
https://github.com/ManageIQ/manageiq/commit/edc49c43dd8c01e92b16c835e8584eaae516a9e2

commit edc49c43dd8c01e92b16c835e8584eaae516a9e2
Author:     Milan Zazrivec <mzazrivec>
AuthorDate: Wed Oct 5 18:58:11 2016 +0200
Commit:     Milan Zazrivec <mzazrivec>
CommitDate: Wed Oct 5 18:58:11 2016 +0200

    Time threshold for real time performance has to be a required field
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1379078

 app/controllers/miq_policy_controller/alerts.rb | 3 +++
 1 file changed, 3 insertions(+)

Comment 6 CFME Bot 2016-10-22 03:45:51 UTC
New commit detected on ManageIQ/manageiq/euwe:
https://github.com/ManageIQ/manageiq/commit/b9ef9cea76efe2d2c68b3f05b29f9d4c7f42070d

commit b9ef9cea76efe2d2c68b3f05b29f9d4c7f42070d
Author:     Harpreet Kataria <hkataria>
AuthorDate: Fri Oct 21 23:38:36 2016 -0400
Commit:     Oleg Barenboim <chessbyte>
CommitDate: Fri Oct 21 23:42:19 2016 -0400

    Merge pull request #11717 from mzazrivec/time_threshold_for_rt_performance_is_required
    
    Time threshold for real time performance has to be a required field
    (cherry picked from commit 210b52d0a31d17cf10aa9d14d4e5f3110f7584e9)
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1379078

 app/controllers/miq_policy_controller/alerts.rb | 3 +++
 1 file changed, 3 insertions(+)

Comment 11 Dmitry Misharov 2017-03-02 14:12:37 UTC
Verified 5.8.0.3.20170301174324_1e2e0c4. Alert can't be created without filled "Field Meets Criteria for" field. Evaluation works fine.