Icinga / Icinga/icinga2

Implicit `host` -> `service` dependency doesn't mark service as unreachable

Open
#10,472 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/checks area/icingadb
Dominant language
C++
Stars
2.2k
Forks
616
Avg merge
5d 6h
Merged PRs (30d)
10

Description

Describe the bug

If a service has only an implicit dependency to its host, i.e. it does not explicitly depend on any other objects, it will always be marked as reachable, even though its host is not reachable.

Image

The implicit dependency check logic here accounts only for the host state and does not consider its reachability.

https://github.com/Icinga/icinga2/blob/b27310fb6cc6af56433f52543d146b8186f9d99d/lib/icinga/checkable-dependency.cpp#L200-L206

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in lib/icinga/checkable-dependency.cpp around lines 200-206, where the implicit host-to-service dependency is checked. Trace how host state and reachability are evaluated, then verify that a service whose host is unreachable is marked unreachable even without explicit dependencies.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
observability-sre
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.