123 Commits

Author SHA1 Message Date
Mattia Codato
c5c17928a6 Allow to exec command on endpoint where the checkable is not present but checkable has command_endpoint specified 2023-04-13 14:44:07 +02:00
Mattia Codato
912fdb9700 Fix update execution message discarded
refs Icinga#8616
2023-03-02 17:50:39 +01:00
Noah Hilverling
07145d2e61
Merge pull request #8913 from Icinga/feature/remove-child-downtimes
API Action "remove-downtime": Also remove child downtimes
2021-07-27 18:02:15 +02:00
Noah Hilverling
7217959206 API Action 'remove-downtime': Also remove child downtimes 2021-07-23 13:53:44 +02:00
Michael Insel
da394b2ab0
Implement scheduling_source attribute (#6326)
* Implement scheduling_source attribute

This implements the attribute `scheduling_source` for hosts and services to show which endpoint is running the scheduler for the check.

refs #4814
2021-07-20 11:10:26 +02:00
Alexander Aleksandrovič Klimov
ef23ae5f3c
Merge pull request #8267 from efuss/passive_reach
Drop passive check results for unreachable hosts/services
2021-01-20 17:07:52 +01:00
Edgar Fuß
3c050fcc46 Drop passive check results for unreachable hosts/services
Disregard passive check results while no active checks are being scheduled due to violated dependencies.

This copes with the fact that programs feeding passive check results into Icinga may have no notion of reachability and so drive a checkable into HARD state although dependencies have caused active check scheduling being suspended. This may prevent superflous problem notifications being emitted during recovery.

As disable_checks defaults to false, it was regarded OK (by @Al2Klimov) to make this behaviour (which resembles the active check case) unconditional and not conditionalize it on an additional attribute.

In the description of disable_checks, note that a value of true both disables scheduling of active checks and drops passive check results.
2021-01-19 20:08:38 +01:00
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
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
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
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 A. Klimov
40ac05c182 Introduce Endpoint#capabilities
refs #8034
2020-10-19 13:04:20 +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
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
Mattia Codato
9c4a3aed1b Use ExecuteOverride to override the command 2020-07-31 17:28:33 +02:00
Mattia Codato
604b938ade Fix macros substitutions 2020-07-31 11:15:17 +02:00
Mattia Codato
a5698d5fde Check if last check result is null before executing the command 2020-07-31 08:53:10 +02:00
Mattia Codato
2e8b492f29 Implement notification execution 2020-07-21 13:27:03 +02:00
Mattia Codato
12da369ee1 Change check_command and event_command strings to CheckCommand and EventCommand 2020-07-14 17:23:03 +02:00
Mattia Codato
96c34528a0 Change command type 'notification_command' with 'NotificationCommand' 2020-07-14 12:01:12 +02:00
Mattia Codato
b6c84982f2 Uniform command_type strings 2020-07-10 16:51:13 +02:00
Mattia Codato
e8c8a7d9dd Refactor GetSingleObjectByNameUsingPermissions 2020-07-07 15:45:58 +02:00
Mattia Codato
c304b59990 Add GetSingleObjectByNameUsingPermissions function 2020-07-07 14:23:36 +02:00
Mattia Codato
704aa0f685 Change result 2020-07-06 17:30:18 +02:00
Mattia Codato
a33560548c Refactor MacroResolver::OverrideMacros 2020-07-03 15:53:51 +02:00
Mattia Codato
be2701bc8a Add overrideMacros property to MacroResolver 2020-07-03 15:13:51 +02:00
Mattia Codato
b07471d803 AuthenticatedApiUser name refactor 2020-07-03 11:17:36 +02:00
Mattia Codato
08c6e9bc42 Make authenticatedApiUser a static property of ActionsHandler 2020-07-03 11:00:40 +02:00
Mattia Codato
27a6fd6b40 Get API user from ActionsHandler 2020-07-03 10:16:23 +02:00
Mattia Codato
670835fd9a Get last CheckResult 2020-07-03 08:43:50 +02:00
Mattia Codato
41b379523e Fix indentation 2020-07-03 08:38:39 +02:00
Mattia Codato
6102cf0625 Call notificationCommand->Execute 2020-07-02 12:20:16 +02:00
Mattia Codato
f2e9aee158 Update execMacros 2020-07-02 10:31:24 +02:00
Mattia Codato
ee2f7bafdd Move some checks. Add macros parameters to ExecuteCommand message 2020-07-01 14:27:00 +02:00
Mattia Codato
edbd8688fb Update status code 2020-07-01 08:19:35 +02:00
Mattia Codato
cb32786880 Use RelayMessage to broadcast the updated executions 2020-06-30 17:50:08 +02:00
Mattia Codato
626080f610 Remove unnecessary check 2020-06-30 15:53:25 +02:00
Mattia Codato
15dac85583 Use HttpUtility::GetLastParameter to get endpoint 2020-06-30 15:51:15 +02:00
Mattia Codato
8f3617d074 Fix response strings 2020-06-30 15:48:29 +02:00
Mattia Codato
5c06256ac5 Use dynamic_pointer_cast 2020-06-30 15:41:47 +02:00
Mattia Codato
94be948ff6 Unify how to take macros parameter 2020-06-30 13:51:42 +02:00
Mattia Codato
22dc2f2393 Use SyncSendMessage for remote endpoint and call ExecuteCommandAPIHandler for local endpoint 2020-06-30 13:43:00 +02:00
Mattia Codato
7077605880 Use the right method to get the notification command 2020-06-29 13:55:20 +02:00
Mattia Codato
3f1b51b355 Use RelayMessage instead of SyncSendMessage 2020-06-29 09:28:02 +02:00