1776 Commits

Author SHA1 Message Date
Alexander Aleksandrovič Klimov
cbd0d6ea6e
Merge pull request #8588 from Icinga/bugfix/concurrent-schedule-downtime-delete-host
Fix null pointer dereferences when deleting objects while scheduling downtimes
2021-01-19 13:51:08 +01:00
Julian Brost
88e5744d54 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-01-15 16:34:48 +01:00
Alexander Aleksandrovič Klimov
c549a6657e
Merge pull request #8562 from Icinga/bugfix/fix-no-renotification-for-non-ok-state-changes-8545
Fix no re-notification for non OK state changes with time delay
2021-01-14 17:49:29 +01:00
Alexander Aleksandrovič Klimov
70b438a2bf
Merge pull request #8104 from Icinga/bugfix/remove-downtime-returns-wrong-status-7408
API: Display a correct status when removing a downtime
2021-01-14 17:49:00 +01:00
Yonas Habteab
997ad86225 Fix no re-notification for non OK state changes with time delay 2021-01-14 11:54:25 +01:00
Julian Brost
f12666c166
Merge pull request #8157 from Icinga/bugfix/temporary-files-5124
Clean up temp files
2021-01-13 15:45:29 +01:00
Alexander A. Klimov
450b2117d2 Add ".tmp" to state and modified attributes temp files
refs #5124
2021-01-12 17:35:29 +01:00
Alexander A. Klimov
18c2dae941 Clean up temp files
refs #5124
2021-01-12 17:35:29 +01:00
Julian Brost
aea06a27dc 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-01-12 17:19:29 +01:00
Yonas Habteab
756abbb2ff ApiEvents: Implement new API event streams response 2021-01-11 14:59:48 +01:00
Julian Brost
0276c0b052 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-01-08 11:12:15 +01:00
Alexander A. Klimov
f311dfb775 Apply rules: import default templates first
... to allow to override the attributes they set.

refs #7914
2020-12-14 18:15:18 +01:00
Alexander A. Klimov
5547488cd5 Introduce Checkable#NotificationReasonSuppressed()
refs #8509
2020-12-14 13:27:58 +01:00
Alexander Aleksandrovič Klimov
915a3c3001
Merge pull request #8436 from Icinga/bugfix/children-recover-too-late
On recovery: re-check children
2020-12-11 15:41:31 +01:00
Yonas Habteab
dd02e3b6d8 API: Display a correct status code when removing a scheduled downtime 2020-12-07 13:19:41 +01:00
Julian Brost
f2a532de32
Merge pull request #8035 from Icinga/feature/expiry-date-comments-4663
/v1/actions/add-comment: add param expiry
2020-12-04 15:48:50 +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
Alexander Aleksandrovič Klimov
bee4ac7f7c
Merge pull request #8040 from Icinga/feature/v1-actions-execute-command-8034
Add API endpoint: /v1/actions/execute-command
2020-12-02 10:53:24 +01:00
Alexander A. Klimov
5cfac1f643 Fix function and variable names
refs #8034
2020-11-23 16:43:47 +01:00
Alexander A. Klimov
0ad1ab20aa Fix code style
refs #8034
2020-11-23 16:39:24 +01:00
Alexander Aleksandrovič Klimov
4f6fecc74c
Merge pull request #8101 from Icinga/bugfix/timestamps-checkresult-differ-across-nodes-8092
State timestamps set by the same check result differ across nodes
2020-10-30 17:24:15 +01:00
Alexander Aleksandrovič Klimov
3fa1eab344
Merge pull request #7736 from froehl/7735
API-Event StateChange & CheckResult: Added acknowledgement and downtime_depth…
2020-10-29 13:41:52 +01:00
Alexander A. Klimov
bb851b0558 Merge branch 'master' into feature/v1-actions-execute-command-8034 2020-10-28 18:37:08 +01:00
Alexander A. Klimov
40ac05c182 Introduce Endpoint#capabilities
refs #8034
2020-10-19 13:04:20 +02:00
Alexander A. Klimov
9e29936b8f Fix missing include
refs #8034
2020-10-19 13:04:20 +02:00
Alexander Aleksandrovič Klimov
9dd197d0af
Merge pull request #8165 from Icinga/bugfix/service-get-severity-deadlock-8160
ProcessCheckResult(): Make sure hosts aren't locked during Service::GetSeverity()
2020-10-16 10:41:23 +02:00
Alexander Aleksandrovič Klimov
be8dd201eb
Merge pull request #8229 from Icinga/bugfix/downtime-checkable-getname
Check !!downtime->GetCheckable() before downtime->GetCheckable()->GetName()
2020-10-16 10:39:57 +02:00
Fabian Röhl
ca487ed732 #7735 API-Event StateChange & CheckResult: Added acknowledgement and downtime_depth 2020-09-18 08:20:29 +02:00
Alexander A. Klimov
fe4a44096a Merge branch 'feature/v1-actions-execute-command-8034-deadline-timer' into feature/v1-actions-execute-command-8034
refs #8034
2020-09-15 18:14:01 +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
Mattia Codato
6801419bd6 Add newline ad the end of file 2020-08-26 16:41:02 +02:00
Mattia Codato
19628252f8 Add timer to clean deadlined executions 2020-08-26 15:48:04 +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
Mattia Codato
df2b82f7fe Remove an useless check 2020-08-05 16:14:57 +02:00
Mattia Codato
7474ab6de5 Set exit code 126 if endpoint doens't support the new executeCommand API 2020-08-05 15:53:34 +02:00
Mattia Codato
7c004af6be Check child endpoint versions and check child zone can access to the target endpoint 2020-08-05 14:08:54 +02:00
Mattia Codato
a90068cc78 Check satellites Icinga version before relay the execute command message 2020-08-05 10:01:29 +02:00
mcodato
730075a177
Merge pull request #1 from Al2Klimov/version
Introduce Endpoint#icinga_version
2020-08-05 09:23:28 +02:00
Mattia Codato
ac71cc67f8 Use local zone for update executions 2020-08-04 16:09:21 +02:00
Mattia Codato
c6c1849106 Change checkable with the endpoint zone for execute command relay message 2020-08-04 14:32:36 +02:00
Mattia Codato
951388797a Forward the execute command through the zones 2020-08-03 21:09:57 +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
Mattia Codato
9c4a3aed1b Use ExecuteOverride to override the command 2020-07-31 17:28:33 +02:00
Mattia Codato
cf1430c409 Fix update execution 2020-07-31 14:07:48 +02:00
Mattia Codato
604b938ade Fix macros substitutions 2020-07-31 11:15:17 +02:00
Mattia Codato
44fc841ee1 Notify to all nodes that execution has completed 2020-07-31 10:42:01 +02:00
Mattia Codato
a5698d5fde Check if last check result is null before executing the command 2020-07-31 08:53:10 +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