IcingaObject: Render flapping thresholds downwards compatible
Settings are ignored in Icinga < 2.8.0 and a warning is logged. refs #330
This commit is contained in:
parent
6c52a26281
commit
07d830b06f
|
@ -516,6 +516,7 @@ class IcingaConfig
|
||||||
)
|
)
|
||||||
)->prepend(
|
)->prepend(
|
||||||
"\nconst DirectorStageDir = dirname(dirname(current_filename))\n"
|
"\nconst DirectorStageDir = dirname(dirname(current_filename))\n"
|
||||||
|
. $this->renderFlappingLogHelper()
|
||||||
. $this->renderHostOverridableVars()
|
. $this->renderHostOverridableVars()
|
||||||
. $this->renderMagicApplyFor()
|
. $this->renderMagicApplyFor()
|
||||||
);
|
);
|
||||||
|
@ -523,6 +524,19 @@ class IcingaConfig
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function renderFlappingLogHelper()
|
||||||
|
{
|
||||||
|
return '
|
||||||
|
globals.directorWarnedOnceForThresholds = false;
|
||||||
|
globals.directorWarnOnceForThresholds = function() {
|
||||||
|
if (globals.directorWarnedOnceForThresholds == false) {
|
||||||
|
globals.directorWarnedOnceForThresholds = true
|
||||||
|
log(LogWarning, "config", "Director: flapping_threshold_high/low is not supported in this Icinga 2 version!")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
';
|
||||||
|
}
|
||||||
|
|
||||||
protected function renderHostOverridableVars()
|
protected function renderHostOverridableVars()
|
||||||
{
|
{
|
||||||
$settings = $this->connection->settings();
|
$settings = $this->connection->settings();
|
||||||
|
|
|
@ -1664,6 +1664,26 @@ abstract class IcingaObject extends DbObject implements IcingaConfigRenderer
|
||||||
/**
|
/**
|
||||||
* @codingStandardsIgnoreStart
|
* @codingStandardsIgnoreStart
|
||||||
*/
|
*/
|
||||||
|
protected function renderFlapping_threshold_high()
|
||||||
|
{
|
||||||
|
return $this->renderFlappingThreshold('flapping_threshold_high');
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function renderFlapping_threshold_low()
|
||||||
|
{
|
||||||
|
return $this->renderFlappingThreshold('flapping_threshold_low');
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function renderFlappingThreshold($key)
|
||||||
|
{
|
||||||
|
return sprintf(
|
||||||
|
" try { // This setting is only available in Icinga >= 2.8.0\n"
|
||||||
|
. " %s"
|
||||||
|
. " } except { globals.directorWarnOnceForThresholds() }\n",
|
||||||
|
c::renderKeyValue($this->numericProperties[$key], c::renderFloat($this->$key))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
protected function renderLegacyHost_id()
|
protected function renderLegacyHost_id()
|
||||||
{
|
{
|
||||||
return $this->renderLegacyRelationProperty(
|
return $this->renderLegacyRelationProperty(
|
||||||
|
|
Loading…
Reference in New Issue