icinga2/lib
Edgar Fuß cfef9fdadc Introduce redundancy groups for Dependency Objects
Traditional behaviour was to regard all dependecies as cumulative (e.g., the parent considered unreachable if any one dependency is violated), commit ed58922389 made all dependencies regarded redundant (e.g., the parent considered unreachable only if all dependency are violated). This may lead to unrelated services (or even hosts vs. services) inadvertantly regarded to be redundant to each other.

Most importantly, applying the explicit "disable-host-service-checks" dependency described in the "Monitoring Basics" chapter will defeat all other dependencies.

This commit introduces a new "redundancy_group" attribute for dependencies.
Specifying a redundancy_group causes a dependency to be regarded as redundant only inside that redundancy group.
Dependencies lacking a redundancy_group attribute are regarded as essential for the parent.

This allows for both cumulative and redundant dependencies and even a combination (cumulation of redundancies, like SSH depeding on both LDAP and DNS to function, while operating redundant LDAP servers as well as redundant DNS resolvers).

This commit lacks changes to the tests.
2023-02-21 16:23:36 +01:00
..
base Merge pull request #9675 from Icinga/third-party/nlohmann_json 2023-02-20 15:31:32 +01:00
checker CheckerComponent#CheckThreadProc(): also propagate next check update to Icinga DB 2023-02-01 16:25:56 +01:00
cli Forbid dependency cycles 2023-02-06 12:33:48 +01:00
compat Deduplicate and stabilize fragile filesystem transactions 2023-01-27 12:03:56 +01:00
config Merge pull request #9466 from Icinga/flush-temp-files 2023-02-02 16:29:11 +01:00
db_ido Centralise default icinga.* and env.* macros 2023-02-17 15:33:36 +01:00
db_ido_mysql CONTEXT: use << everywhere to unify usages 2022-11-30 11:06:51 +01:00
db_ido_pgsql CONTEXT: use << everywhere to unify usages 2022-11-30 11:06:51 +01:00
icinga Introduce redundancy groups for Dependency Objects 2023-02-21 16:23:36 +01:00
icingadb Centralise default icinga.* and env.* macros 2023-02-17 15:33:36 +01:00
livestatus Centralise default icinga.* and env.* macros 2023-02-17 15:33:36 +01:00
methods Centralise default icinga.* and env.* macros 2023-02-17 15:33:36 +01:00
mysql_shim IDO MySQL: explicitly use latin1 2022-03-31 15:04:45 +02:00
notification Merge pull request #9123 from Icinga/bugfix/icinga2-crashes-when-sending-notifications-8186 2022-01-19 11:48:40 +01:00
perfdata Merge pull request #8302 from Icinga/bugfix/windows-systemroot-aliases-6259 2023-02-20 13:09:15 +01:00
pgsql_shim Replace Copyright header with a short version, part II 2019-02-25 15:09:36 +01:00
remote Merge pull request #9466 from Icinga/flush-temp-files 2023-02-02 16:29:11 +01:00
CMakeLists.txt Rename ICINGA2_WITH_REDIS to ICINGA2_WITH_ICINGADB 2019-11-02 14:00:24 +01:00