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 e4bdcedbca
.
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
Mattia Codato
75e0e164e4
Fix indentation
2020-07-29 09:54:18 +02:00
Mattia Codato
064d5e9194
Keep consistency with other methods in case of missing API listener
2020-07-29 08:57:22 +02:00
Mattia Codato
edb5c47a9d
Execute notification command only if there is a source param
2020-07-29 08:52:15 +02:00
Mattia Codato
a834b5cecd
Remove unused key in the execution
2020-07-29 08:46:09 +02:00
Mattia Codato
2cda17a99b
Remove pending key when the execution is completed
2020-07-29 08:45:19 +02:00
Mattia Codato
5a4fa69650
Fix logs
2020-07-29 08:43:30 +02:00
Mattia Codato
1e59810ddd
Fix indentation
2020-07-29 08:38:49 +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
Mattia Codato
bf07ada3df
Remove arguments from 'throw' inc case of ExecuteEventHandler error
2020-07-23 13:34:26 +02:00
Mattia Codato
aadedc0d1c
Throw an exception in case of error during ExecuteEventHandler if source is not set
2020-07-23 13:23:13 +02:00
Mattia Codato
53659066f2
Remove unuseful variables
2020-07-23 13:20:31 +02:00
Mattia Codato
b30960fda5
Add try catch for ExecuteEventHandler
2020-07-23 13:03:30 +02:00
Mattia Codato
14c02ec654
Remove unuseful check result for notification command
2020-07-23 12:58:50 +02:00
Mattia Codato
9940aaf90c
Refactor SendEventExecuteCommand function
2020-07-23 11:31:44 +02:00
Mattia Codato
6656afb259
Code refactoring: create sendEventExecuteCommand function
2020-07-23 08:26:31 +02:00
Mattia Codato
e690eaf3c4
Run ExecutedCommandAPIHandler in case of command not found and if source is set
2020-07-22 17:22:50 +02:00
Mattia Codato
4e3a38f320
Unify code to check if command exists
2020-07-22 14:16:41 +02:00
Mattia Codato
b4d6fe2c8d
Check if the node accept commands only if the origin is not local
2020-07-21 16:33:52 +02:00
Mattia Codato
05b1beb2ff
Send event::ExecutedCommand where necessary
2020-07-21 15:51:57 +02:00
Mattia Codato
2e8b492f29
Implement notification execution
2020-07-21 13:27:03 +02:00
Mattia Codato
acc986afd0
Remove extra char
2020-07-20 13:15:12 +02:00
Mattia Codato
c6d4a9ac47
Get checakble name from params
2020-07-20 12:46:22 +02:00
Mattia Codato
f59c60f85f
Send error as command execution result
2020-07-20 08:18:53 +02:00
Mattia Codato
461b4e2176
Do CurrentConcurrentChecks and DecreasePendingChecks only for check_command
2020-07-16 16:52:48 +02:00
Mattia Codato
d4fb5a0656
Remove unuseful check
2020-07-16 16:41:47 +02:00
Mattia Codato
50f803c042
Return the process result parameters instead of the check result
2020-07-15 18:40:37 +02:00
Mattia Codato
4255fd9494
Get host by Deserialize
2020-07-15 13:50:49 +02:00
Mattia Codato
300bc89cb6
Handle when listener doesn't accept commands
2020-07-15 08:53:28 +02:00
Mattia Codato
3f490ac0e2
Set the right prams to send to ExecutedCommand
2020-07-15 08:37:28 +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
26685a9360
Remove unuseful variable. Fix log
2020-07-14 11:57:12 +02:00
Mattia Codato
59dfe6ad41
Fix log
2020-07-14 11:23:39 +02:00
Mattia Codato
2db7b10ff0
Defer ExecuteCommandProcessFinishedHandler
2020-07-13 17:49:38 +02:00
Mattia Codato
134a43d48a
Improve logs
2020-07-13 17:06:08 +02:00
Mattia Codato
a3027d7177
Fix ExecuteCommandProcessFinishedHandler parameters
2020-07-13 16:54:37 +02:00
Mattia Codato
b9510e72dd
Check deadline
2020-07-13 10:20:23 +02:00
Mattia Codato
3414acbec1
Remove unuseful parameter from ExecuteRemoteCheck
2020-07-13 10:14:30 +02:00
Mattia Codato
6bad8bbc0f
Replace executeactiontask with a lambda function
2020-07-13 09:47:19 +02:00
Mattia Codato
fa4aebbfd2
Set CheckResult to execeution
2020-07-10 16:56:35 +02:00
Mattia Codato
15159b1632
Add ExecuteCommandProcessFinishedHandler and checkable param to ExecuteRemoteCheck
2020-07-10 16:56:07 +02:00
Mattia Codato
b6c84982f2
Uniform command_type strings
2020-07-10 16:51:13 +02:00
Mattia Codato
39479b666f
Implement ClusterEvents::ExecutedCommandAPIHandler
2020-07-10 11:21:13 +02:00
Mattia Codato
93711542a7
Get UUID from params
2020-07-10 10:05:38 +02:00
Yonas Habteab
3ecaf1e4a4
Use executionEnd instead of GetTime()
2020-07-09 10:44:38 +02:00
Alexander A. Klimov
bbe0f2d8c4
mkclass: make .ti class members atomic if possible
...
... not to have to lock the objects while setting attributes.
2020-07-07 18:24:06 +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
33926ba983
Check if executions are not null
2020-07-06 16:21:05 +02:00
Mattia Codato
6a5deaf7d4
Fix update executions. Fix code indentation
2020-07-03 16:36:58 +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
e4e0115c9d
Get local endpoint if FromClient is not set and origin is local
2020-06-30 13:47:13 +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
Mattia Codato
da82c17891
Call Endpoint::GetByName only once
2020-06-26 16:38:40 +02:00
Mattia Codato
50693d7ea9
Add newline at the end of file
2020-06-26 16:36:57 +02:00
Mattia Codato
fd761397ac
Unify result status strings
2020-06-26 15:39:42 +02:00
Mattia Codato
899076c77b
Code format
2020-06-26 14:29:03 +02:00
Mattia Codato
35bb329a59
Implement ClusterEvents::UpdateExecutionsAPIHandler
2020-06-26 12:33:44 +02:00
Mattia Codato
82444a59e2
Fix resolve macros. Check if endpoint is local or remote
2020-06-26 12:32:12 +02:00
Mattia Codato
714e75bbd1
Remove wait parameter, ttl is required, remove unnecessary checks
2020-06-26 09:33:23 +02:00
Benjamin Groeber
e9b6c68fd5
Use tabs instead of spaces
2020-06-23 11:44:26 +02:00
Benjamin Groeber
2bb6f9d38d
Fix formatting of long fn
2020-06-23 11:41:49 +02:00
Benjamin Groeber
159e3d2945
Remove superfluous else clause
2020-06-23 11:41:15 +02:00
Andrea Avancini
823fe34d24
Parameter evaluation, macro resolution, update executions, send ExecuteCommand message for ExecuteCommand Endpoint
2020-06-18 15:27:31 +02:00
Alexander A. Klimov
11c6c11076
Add Checkable#last_check_started
...
refs #7888
2020-06-09 12:03:02 +02:00
Alexander A. Klimov
9cb3779ec2
Add stub for event::UpdateExecutions
...
refs #8034
2020-06-02 17:16:30 +02:00
Alexander A. Klimov
120440b84f
Introduce Checkable#executions
...
refs #8034
2020-06-02 17:09:13 +02:00
Alexander A. Klimov
d6fad3232b
Introduce Checkable#pending_executions
...
refs #8034
2020-06-02 16:59:42 +02:00
Alexander A. Klimov
fc220bac69
Add stub for event::ExecutedCommand
...
refs #8034
2020-06-02 13:44:15 +02:00
Alexander A. Klimov
3f07dd6cae
Add stub for event::ExecuteCommand w/ source
...
refs #8034
2020-06-02 11:52:58 +02:00
Alexander A. Klimov
752df8ea28
Add stub for /v1/actions/execute-command
...
refs #8034
2020-06-02 11:43:32 +02:00
Alexander A. Klimov
5b7f7344df
/v1/actions/add-comment: add param expiry
...
refs #4663
2020-05-27 11:41:22 +02:00
Alexander A. Klimov
c4a8afbe5f
Icinga DB: record ack expiries
...
refs #8012
2020-05-15 12:02:51 +02:00
Alexander A. Klimov
127961b727
PluginUtility::ParseCheckOutput(): if it doesn't look like perfdata, it's not perfdata
...
refs #8006
2020-05-14 10:53:13 +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 9621fd2e4b
.
2020-01-07 14:26:09 +01:00
Michael Friedrich
3605076f8b
Revert "Add OnNewNotificationResult signal and ProcessNotificationResult handler"
...
This reverts commit ac483f2a8a
.
2020-01-07 14:26:07 +01:00