Julian Brost
9d566e0138
Merge pull request #9328 from Icinga/bugfix/parallel-api-package-calls-do-not-finish-while-reload-213
...
Worker process doesn't let parallel API package stage updates to complete when terminated
2022-04-07 17:09:52 +02:00
Julian Brost
e30f48d46f
Merge pull request #9325 from Icinga/boost-1.78-2.13
...
Windows: bump Boost and OpenSSL
2022-04-07 17:06:32 +02:00
Julian Brost
340b803a8f
Merge pull request #9322 from Icinga/perfdata-resume-signal
...
Perfdata writers: disconnect handlers from signals in Pause()
2022-04-07 15:52:00 +02:00
Yonas Habteab
8037a2f384
ConfigStagesHandler: Don't allow concurrent package updates anymore
...
To prevent Icinga2 from being restarted while
one or more requests are still in progress and end up
as corrupted stages without status file and startup logs.
2022-04-07 11:58:04 +02:00
Yonas Habteab
668eb4bd0a
ConfigPackageUtility: Don't reset ongoing package updates on config validation success and process is going to be reloaded
2022-04-07 11:58:04 +02:00
Yonas Habteab
236a888c1b
Defer: Allow to cancel the callback before going out of scope
2022-04-07 11:58:04 +02:00
Alexander A. Klimov
37026e522d
Bump OpenSSL to 1.1.1n
2022-04-07 11:35:35 +02:00
Alexander A. Klimov
ec7fdfccc5
Bump Boost to 1.78
2022-04-07 11:35:35 +02:00
Alexander Aleksandrovič Klimov
4efd6b0f51
Merge pull request #9315 from Icinga/bugfix/influxdb-log-message-2.13
...
InfluxdbCommonWriter#Flush(): fix log message
2022-04-06 13:38:44 +02:00
Alexander A. Klimov
56933b8877
Perfdata writers: disconnect handlers from signals in Pause()
...
as they would be re-connected in Resume() (HA).
Before they were still connected during pause and connected X+1 times
after X split-brains (the same data was written X+1 times).
2022-04-06 13:09:26 +02:00
Julian Brost
24f2d8c9c2
Merge pull request #9312 from Icinga/9308
...
IDO MySQL: explicitly use latin1
2022-04-06 09:49:33 +02:00
Alexander Aleksandrovič Klimov
4fc6523b12
InfluxdbCommonWriter#Flush(): fix log message
...
s/InfluxdbWriter/Influxdb2Writer/
fixes #9035
2022-04-01 11:22:16 +02:00
Alexander A. Klimov
11b8d0f058
IDO MySQL: reason latin1 charset for actually UTF-8 bytes
2022-03-31 18:10:21 +02:00
Alexander A. Klimov
245fbad1e5
IDO MySQL: explicitly use latin1
...
for the case the MySQL client lib is compiled with another default
not to turn Unicode chars into ??.
2022-03-31 15:04:45 +02:00
Alexander Aleksandrovič Klimov
9293dea787
Merge pull request #9303 from Icinga/bugfix/icingadb-sticky-comments-2.13
...
Icinga DB: correct ack comments' is_sticky
2022-03-30 14:15:27 +02:00
Alexander Aleksandrovič Klimov
5e0ac8c457
Merge pull request #9306 from Icinga/bugfix/add-some-missing-locks-2.13
...
Add some missing locks to prevent data races
2022-03-30 10:53:38 +02:00
Alexander Aleksandrovič Klimov
4295da2f36
Merge pull request #9304 from Icinga/bugfix/systemd-servce-depend-on-redis-2.13
...
icinga2.service: depend on icingadb-redis.service if any
2022-03-30 10:50:55 +02:00
Alexander A. Klimov
df3be79194
Icinga DB: correct ack comments' is_sticky
...
On ack Icinga first adds a comment, then acks the checkable
so the ack event has the comment ID.
But due to the yet missing ack the comment was missing is_sticky.
That's corrected now.
2022-03-30 09:45:39 +02:00
Alexander A. Klimov
45b723644c
Introduce Comment#sticky
...
Carries whether ack was sticky for ack comments.
2022-03-30 09:45:39 +02:00
Alexander Aleksandrovič Klimov
5f1e0ee2aa
Merge pull request #9302 from Icinga/bugfix/icingadb-ignore-acks-in-comment-history-2.13
...
IcingaDB#SendRemovedComment(): ignore ack comments like #SendAddedCom…
2022-03-29 21:37:29 +02:00
Alexander Aleksandrovič Klimov
5a65190d02
Merge pull request #9301 from Icinga/bugfix/icingadb-remove-comment-history-2.13
...
Icinga DB: discard comment removals with missing information
2022-03-29 20:29:06 +02:00
Alexander Aleksandrovič Klimov
ab938c2ea9
Merge pull request #9300 from Icinga/bugfix/icingadb-array-locking-2.13
...
Add missing array locking in IcingaDB::GetArrayDeletedValues()
2022-03-29 19:14:24 +02:00
Yonas Habteab
36c75218e4
ConfigObject: Initialize local static var at declaration to ensure thread safety
2022-03-29 16:38:09 +02:00
Yonas Habteab
178eb928e6
ConfigItem: Use atomic variables for notified and commited items count
2022-03-29 16:38:09 +02:00
Alexander Aleksandrovič Klimov
a19a7508d4
icinga2.service: depend on icingadb-redis.service if any
...
to prevent its shutdown until we've written everything.
2022-03-29 16:26:41 +02:00
Alexander A. Klimov
8d3a847998
IcingaDB#SendRemovedComment(): ignore ack comments like #SendAddedComment()
...
Icinga DB doesn't expect comment history for ack comments.
Before:
1. Acked checkable recovers
2. Icinga clears ack comments w/o setting removal time
3. Icinga DB gets neither removal time, nor expire time
4. Icinga DB falls back to NULL and violates NOT NULL constraint
2022-03-29 16:16:06 +02:00
Julian Brost
41043f86a8
Icinga DB: discard comment removals with missing information
...
If comments get removed in unintended ways (i.e. not by expiring or by using
the remove-comment API action), the comment object misses information to create
a proper history event for Icinga DB. Therefor, discard these events.
2022-03-29 15:56:25 +02:00
Julian Brost
de8960feaa
Add missing array locking in IcingaDB::GetArrayDeletedValues()
...
icinga::Array requires locking by the caller when iterating using Begin() and
End(). This is only checked in debug builds but there it makes this function
fail.
2022-03-29 15:54:07 +02:00
Julian Brost
f67a5532dc
Merge pull request #9285 from Icinga/bugfix/suppressed-state-notifications-2.13
...
Checkable: send state notifications after suppression if and only if the state differs compared to before the suppression started
2022-03-29 15:16:04 +02:00
Julian Brost
332dcb8bec
Merge pull request #9271 from Icinga/feature/icingadb-redis-lost-history-memory-213
...
Icinga DB: keep history in memory until written to Redis
2022-03-29 13:57:48 +02:00
Julian Brost
3be1202eb3
Merge pull request #9290 from Icinga/bugfix/override-default-template-apply-rules-7914
...
Apply rules: import default templates first
2022-03-29 13:55:41 +02:00
Alexander A. Klimov
07cd15f48f
Apply rules: import default templates first
...
... to allow to override the attributes they set.
refs #7914
2022-03-24 14:04:58 +01:00
Julian Brost
6071d93981
Merge pull request #9269 from Icinga/feature/subscription-213
...
GHA: build RHEL and Amazon Linux
2022-03-22 15:09:54 +01:00
Julian Brost
ccb18a04ec
Checkable: Add test for state notifications after a suppression ends
2022-03-09 17:06:09 +01:00
Julian Brost
6303d8df09
Checkable: sync state_before_suppression in cluster
...
This ensures that in case of a failover in an HA zone, the other can take over
properly and has the required state to send the proper notifications.
2022-03-09 17:06:09 +01:00
Julian Brost
29fc3ad151
Checkable: improve state notifications after suppression ends
...
This commit changes the Checkable notification suppression logic (notifications
are currently suppressed on the Checkable if it is unreachable, in a downtime,
or acknowledged) to that after the suppression reason ends, a state
notification is sent if and only if the first hard state after is different
from the last hard state from before. If the checkable is in a soft state after
the suppression ends, the notification is further suppressed until a hard state
is reached.
To achieve this behavior, a new attribute state_before_suppression is added to
Checkable. This attribute is set to the last hard state the first time either a
PROBLEM or a RECOVERY notification is suppressed. Compared to from before,
neither of these two flags in the suppressed_notification will ever be cleared
while the supression is still ongoing but only after the suppression ended and
the current state is compared with the old state stored in
state_before_suppression.
2022-03-09 17:06:09 +01:00
Julian Brost
e09eaa3ad2
Merge pull request #9239 from Icinga/bugfix/adjust-behavior-of-service-get-severity
...
Service#GetSeverity(): behave as the respective IDO query of Icinga Web
2022-03-08 16:34:18 +01:00
Julian Brost
316dd110e2
Merge pull request #9237 from Icinga/bugfix/influxdb-writer-synchronization
...
Fix unsafe concurrent access to m_DataBuffer in InfluxdbCommonWriter
2022-03-08 16:25:14 +01:00
Julian Brost
dbe13e2f32
Merge pull request #9238 from Icinga/bugfix/timeperiod-dst-2.0
...
LegacyTimePeriod::ScriptFunc: fix DST edge-cases
2022-03-08 15:22:09 +01:00
Julian Brost
12293d999c
Merge pull request #9190 from Icinga/bugfix/sync-missing-history-information-213
...
Icinga DB: ensure consistent history streams in HA setup
2022-03-07 11:32:15 +01:00
Julian Brost
db84b834ca
Merge pull request #9214 from Icinga/feature/icingadb-add-previous_soft_state-to-host_state-and-service_state-9210-213
...
IcingaDB: Add previous_soft_state to host_state and service_state
2022-03-07 11:19:50 +01:00
Julian Brost
50ef32a0ad
Merge pull request #9228 from Icinga/bugfix/processcheckresult-dependency-deadlock-2.13
...
Prevent deadlock in ProcessCheckResult
2022-03-07 11:16:00 +01:00
Julian Brost
c6bac19da8
Merge pull request #9241 from Icinga/bugfix/icingadb-reachabilitychangehandler-9143
...
Icinga DB: ensure is_reachable and severity don't miss updates
2022-03-07 09:27:35 +01:00
Julian Brost
99e1b2efe2
Merge pull request #9240 from Icinga/bugfix/doc-allow-to-change-severity-formula-across-icinga2-releases
...
Doc: technical concepts: allow to change severity formula across Icin…
2022-03-07 09:23:36 +01:00
Julian Brost
c68ab0f3bc
Merge pull request #9242 from Icinga/bugfix/multi-ido-notification-id
...
IDO: fix incorrect contacts in notification history with multiple IDO instances on a single node
2022-03-07 09:22:27 +01:00
Alexander A. Klimov
a9c6161def
IcingaDB#Stop(): don't block shutdown, timeout instead
2022-03-03 09:57:03 +01:00
Alexander A. Klimov
f1a942681f
IcingaDB#Send*(): don't enqueue any history once stopped
2022-03-03 09:57:03 +01:00
Alexander A. Klimov
2ab52d5c59
RedisConnection#Connect(): wait for all promises to be completed
...
by the read loop from the previous connection.
2022-03-03 09:57:03 +01:00
Alexander A. Klimov
1d1e2b2888
Introduce IoEngine::YieldCurrentCoroutine()
2022-03-03 09:57:03 +01:00
Alexander A. Klimov
59dd3592c2
RedisConnection#ReadLoop(): don't crash (silently) if a promise to be set is already set
2022-03-03 09:57:03 +01:00