Skip to content

Commit

Permalink
Support alerts on container nodes
Browse files Browse the repository at this point in the history
  • Loading branch information
Mooli Tayer committed Feb 13, 2017
1 parent 60eeff4 commit 92cc359
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 2 deletions.
6 changes: 6 additions & 0 deletions app/models/container_node.rb
Original file line number Diff line number Diff line change
Expand Up @@ -79,4 +79,10 @@ def ipaddress
def cockpit_url
URI::HTTP.build(:host => ipaddress, :port => 9090)
end

def evaluate_alert(_alert_id, _event)
# currently only EmsEvents from hawkular are tested for node alerts,
# and these should automaticaly be translated to alerts.
true
end
end
1 change: 1 addition & 0 deletions app/models/ems_event.rb
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,7 @@ def get_target(target_type)
target_type = "src_vm_or_template" if target_type == "src_vm"
target_type = "dest_vm_or_template" if target_type == "dest_vm"
target_type = "middleware_server" if event.event_type == "hawkular_alert"
target_type = "container_node" if event.event_type == "datawarehouse_alert"

event.send(target_type)
end
Expand Down
11 changes: 9 additions & 2 deletions app/models/miq_alert.rb
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ class MiqAlert < ApplicationRecord
ExtManagementSystem
MiqServer
MiddlewareServer
ContainerNode
)

def self.base_tables
Expand Down Expand Up @@ -434,7 +435,9 @@ def self.automate_expressions
:options => [
{:name => :mw_operator, :description => _("Operator"), :values => [">", ">=", "<", "<=", "="]},
{:name => :value_mw_garbage_collector, :description => _("Duration Per Minute (ms)"), :numeric => true}
]}
]},
{:name => "dwh_generic", :description => _("All Datawarehouse alerts"), :db => ["ContainerNode"], :responds_to_events => "datawarehouse_alert",
:options => []}
]
end

Expand Down Expand Up @@ -496,7 +499,7 @@ def self.expression_by_name(name)

def self.raw_events
@raw_events ||= expression_by_name("event_threshold")[:options].find { |h| h[:name] == :event_types }[:values] +
['hawkular_alert']
%w(hawkular_alert datawarehouse_alert)
end

def self.event_alertable?(event)
Expand Down Expand Up @@ -559,6 +562,10 @@ def evaluate_script
true
end

def evaluate_method_dwh_generic(target, options)
target.evaluate_alert(id, options)
end

def evaluate_middleware(target, options)
target.evaluate_alert(id, options)
end
Expand Down

0 comments on commit 92cc359

Please sign in to comment.