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'
Created attachment 1205309 [details] dialog for real time performance alert
https://github.com/ManageIQ/manageiq/pull/11717
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(+)
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(+)
https://github.com/ManageIQ/manageiq/pull/12119
Verified 5.8.0.3.20170301174324_1e2e0c4. Alert can't be created without filled "Field Meets Criteria for" field. Evaluation works fine.