1461 Commits

Author SHA1 Message Date
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