From: Michael Friedrich Date: Fri, 11 May 2018 10:58:33 +0000 (+0200) Subject: Execute event commands only on actively checked host/service objects in an HA zone X-Git-Tag: v2.9.0~60^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=refs%2Fpull%2F6297%2Fhead;p=icinga2 Execute event commands only on actively checked host/service objects in an HA zone fixes #3431 --- diff --git a/lib/icinga/checkable-event.cpp b/lib/icinga/checkable-event.cpp index 12fc926ea..494b14cac 100644 --- a/lib/icinga/checkable-event.cpp +++ b/lib/icinga/checkable-event.cpp @@ -41,13 +41,20 @@ void Checkable::ExecuteEventHandler(const Dictionary::Ptr& resolvedMacros, bool if (!IcingaApplication::GetInstance()->GetEnableEventHandlers() || !GetEnableEventHandler()) return; + /* HA enabled zones. */ + if (IsActive() && IsPaused()) { + Log(LogNotice, "Checkable") + << "Skipping event handler for HA-paused checkable '" << GetName() << "'"; + return; + } + EventCommand::Ptr ec = GetEventCommand(); if (!ec) return; Log(LogNotice, "Checkable") - << "Executing event handler '" << ec->GetName() << "' for service '" << GetName() << "'"; + << "Executing event handler '" << ec->GetName() << "' for checkable '" << GetName() << "'"; Dictionary::Ptr macros; Endpoint::Ptr endpoint = GetCommandEndpoint();