Module: check_mk
Branch: master
Commit: a35cfefca128a3b5d19cbe188a42b46b2a523ff2
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=a35cfefca128a3…
Author: Sergey Kipnis <sk(a)mathias-kettner.de>
Date: Mon May 6 13:00:48 2019 +0200
[CMK-1971] - internal winperf section provider call is relocated at the beginning of the futures' "queue"
- this is done to achieve compatibility with existing buggy servers(mandatory for beta)
- minor: added tags to the yml to have better control over automatic update process
Change-Id: I67ba0cc4fb259fe5be6eced3d545c110a672e4e6
---
agents/wnx/install/resources/check_mk.yml | 3 ++-
agents/wnx/src/engine/service_processor.cpp | 18 ++++++++++++------
2 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/agents/wnx/install/resources/check_mk.yml b/agents/wnx/install/resources/check_mk.yml
index c577d33..4298eda 100644
--- a/agents/wnx/install/resources/check_mk.yml
+++ b/agents/wnx/install/resources/check_mk.yml
@@ -1,6 +1,7 @@
# Default Check MK configuration file
# Copyright Mathias Kettner GmbH
-# version 10008
+# version 10009
+# tag '06.05.2019'
# global must be presented
# IMPORTANT notes
diff --git a/agents/wnx/src/engine/service_processor.cpp b/agents/wnx/src/engine/service_processor.cpp
index d95f62b..5ef3394 100644
--- a/agents/wnx/src/engine/service_processor.cpp
+++ b/agents/wnx/src/engine/service_processor.cpp
@@ -235,6 +235,18 @@ int ServiceProcessor::startProviders(AnswerId Tp, std::string Ip) {
preLoadConfig();
// sections to be kicked out
tryToKick(uptime_provider_, Tp, Ip);
+
+ // #TODO remove the warning and relocate this block back at the end after beta-testing
+ // We have RElocated winperf here just to be compatible with older servers to avoid
+ // winperf_if check crash. We have no 100% guarantee, that winperf comes before plugin winperf
+ // but it's good enough for beta with older servers(which we're not going to support in release)
+ //
+ // WinPerf Processing
+ if (groups::winperf.enabledInConfig() &&
+ groups::global.allowedSection(vars::kWinPerfPrefixDefault)) {
+ kickWinPerf(Tp, Ip);
+ }
+
tryToKick(df_provider_, Tp, Ip);
tryToKick(mem_provider_, Tp, Ip);
tryToKick(services_provider_, Tp, Ip);
@@ -262,12 +274,6 @@ int ServiceProcessor::startProviders(AnswerId Tp, std::string Ip) {
ohm_process_.start(cma::provider::GetOhmCliPath().wstring());
}
- // WinPerf Processing
- if (groups::winperf.enabledInConfig() &&
- groups::global.allowedSection(vars::kWinPerfPrefixDefault)) {
- kickWinPerf(Tp, Ip);
- }
-
// Plugins Processing
#if 0
// we do not use anymore separate plugin process(player)