From: Michael Friedrich Date: Thu, 20 Mar 2014 09:32:52 +0000 (+0100) Subject: Set check source to node name as authority, if empty. X-Git-Tag: v0.0.9~64 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f6067d357db375102b4c1231d408ebadaa911900;p=icinga2 Set check source to node name as authority, if empty. Fixes #5805 --- diff --git a/components/cluster/clusterchecktask.cpp b/components/cluster/clusterchecktask.cpp index 32b2e9915..0404cc00f 100644 --- a/components/cluster/clusterchecktask.cpp +++ b/components/cluster/clusterchecktask.cpp @@ -66,7 +66,6 @@ void ClusterCheckTask::ScriptFunc(const Service::Ptr& service, const CheckResult cr->SetOutput(output); cr->SetPerformanceData(perfdata); cr->SetState(state); - cr->SetCheckSource(IcingaApplication::GetInstance()->GetNodeName()); service->ProcessCheckResult(cr); } diff --git a/components/compat/checkresultreader.cpp b/components/compat/checkresultreader.cpp index 16088cb9d..03f8c8246 100644 --- a/components/compat/checkresultreader.cpp +++ b/components/compat/checkresultreader.cpp @@ -140,7 +140,6 @@ void CheckResultReader::ProcessCheckResultFile(const String& path) const result->SetState(PluginUtility::ExitStatusToState(Convert::ToLong(attrs["return_code"]))); result->SetExecutionStart(Convert::ToDouble(attrs["start_time"])); result->SetExecutionEnd(Convert::ToDouble(attrs["finish_time"])); - result->SetCheckSource(IcingaApplication::GetInstance()->GetNodeName()); service->ProcessCheckResult(result); diff --git a/lib/icinga/externalcommandprocessor.cpp b/lib/icinga/externalcommandprocessor.cpp index 764b32f12..c363b4f05 100644 --- a/lib/icinga/externalcommandprocessor.cpp +++ b/lib/icinga/externalcommandprocessor.cpp @@ -255,7 +255,6 @@ void ExternalCommandProcessor::ProcessHostCheckResult(double time, const std::ve result->SetExecutionStart(time); result->SetExecutionEnd(time); result->SetActive(false); - result->SetCheckSource(IcingaApplication::GetInstance()->GetNodeName()); Log(LogInformation, "icinga", "Processing passive check result for host '" + arguments[0] + "'"); hc->ProcessCheckResult(result); @@ -295,7 +294,6 @@ void ExternalCommandProcessor::ProcessServiceCheckResult(double time, const std: result->SetExecutionStart(time); result->SetExecutionEnd(time); result->SetActive(false); - result->SetCheckSource(IcingaApplication::GetInstance()->GetNodeName()); Log(LogInformation, "icinga", "Processing passive check result for service '" + arguments[1] + "'"); service->ProcessCheckResult(result); diff --git a/lib/icinga/service-check.cpp b/lib/icinga/service-check.cpp index 67a1b512f..6fb654d39 100644 --- a/lib/icinga/service-check.cpp +++ b/lib/icinga/service-check.cpp @@ -241,8 +241,12 @@ void Service::ProcessCheckResult(const CheckResult::Ptr& cr, const String& autho String check_source = cr->GetCheckSource(); - if (check_source.IsEmpty()) - cr->SetCheckSource(authority); + if (check_source.IsEmpty()) { + if (authority.IsEmpty()) + cr->SetCheckSource(IcingaApplication::GetInstance()->GetNodeName()); + else + cr->SetCheckSource(authority); + } bool reachable = IsReachable(); bool notification_reachable = IsReachable(DependencyNotification); diff --git a/lib/methods/icingachecktask.cpp b/lib/methods/icingachecktask.cpp index a7fa3b63b..a83afde0a 100644 --- a/lib/methods/icingachecktask.cpp +++ b/lib/methods/icingachecktask.cpp @@ -82,7 +82,6 @@ void IcingaCheckTask::ScriptFunc(const Service::Ptr& service, const CheckResult: cr->SetOutput("Icinga 2 is running."); cr->SetPerformanceData(perfdata); cr->SetState(StateOK); - cr->SetCheckSource(IcingaApplication::GetInstance()->GetNodeName()); service->ProcessCheckResult(cr); } diff --git a/lib/methods/pluginchecktask.cpp b/lib/methods/pluginchecktask.cpp index 7f0301886..b598e7924 100644 --- a/lib/methods/pluginchecktask.cpp +++ b/lib/methods/pluginchecktask.cpp @@ -86,7 +86,6 @@ void PluginCheckTask::ProcessFinishedHandler(const Service::Ptr& service, const cr->SetExitStatus(pr.ExitStatus); cr->SetExecutionStart(pr.ExecutionStart); cr->SetExecutionEnd(pr.ExecutionEnd); - cr->SetCheckSource(IcingaApplication::GetInstance()->GetNodeName()); service->ProcessCheckResult(cr); } diff --git a/lib/methods/randomchecktask.cpp b/lib/methods/randomchecktask.cpp index b0c63e114..02c7db63d 100644 --- a/lib/methods/randomchecktask.cpp +++ b/lib/methods/randomchecktask.cpp @@ -42,7 +42,6 @@ void RandomCheckTask::ScriptFunc(const Service::Ptr& service, const CheckResult: cr->SetOutput(output); cr->SetPerformanceData(perfdata); cr->SetState(static_cast(Utility::Random() % 4)); - cr->SetCheckSource(IcingaApplication::GetInstance()->GetNodeName()); service->ProcessCheckResult(cr); }