1452 Commits

Author SHA1 Message Date
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
Alexander A. Klimov
da6a9174d1 Checkable#ClearAcknowledgement(): OnAcknowledgementCleared() at most once 2019-12-05 11:54:33 +01:00
Alexander A. Klimov
798ea54173 Refuse acking an already acked checkable 2019-12-05 11:08:16 +01:00
Noah Hilverling
71ef1de964
Merge pull request #7667 from Icinga/feature/icingadb-acks-history
IcingaDB: populate icinga:history:stream:acknowledgement
2019-12-05 09:20:36 +01:00
Alexander A. Klimov
798c56b809 IcingaDB: update service state on Host#problem change
refs #7673
2019-12-03 17:37:51 +01:00
Alexander A. Klimov
ea5403a55c Extend Checkable::OnAcknowledgementCleared by removedBy 2019-12-03 17:00:54 +01:00
Alexander A. Klimov
1931501040 Checkable#GetProblem(): consider PENDING not a problem 2019-12-03 16:56:43 +01:00
Noah Hilverling
ed1cede0a7
Merge pull request #7646 from Icinga/feature/remove-comment-author
/v1/actions/remove-comment: let users specify themselves
2019-11-26 16:07:09 +01:00
Noah Hilverling
6508e880b4
Merge pull request #7655 from Icinga/bugfix/commenttype
CommentType: remove unused variants
2019-11-26 15:47:45 +01:00
Alexander A. Klimov
dcfc494d4d CommentType: remove unused variants 2019-11-26 11:29:04 +01:00