Wrong reporting by icinga for host object in soft state when dependency is applied

Hi Everyone,

I started defining explicit dependency between host and services and seeing wrong reporting where icinga says that host is in soft state for all the hosts which is obviously not true.

[2020-12-08 16:25:58 +0000] notice/Dependency: Dependency 'prod-sg1-2.sg1.prod.node!agent-health!disable-service-notification' failed: Parent host 'prod-sg1-2.sg1.prod.node' is in a soft state.
[2020-12-08 16:25:58 +0000] notice/Dependency: Dependency 'prod-sg1-2.sg1.prod.node!agent-health!disable-service-notification' passed: Parent host 'prod-sg1-2.sg1.prod.node' matches state filter.
[2020-12-08 16:25:58 +0000] notice/Dependency: Dependency 'prod-sg1-2.sg1.prod.node!agent-health!disable-host-service-checks' passed: Parent host 'prod-sg1-2.sg1.prod.node' matches state filter.
[2020-12-08 16:25:58 +0000] notice/Dependency: Dependency 'prod-sg1-2.sg1.prod.node!/!disable-host-service-checks' passed: Parent host 'prod-sg1-2.sg1.prod.node' matches state filter.
[2020-12-08 16:25:58 +0000] notice/Dependency: Dependency 'prod-sg1-2.sg1.prod.node!/!disable-service-notification' failed: Parent host 'prod-sg1-2.sg1.prod.node' is in a soft state.
[2020-12-08 16:25:58 +0000] notice/Dependency: Dependency 'prod-sg1-2.sg1.prod.node!/!disable-service-notification' passed: Parent host 'prod-sg1-2.sg1.prod.node' matches state filter.
[2020-12-08 16:25:58 +0000] notice/Dependency: Dependency 'prod-sg1-2.sg1.prod.node!/!agent-health-check' passed: Parent service 'prod-sg1-2.sg1.prod.node!agent-health' matches state filter.
[2020-12-08 16:25:58 +0000] notice/Dependency: Dependency 'prod-sg1-2.sg1.prod.node!agent-health!disable-service-notification' failed: Parent host 'prod-sg1-2.sg1.prod.node' is in a soft state.
[2020-12-08 16:25:58 +0000] notice/Dependency: Dependency 'prod-sg1-2.sg1.prod.node!agent-health!disable-service-notification' passed: Parent host 'prod-sg1-2.sg1.prod.node' matches state filter.
[2020-12-08 16:25:58 +0000] notice/Dependency: Dependency 'prod-sg1-2.sg1.prod.node!agent-health!disable-host-service-checks' passed: Parent host 'prod-sg1-2.sg1.prod.node' matches state filter.
[2020-12-08 16:25:58 +0000] notice/Dependency: Dependency 'prod-sg1-2.sg1.prod.node!/!disable-host-service-checks' passed: Parent host 'prod-sg1-2.sg1.prod.node' matches state filter.
[2020-12-08 16:25:58 +0000] notice/Dependency: Dependency 'prod-sg1-2.sg1.prod.node!/!disable-service-notification' failed: Parent host 'prod-sg1-2.sg1.prod.node' is in a soft state.
[2020-12-08 16:25:58 +0000] notice/Dependency: Dependency 'prod-sg1-2.sg1.prod.node!/!disable-service-notification' passed: Parent host 'prod-sg1-2.sg1.prod.node' matches state filter.
[2020-12-08 16:25:58 +0000] notice/Dependency: Dependency 'prod-sg1-2.sg1.prod.node!/!agent-health-check' passed: Parent service 'prod-sg1-2.sg1.prod.node!agent-health' matches state filter.

These logs are reported for all the hosts and I am worried if my icinga config is wrong or impact the current system in anyways.

Here is my dependency config:

#Disable checks when host is down
apply Dependency “disable-host-service-checks” to Service {
parent_host_name = host.name
states = [ Up ]
disable_checks = true
disable_notifications = true
assign where true
}

I am using icinga version - r2.12.0-1

I also happen to run a test on dependency and it doesn’t work.

I manually did process-check-result on host and made it down. Stopped one service on that host and icinga still did the check and made that service critical.

I’ve just seen this in my logs, where the host is definitely not in a soft state.
I wonder if it’s a recent bug …