mirror of https://github.com/Icinga/icinga2.git
Clear sticky ack on soft recovery, fix sticky=2, normal=1|0.
Fixes #5365
This commit is contained in:
parent
bcc17be2ca
commit
5ec2349f64
|
@ -616,7 +616,7 @@ void ExternalCommandProcessor::AcknowledgeSvcProblem(double, const std::vector<S
|
||||||
if (arguments.size() < 7)
|
if (arguments.size() < 7)
|
||||||
BOOST_THROW_EXCEPTION(std::invalid_argument("Expected 7 arguments."));
|
BOOST_THROW_EXCEPTION(std::invalid_argument("Expected 7 arguments."));
|
||||||
|
|
||||||
bool sticky = Convert::ToBool(arguments[2]);
|
bool sticky = (Convert::ToLong(arguments[2]) == 2 ? true : false);
|
||||||
|
|
||||||
Service::Ptr service = Service::GetByNamePair(arguments[0], arguments[1]);
|
Service::Ptr service = Service::GetByNamePair(arguments[0], arguments[1]);
|
||||||
|
|
||||||
|
@ -637,7 +637,7 @@ void ExternalCommandProcessor::AcknowledgeSvcProblemExpire(double, const std::ve
|
||||||
if (arguments.size() < 8)
|
if (arguments.size() < 8)
|
||||||
BOOST_THROW_EXCEPTION(std::invalid_argument("Expected 8 arguments."));
|
BOOST_THROW_EXCEPTION(std::invalid_argument("Expected 8 arguments."));
|
||||||
|
|
||||||
bool sticky = Convert::ToBool(arguments[2]);
|
bool sticky = (Convert::ToLong(arguments[2]) == 2 ? true : false);
|
||||||
double timestamp = Convert::ToDouble(arguments[5]);
|
double timestamp = Convert::ToDouble(arguments[5]);
|
||||||
|
|
||||||
Service::Ptr service = Service::GetByNamePair(arguments[0], arguments[1]);
|
Service::Ptr service = Service::GetByNamePair(arguments[0], arguments[1]);
|
||||||
|
@ -679,7 +679,7 @@ void ExternalCommandProcessor::AcknowledgeHostProblem(double, const std::vector<
|
||||||
if (arguments.size() < 6)
|
if (arguments.size() < 6)
|
||||||
BOOST_THROW_EXCEPTION(std::invalid_argument("Expected 6 arguments."));
|
BOOST_THROW_EXCEPTION(std::invalid_argument("Expected 6 arguments."));
|
||||||
|
|
||||||
bool sticky = Convert::ToBool(arguments[1]);
|
bool sticky = (Convert::ToLong(arguments[1]) == 2 ? true : false);
|
||||||
|
|
||||||
Host::Ptr host = Host::GetByName(arguments[0]);
|
Host::Ptr host = Host::GetByName(arguments[0]);
|
||||||
|
|
||||||
|
@ -702,7 +702,7 @@ void ExternalCommandProcessor::AcknowledgeHostProblemExpire(double, const std::v
|
||||||
if (arguments.size() < 7)
|
if (arguments.size() < 7)
|
||||||
BOOST_THROW_EXCEPTION(std::invalid_argument("Expected 7 arguments."));
|
BOOST_THROW_EXCEPTION(std::invalid_argument("Expected 7 arguments."));
|
||||||
|
|
||||||
bool sticky = Convert::ToBool(arguments[1]);
|
bool sticky = (Convert::ToLong(arguments[1]) == 2 ? true : false);
|
||||||
double timestamp = Convert::ToDouble(arguments[4]);
|
double timestamp = Convert::ToDouble(arguments[4]);
|
||||||
|
|
||||||
Host::Ptr host = Host::GetByName(arguments[0]);
|
Host::Ptr host = Host::GetByName(arguments[0]);
|
||||||
|
|
|
@ -319,7 +319,7 @@ void Service::ProcessCheckResult(const CheckResult::Ptr& cr, const String& autho
|
||||||
|
|
||||||
/* remove acknowledgements */
|
/* remove acknowledgements */
|
||||||
if (GetAcknowledgement() == AcknowledgementNormal ||
|
if (GetAcknowledgement() == AcknowledgementNormal ||
|
||||||
(GetAcknowledgement() == AcknowledgementSticky && GetStateType() == StateTypeHard && GetState() == StateOK)) {
|
(GetAcknowledgement() == AcknowledgementSticky && GetState() == StateOK)) {
|
||||||
ClearAcknowledgement();
|
ClearAcknowledgement();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue