Julian Brost
4a1e6528ea
Merge pull request #8889 from Icinga/bugfix/trigger-fixed-downtimes-immediately-212
...
Downtime#Start(): trigger fixed downtimes immediately instead of waiting for the timer
2021-07-08 15:33:11 +02:00
Alexander Aleksandrovič Klimov
088860474c
Merge pull request #8877 from Icinga/bugfix/fixed-dt-end-notify-212
...
Checkable::NotifyDowntimeEnd(): don't send Downtime end notification unless triggered
2021-07-07 23:55:17 +02:00
Alexander A. Klimov
0cca93543c
Checkable::NotifyDowntimeEnd(): don't send Downtime end notification unless triggered
...
... for fixed Downtimes as well.
2021-07-07 15:42:20 +02:00
Alexander A. Klimov
2bcd249efb
On ScheduledDowntime change: remove future downtimes created before change
...
refs #8309
2021-07-07 15:42:18 +02:00
Alexander A. Klimov
c7ad5f6e2e
On ScheduledDowntime change: ignore downtimes created before change
...
... while creating new downtimes.
refs #8309
2021-07-07 15:42:18 +02:00
Alexander A. Klimov
2dcba12765
Introduce Downtime#config_owner_hash
...
refs #8309
2021-07-07 15:42:18 +02:00
Alexander A. Klimov
c203716ff3
ScheduledDowntime: ignore not related Downtimes while creating Downtimes
2021-07-07 15:42:18 +02:00
Alexander A. Klimov
13d3d18a7f
Downtime#Start(): trigger fixed downtimes immediately instead of waiting for the timer
...
... not to cause e.g. notifications if a problem occurs
between the downtime start time and the timer routine.
2021-07-07 15:31:46 +02:00
Noah Hilverling
7e0eab3767
ScheduledDowntime::TimerProc(): Catch exceptions to make sure other downtimes are still created
2021-07-06 12:27:16 +02:00
Alexander Aleksandrovič Klimov
8f0b7910b9
Merge pull request #8775 from Icinga/bugfix/problem-notification-at-downtime-end-2.12
...
Send problem notifications after downtime end for checkables in child zones (2.12)
2021-05-26 11:04:56 +02:00
Alexander Aleksandrovič Klimov
bb4356cc83
Merge pull request #8782 from Icinga/bugfix/concurent-notification-send-and-delete-2.12
...
Fix crash when notifications are sent while the notification object is deleted (2.12)
2021-05-26 11:01:55 +02:00
Julian Brost
35c9c656a0
AddDowntime: return Downtime::Ptr instead of String containing the name
...
At numerous places in the code, something like this is performed:
String name = Downtime::AddDowntime(...);
Downtime::Ptr downtime = Downtime::GetByName(name);
However, `downtime` can be a `nullptr` after this as it is possible that
the downtime is deleted in between.
This commit changes the return type of `Downtime::AddDowntime` to return
a Downtime::Ptr instead of the full name of the downtime. `AddDowntime`
performs the very same `GetByName()` operation internally, but handles
the `nullptr` case correctly and throws an exception.
2021-05-25 15:59:55 +02:00
Julian Brost
0cef85cf83
Properly handle service downtime referencing a deleted host
...
Only two out of three cases were handled properly by the code: host
downtimes referencing a deleted host and service downtimes referencing a
deleted service worked fine. However, if a service downtime references a
deleted host, `Host::GetByName()` returns `nullptr` which isn't
accounted for. Use `Service::GetByNamePair()` instead as this performs a
check for the host being null internally.
2021-05-25 15:59:55 +02:00
Julian Brost
30b7a1e65b
Use reference-counted pointer in notification callback
...
`this` could be deleted after `Notification::BeginExecuteNotification`
exited and before `Notification::ExecuteNotificationHelper` finished.
This is fixed by constructing a `Notification::Ptr` and operate on that
one as it is properly reference-counted.
2021-05-25 15:59:29 +02:00
Julian Brost
ddafaa0add
Only handle event::SetSuppressed{Notifications,NotificationTypes} within the local zone
...
Note that even when passing `nullptr` as target zone to `RelayMessage()`, the
cluster message will still be sent to the parent zone. These incoming messages
will now be rejected by the parent nodes. At the moment, there's no way to only
send within the local zone.
2021-05-25 15:58:17 +02:00
Alexander Aleksandrovič Klimov
2ed72c0947
Merge pull request #8506 from Icinga/bugfix/children-recover-too-late
...
On recovery: re-check children
2020-12-11 15:41:49 +01:00
Alexander A. Klimov
854939a8ce
On recovery: re-check children
2020-12-02 12:24:40 +01:00
Alexander A. Klimov
668bf06424
Don't fire suppressed notifications if last parent recovery >= last check result
2020-12-02 12:03:19 +01:00
Noah Hilverling
7a7726c20f
Merge pull request #8174 from Icinga/bugfix/7567
...
Revert "MacroProcessor::ResolveArguments(): skip null argument values"
2020-09-21 13:59:10 +02:00
Noah Hilverling
cde3db70d1
Merge pull request #8228 from Icinga/bugfix/downtime-checkable-getname
...
Check !!downtime->GetCheckable() before downtime->GetCheckable()->GetName()
2020-09-14 09:38:28 +02:00
Alexander A. Klimov
8b0ba2275a
Check !!downtime->GetCheckable() before downtime->GetCheckable()->GetName()
...
... not to crash while removing a downtime from a disappeared checkable.
2020-09-11 14:47:46 +02:00
Alexander A. Klimov
ade891bbf5
Revert "MacroProcessor::ResolveArguments(): skip null argument values"
...
This reverts commit e4bdcedbca069cb9d42c40ce6ce8054ed3ee1b58.
2020-08-13 10:39:55 +02:00
Noah Hilverling
ddf1e50d93
ProcessCheckResult(): Make sure hosts aren't locked during Service::GetSeverity()
2020-08-11 15:24:54 +02:00
Eric Lippmann
e8745f7e96
Merge pull request #7816 from Icinga/feature/notification-timeperiod-6167
...
Re-send notifications previously suppressed by their time periods
2020-08-03 10:04:27 +02:00
Alexander A. Klimov
c515822649
Re-send notifications previously suppressed by their time periods
...
refs #6167
2020-07-29 17:13:41 +02:00
Alexander A. Klimov
37c2c7ba90
Checkable#Start(): if #last_check_started > last check, set #next_check to #last_check_started
...
refs #7888
2020-07-28 11:54:13 +02:00
Alexander A. Klimov
4585a404d6
Checkable#ExecuteCheck(): set #last_check_started to now before #UpdateNextCheck()
...
refs #7888
2020-07-28 11:54:13 +02:00
Alexander A. Klimov
9dc297987e
Sync Checkable#last_check_started
...
refs #7888
2020-07-28 11:54:13 +02:00
Alexander A. Klimov
11c6c11076
Add Checkable#last_check_started
...
refs #7888
2020-06-09 12:03:02 +02:00
Alexander A. Klimov
c4a8afbe5f
Icinga DB: record ack expiries
...
refs #8012
2020-05-15 12:02:51 +02:00
Noah Hilverling
4c9e4959f3
Merge pull request #7823 from Icinga/bugfix/unify-application-start-times
...
Fix timing point for Application::GetStartTime() (related to command endpoint grace period)
2020-03-09 09:45:57 +01:00
Alexander A. Klimov
aa258685be
Checkable#next_update: always use #check_interval if !#enable_active_checks
2020-03-06 10:03:56 +01:00
Alexander A. Klimov
0e24462064
Fire Checkable::OnFlappingChange only if flapping is enabled
...
refs #7885
2020-03-04 14:58:32 +01:00
Noah Hilverling
8f061ae80e
Fix OnHostProblemChanged signal
2020-03-04 10:55:07 +01:00
Michael Friedrich
8e62fc8efb
Fix 'check_timeout' not being forwarded to agent command endpoints
...
fixes #6992
2020-02-27 11:46:52 +01:00
Michael Friedrich
d53eb34520
Unify Application::GetStartTime() and drop GetMainTime()
...
This essentially moves the start time into the scope when main
starts to "do something", after the reload and configuration handling
is done.
2020-02-11 17:26:15 +01:00
Michael Friedrich
ae8a0b6a64
Introduce Application::GetUptime()
2020-02-11 16:47:50 +01:00
Michael Friedrich
3a4fb840d4
Tests: Add multi parent dependency test case
2020-02-11 15:13:25 +01:00
Michael Friedrich
9b0365ab43
Fix logical error with zero dependencies in IsReachable()
2020-02-11 15:13:25 +01:00
Henrik Triem
d0c0beb8be
Change behaviour of multiple dependencies (all failed = unreachable)
2020-02-11 15:13:25 +01:00
Michael Friedrich
f961370e36
ApiEvents: Fix AcknowledgementCleared code quality
2020-02-06 13:03:04 +01:00
Alexander A. Klimov
86bbb79869
Checkable#next_update: ignore re-scheduled #next_check if !#enable_active_checks
...
refs #7790
2020-01-31 11:49:47 +01:00
Michael Friedrich
7e1e8b3393
Revert "Add NotificationResult class"
...
This reverts commit 9621fd2e4bc337befb46a4c885d80ccfce95f5ab.
2020-01-07 14:26:09 +01:00
Michael Friedrich
3605076f8b
Revert "Add OnNewNotificationResult signal and ProcessNotificationResult handler"
...
This reverts commit ac483f2a8a07e4962068408d18b10a17204b6454.
2020-01-07 14:26:07 +01:00
Michael Friedrich
152709071d
Revert "Implement last_notification_result handling for Notification objects"
...
This reverts commit 1706b297a50aceafdbbfe8ed8d46c8d01c114464.
2020-01-07 14:21:06 +01:00
Michael Friedrich
d242b41704
Revert "Make NotificationResult available for events: Cluster and Features"
...
This reverts commit 566e59bbfa385ec1a023c32a1feb895791950032.
2020-01-07 14:20:59 +01:00
Michael Friedrich
55e13fd001
Revert "Fix license headers"
...
This reverts commit 48b3d25ce2ea9c6b48115f4bed2f9ac90a748c70.
2020-01-07 14:20:45 +01:00
Alexander A. Klimov
4f68cfd299
IcingaDB: include consistent IDs, start time and end time in icinga:history:stream:{flapping,acknowledgement}
...
refs #7689
2019-12-10 10:44:26 +01:00
Alexander A. Klimov
829d07aefe
Introduce Checkable#acknowledgement_last_change
...
refs #7689
2019-12-10 10:44:23 +01:00
Alexander A. Klimov
98ba1c03d0
Make Checkable#flapping_last_change consistent across nodes
...
refs #7689
2019-12-10 10:11:24 +01:00