Julian Brost
e11b4b7b55
Print details in uncaught SEH exception handler
2021-03-01 14:05:27 +01:00
Julian Brost
68e4b807d1
Move error message and time to the beginning of the SEH crash log
...
This is more similar to the normal exception crashlog which also states
the problem and time at the beginning of the file.
2021-03-01 14:05:27 +01:00
Julian Brost
0db59bad83
Use boost::stacktrace instead of custom implementation in Windows SEH filter
2021-03-01 14:05:27 +01:00
Julian Brost
f8b7a1511b
Run termination handler for uncaught C++ exceptions on Windows
...
On Windows, the termination handler is executed for uncaught C++
exceptions unless a SEH unhandled exception filter is also set. In this
case, this filter has to explicitly chain the default filter to keep
this behavior.
2021-03-01 14:05:27 +01:00
Alexander A. Klimov
1c5f69683f
l_AppVersionInt: respect versions like r2.12.0, not just v2.12.0
...
refs #8628
2021-02-25 15:31:07 +01:00
Alexander A. Klimov
ed57d31400
Icinga DB: HMSET the same fields only once
2021-02-24 13:37:36 +01:00
Alexander A. Klimov
d4a91ec50d
Icinga DB: don't write all types
2021-02-17 12:41:45 +01:00
Alexander A. Klimov
e0c13401f7
Ido*sqlConnection#InternalDeactivateObject(): mark object inactive also in memory
...
Previously:
1. You delete an object from a config file
2. You reload Icinga
3. Icinga fetches all objects and whether they're active from the IDO
4. Icinga recognizes that the just deleted object doesn't exist anymore
5. Icinga marks it as inactive in the IDO, but not in memory
6. You re-create the just deleted object via API
7. Icinga still thinks it's active and doesn't activate it - it's invisible
refs #8584
2021-02-08 16:57:15 +01:00
Alexander Aleksandrovič Klimov
aa4f53009e
Merge pull request #8614 from Icinga/bugfix/runworker-exceptions
...
Improve handling of exceptions thrown by RunWorker
2021-02-08 16:22:35 +01:00
Julian Brost
54a8c7b434
Try to log useful information for exceptions thrown by RunWorker
2021-02-05 15:43:27 +01:00
Julian Brost
ddbad7937d
Merge pull request #8622 from Icinga/bugfix/dependency-ti-typo-8180
...
dependency.ti: fix typo
2021-02-05 11:49:03 +01:00
Alexander A. Klimov
ebfa73388f
dependency.ti: fix typo
...
refs #8180
2021-02-04 18:29:54 +01:00
Alexander Aleksandrovič Klimov
aa0baf6f69
Merge pull request #8099 from Icinga/feature/std-mutex
...
Use std::mutex, not boost::mutex
2021-02-04 10:19:04 +01:00
Alexander A. Klimov
9154aa17eb
Fix missing include
2021-02-03 09:54:57 +01:00
Alexander A. Klimov
c3388e9af6
Use std::mutex, not boost::mutex
2021-02-03 09:54:57 +01:00
Alexander Aleksandrovič Klimov
dbdfe189c0
Merge pull request #7092 from Icinga/bugfix/command-escape-windows-4849
...
Fix Windows command escape for \"
2021-02-01 11:20:44 +01:00
Alexander Aleksandrovič Klimov
32cae11175
Merge pull request #8613 from Icinga/bugfix/ido-built-in-checkcommand-overrides-crit-with-warn-state
...
IdoCheckTask: Don't override checkable critical with warn state
2021-01-28 14:26:10 +01:00
Alexander Aleksandrovič Klimov
ca52366a61
Merge pull request #8602 from Icinga/bugfix/icingadb-activation-priority
...
Delay start of IcingaDB until most config objects are activated
2021-01-28 10:01:37 +01:00
Alexander Aleksandrovič Klimov
9a867c2c25
Merge pull request #8513 from Icinga/bugfix/notifications-downtime-change-in-timeperiod-8509
...
FireSuppressedNotifications(const Notification::Ptr&): don't send notifications while suppressed by checkable
2021-01-28 10:01:23 +01:00
Julian Brost
d7833a5977
Catch exceptions thrown by RunWorker on Windows
...
The same is already done on other platforms in line 529.
2021-01-27 15:48:28 +01:00
Alexander Aleksandrovič Klimov
8d1e958275
Make code doc more readable
...
Co-authored-by: Julian Brost <julian.brost@icinga.com>
2021-01-27 15:43:37 +01:00
Yonas Habteab
3e5dfa9607
IdoCheckTask: Don't override checkable critical with warn state
2021-01-27 13:27:14 +01:00
Julian Brost
9219f68c83
Merge pull request #8158 from Icinga/bugfix/check-source-passive-7948
...
Checkable#ProcessCheckResult(): don't overwrite check source
2021-01-26 10:49:55 +01:00
Alexander A. Klimov
c3eba7e88d
Checkable#ProcessCheckResult(): don't overwrite check source
...
... set by passive check results.
refs #7948
2021-01-25 16:05:03 +01:00
Alexander Aleksandrovič Klimov
91ffa89dad
Merge pull request #7918 from Icinga/feature/check-timeouts-sigterm-6162
...
On check_timeout first send SIGTERM
2021-01-21 16:11:07 +01:00
Alexander Aleksandrovič Klimov
124f98eed4
Merge pull request #8600 from Icinga/feature/flapping-ignore-unknown
...
Flapping: Allow to ignore states in flapping detection
2021-01-21 13:47:44 +01:00
Alexander Aleksandrovič Klimov
b1719883a3
Merge pull request #8604 from Icinga/bugfix/icingadb-initial-sync-delay
...
IcingaDB: start initial dump in callback instead of timer
2021-01-21 13:47:12 +01: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
Noah Hilverling
e060995fd8
Flapping: Allow to ignore states in flapping calculation
2021-01-20 11:09:03 +01:00
Alexander Aleksandrovič Klimov
5e810f30a7
Merge pull request #8605 from Icinga/bugfix/icingadb-initial-sync-log
...
IcingaDB: wait for queries to be executed in inital sync
2021-01-20 10:47:46 +01:00
Julian Brost
2d080f14eb
IcingaDB: start initial dump in callback instead of timer
...
Previously, the initial config dump was started in a timer executed
every 15 seconds. During the first execution of the timer, the Redis
connection is typically not established yet. Therefore, this delayed the
initial sync by up to 15 seconds.
This commit instead triggers the sync from a callback that is executed
after the connection is successfully established.
The timer is removed completely. On first glance, it looks like it would
ensure that a lost connection is reestablished, but this is handled
internally by RedisConnection. After the config has been dumped once,
that timer wouldn't ever attempt a reconnect anyways.
2021-01-20 09:31:27 +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
Julian Brost
174f7f75a8
IcingaDB: wait for queries to be executed in inital sync
...
This delays the log message stating that the initial dump is done until
all queries are actually done and now logs a meaningful duration. In
addition, this delays the return of the function and therefore when
state variables are updated by the caller.
2021-01-19 17:14:42 +01:00
Alexander Aleksandrovič Klimov
3976f256a8
Merge pull request #8593 from Icinga/bugfix/activate-items-assertion
...
Remove incorrect assertion in ConfigItem::ActivateItems
2021-01-19 13:52:16 +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
509db4ab94
Delay start of IcingaDB until most config objects are activated
...
This commit sets the activation priority if IcingaDB objects to 100 (the
same value as IDO uses) so that it get's activated after most regular
config objects (hosts, services, ...).
Before (note how Icinga 2 continues to active objects for over a minute
after IcingaDB is started and thinks the initial dump is done):
[2021-01-19 08:33:19 +0000] information/IcingaDB: 'icingadb' started.
[2021-01-19 08:34:02 +0000] information/IcingaDB: Initial config/status dump finished in 28.247 seconds.
[2021-01-19 08:35:49 +0000] information/ConfigItem: Activated all objects.
After (now activation of objects is done right after IcingaDB is
started, as it's one of the last objects to be activated):
[2021-01-19 08:39:01 +0000] information/IcingaDB: 'icingadb' started.
[2021-01-19 08:39:02 +0000] information/ConfigItem: Activated all objects.
[2021-01-19 08:39:38 +0000] information/IcingaDB: Initial config/status dump finished in 21.6606 seconds.
2021-01-19 09:45:47 +01:00
Yonas Habteab
5b0bbd6351
IcingaDB: Check whether or not cr is nullptr
2021-01-18 11:38:31 +01:00
Julian Brost
e727675aaf
Remove incorrect assertion in ConfigItem::ActivateItems
...
There is an assertion that after activating items, all these items are
active, which sounds reasonable at first. However, with concurrent API
queries, some of these could already be deleted and therefore be
deactivated again.
2021-01-15 16:40:07 +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
986bedd9a0
Merge pull request #8594 from Icinga/feature/remove-upq-from-activate-items
...
Remove upq from ConfigItem::ActivateItems
2021-01-15 12:09:57 +01:00
Alexander Aleksandrovič Klimov
4063e39d5f
Merge pull request #8515 from Icinga/feature/update-ssl-context-after-accepting-new-connection-8501
...
API: Update the ssl context after each accepting incoming connection
2021-01-15 11:21:36 +01:00
Yonas Habteab
d27f533e5f
ApiListener: Update the ssl cont after each accepting incoming connection
2021-01-14 18:40:20 +01:00
Yonas Habteab
057254695d
Utility: Introduce new helper function Utility::GetFileCreationTime()
2021-01-14 18:39:14 +01:00
Alexander Aleksandrovič Klimov
d82e4987bd
Merge pull request #8427 from Icinga/bugfix/fork-exit
...
StartUnixWorker(): don't exit() on fork() failure
2021-01-14 17:49:41 +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
Alexander A. Klimov
931b9307ae
StartUnixWorker(): don't exit() on fork() failure
...
... but let the caller handle the failure.
Not to stop working completely just because of fork() failure during a reload.
2021-01-14 13:40:18 +01:00
Alexander A. Klimov
e1bc4d474f
On check_timeout first send SIGTERM
...
... to allow check plugins to terminate gracefully.
refs #6162
2021-01-14 12:00:11 +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
Alexander Aleksandrovič Klimov
5efe3e662c
Merge pull request #8025 from Icinga/bugfix/downtime-for-host-service-with-long-name-8022
...
ConfigObjectUtility::GetObjectConfigPath(): hash names of not already existing objects
2021-01-14 10:42:04 +01:00
Julian Brost
db30704d14
Merge pull request #8532 from Icinga/bugfix/do-not-override-error-codes-that-are-not-200
...
HTTP: Do not override status codes that are not 200
2021-01-14 09:34:04 +01:00
Yonas Habteab
066db5ef60
HTTP: Don't override status codes that are not OK
2021-01-13 18:56:56 +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
Julian Brost
0c6abc817b
Remove upq from ConfigItem::ActivateItems
...
Since commit d9010c7b9f
, ActivateItems no
longer uses the WorkQueue upq to perform tasks but instead performs
these locally. One instance of `upq.Join()`/`upq.HasExceptions()`
remained in the function, but I believe this was just missed when
removing the `upq.Enqueue()` call just before.
This commit removes the corresponding parameter and updates all call
sites accordingly.
2021-01-13 15:19:55 +01:00
Alexander Aleksandrovič Klimov
5a0118c6d8
Merge pull request #8442 from Icinga/bugfix/close-ebadf-8437
...
Close FDs based on /proc/self/fd
2021-01-13 10:59:15 +01:00
Alexander A. Klimov
68a0079c26
ConfigObjectUtility::GetObjectConfigPath(): hash names of not already existing objects
...
... to avoid too long file names.
refs #8022
2021-01-12 18:03:22 +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
Alexander A. Klimov
26c944125b
Close FDs based on /proc/self/fd
...
... not to waste time with close(2)ing RLIMIT_NOFILE-3 non-existing FDs.
Newer kernel = higher RLIMIT_NOFILE = more time wasted
refs #8437
2021-01-12 17:32:28 +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
Alexander Aleksandrovič Klimov
a6af5406f7
Merge pull request #8083 from Icinga/feature/Implement-new-API-events-7974
...
Implement new API event streams response
2021-01-12 12:26:05 +01:00
Yonas Habteab
756abbb2ff
ApiEvents: Implement new API event streams response
2021-01-11 14:59:48 +01:00
Alexander Aleksandrovič Klimov
d996d1e201
Merge pull request #8580 from bebehei/typo
...
Fix typo seemless -> seamless
2021-01-11 13:45:08 +01:00
Alexander Aleksandrovič Klimov
635a8c5d4c
Merge pull request #8088 from Icinga/bugfix/log-two-nodes-run-on-different-versions-8075
...
Display logmessage if two nodes run on different versions
2021-01-11 12:30:30 +01:00
Alexander Aleksandrovič Klimov
862add5f3f
Merge pull request #8512 from Icinga/bugfix/zombie-processes
...
Revert "icinga2 daemon: reap remaining child processes after reload"
2021-01-11 11:38:20 +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
Benedikt Heine
8a455e8150
Fix typo seemless -> seamless
2020-12-25 23:27:08 +01:00
Julian Brost
00d8703aad
Merge pull request #7847 from Icinga/feature/log-trim-trailing-newlines-7828
...
Log: trim trailing newlines
2020-12-23 14:20:43 +01:00
Julian Brost
eab07a7318
Provide a conversion function from icinga::String to boost::string_view
...
Boost.Beast changed the signature of
boost::beast::http::basic_fields::set in version 1.74 so that no longer
allows passing an icinga::String instance as value. This adds a
conversion function so that it works again.
2020-12-22 16:27:38 +01:00
Julian Brost
339b37a985
Use content_length method for setting the Content-Length header
...
Boost.Beast changed the signature of the previously used generic `set`
method so that it no longer accepts integer types, however there is
alreay a more specific method for setting the Content-Length header, so
use this one instead.
2020-12-22 16:27:38 +01:00
Alexander A. Klimov
4051bc9c8f
ConfigObjectUtility#CreateObject(): check config objects for duplicates
...
... not to delete already existing objects during a trial of re-creation.
refs #7726
2020-12-16 16:45:22 +01:00
Yonas Habteab
8eb4f2e062
ApiListener: Display log message if two nodes run on different versions
2020-12-16 16:09:28 +01:00
Noah Hilverling
f7e368564f
Merge pull request from GHSA-pcmr-2p2f-r7j6
...
Verify certificates against CRL before renewing them (2.13)
2020-12-15 12:30:19 +01:00
Alexander Aleksandrovič Klimov
6b04ef6e5d
Merge pull request #7871 from Icinga/feature/more-uoms-for-perfdata-7225
...
PerfdataValue: add UoMs
2020-12-14 18:42:49 +01:00
Alexander A. Klimov
8c6bfdcf54
Revert "icinga2 daemon: reap remaining child processes after reload"
...
This reverts commit 91265a5b0e
which isn't needed anymore as Icinga 2 isn't PID 1 anymore.
2020-12-14 13:38:35 +01:00
Alexander A. Klimov
f04387a973
FireSuppressedNotifications(const Notification::Ptr&): don't send notifications while suppressed by checkable
...
... e.g. if a notification enters its time period (not suppressed anymore),
but its checkable has entered a downtime (suppressed).
refs #8509
2020-12-14 13:28:53 +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
Noah Hilverling
2bad55efc7
Fix runtime config updates not working for objects without zone
...
refs #8533
2020-12-10 16:08:55 +01:00
Alexander Aleksandrovič Klimov
366a97bf19
Merge pull request #8541 from Icinga/bugfix/openssl-error-buffer
...
Use proper buffer size for OpenSSL error messages
2020-12-09 16:08:19 +01:00
Julian Brost
4c0247c02d
Allow specifying a CRL in `icinga2 pki verify`
2020-12-09 12:12:01 +01:00
Julian Brost
e86bd24348
Verify certificates against CRL before renewing them
...
When a CRL is specified in the ApiListener configuration, Icinga 2 only
used it when connections were established so far, but not when a
certificate is requested. This allows a node to automatically renew a
revoked certificate if it meets the other conditions for auto-renewal
(issued before 2017 or expires in less than 30 days).
2020-12-09 12:10:59 +01:00
Julian Brost
bbfd1ecfc8
Use ERR_error_string_n() instead of ERR_error_string()
...
Explicitly pass the actual length of the buffer to avoid overflows.
2020-12-08 13:08:18 +01:00
Julian Brost
c0fc9a86c5
Increase size of buffer for OpenSSL error messages
...
According to man 3 ERR_error_string, "buf must be at least 256 bytes
long", therefore increase the buffer size to 256 everywhere.
2020-12-08 13:08:18 +01:00
Julian Brost
61d7ec4bf7
Remove std::string to_string(const errinfo_openssl_error& e)
...
The function was never used and it's implementation contains a bug where
a buffer of too small size is used as a paramter to ERR_error_string.
According to the `man 3 ERR_error_info`, the buffer has to be at least
256 bytes in size.
Also the function seems of limited use as it allows to output the tag
object used with additional error information for exceptions in Boost.
However, you boost::get_error_info<>() just returns the value type but
not the full tag object from the exception.
2020-12-08 13:05:38 +01:00
Yonas Habteab
dd02e3b6d8
API: Display a correct status code when removing a scheduled downtime
2020-12-07 13:19:41 +01:00
Alexander A. Klimov
b8bb8cb946
Configuration.ApiBindHost: default to ::
...
refs #8183
2020-12-04 16:52:58 +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 Aleksandrovič Klimov
6f33c2f90c
Merge pull request #8314 from Icinga/feature/add-support-influxdb-basic-auth-7644
...
Add support Influxdb basic auth
2020-12-03 11:00:04 +01:00
Yonas Habteab
2ade57bcbb
Add support influxdb basic auth
...
fixes #7644
2020-12-02 16:48:03 +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 Aleksandrovič Klimov
3f4b09f01c
Merge pull request #8488 from Icinga/feature/improve-config-sync-locking
...
Improve config sync locking
2020-11-27 17:55:15 +01:00
Michael Insel
b9c6abc38c
Fix perfdata parser not recognize scientific notation
...
The scientific notation is basically allowed in our performance data
parser. In an edge case where scientific notation is delivered with
an upercas E letter our parser does not recognize it and drops it as
false performance data.
The wrong interpretation as false performance data affects all parts of
the performance data, the value itself, the warning value, the critical
value, the minimum value and the maximum value.
2020-11-26 18:56:41 +01:00
Alexander Aleksandrovič Klimov
81ed8d5629
Merge pull request #8321 from Icinga/bugfix/cant-create-api-user-w-password-8164
...
Allow to create API User w/ password
2020-11-25 15:40:07 +01:00
Alexander A. Klimov
1343fd538d
Start ApiListener#SyncClient() in the thread pool
...
... not hosting the coroutines not to block them.
Otherwise a large replay log would block messages sending
until the peer disconnects us.
2020-11-24 17:25:43 +01:00
Alexander Aleksandrovič Klimov
3dcc6c32f3
Merge pull request #8479 from Icinga/bugfix/close-anonymous-connections
...
Close anonymous connections after 10 seconds
2020-11-24 16:44:09 +01:00
Julian Brost
2a2924855f
Merge pull request #7922 from Icinga/feature/http-status-codes-in-icinga-mainlog-7053
...
Include HTTP status codes in log
2020-11-24 16:35:58 +01:00
Julian Brost
da407660f2
Merge pull request #8500 from Icinga/bugfix/config-sync-only-remove-files-if-timestamp-changed
...
Config sync: Only remove files, if timestamp changed
2020-11-24 16:34:12 +01:00
Julian Brost
c154d4d50e
Merge pull request #8466 from Icinga/feature/one-connection
...
ApiListener#NewClientHandlerInternal(): reject connections from already connected endpoints
2020-11-24 16:33:15 +01:00
Noah Hilverling
83b4d8e69d
Config sync: Only remove files, if timestamp changed
2020-11-24 10:44:38 +01:00
Alexander Aleksandrovič Klimov
39bc1590f6
Merge pull request #8440 from Icinga/bugfix/message-routing-for-global-zones
...
Fix cluster message routing for global zones
2020-11-24 10:41:17 +01:00
Alexander Aleksandrovič Klimov
e84a4a290d
Merge pull request #8450 from Icinga/bugfix/do-not-accept-api-updates-for-unknown-zone
...
API: Don't accept object updates for unknown global zone
2020-11-24 10:40:20 +01:00
Alexander A. Klimov
5cfac1f643
Fix function and variable names
...
refs #8034
2020-11-23 16:43:47 +01:00
Alexander A. Klimov
fa61711c21
Introduce ReportIdoCheck()
...
... for code deduplication
refs #8034
2020-11-23 16:40:32 +01:00
Alexander A. Klimov
0ad1ab20aa
Fix code style
...
refs #8034
2020-11-23 16:39:24 +01:00
Julian Brost
3f15963651
Remove SpinLock
...
No longer needed as its only user now uses std::mutex.
2020-11-17 09:40:34 +01:00
Julian Brost
70c9d49ebc
ApiListener: merge new config validation and actication functions
...
Merge AsyncTryActivateZonesStage and TryActivateZonesStageCallback and
name the result TryActivateZonesStage. The old split was a leftover from
the one being a callback function with no actual meaningful separation.
2020-11-17 09:37:13 +01:00
Noah Hilverling
2d1980c10d
Merge pull request #8476 from Icinga/docs/api-action-api-function
...
Clarify difference between API actions and functions in their docstrings
2020-11-17 08:17:05 +01:00
Julian Brost
e4610e7dbd
Use std::mutex instead of Spinlock
2020-11-16 17:38:03 +01:00
Julian Brost
74b65f1642
API filesync: wait for validation process to exit
...
This avoid having to pass a lock implictly using the captured variables
of a lambda.
2020-11-16 17:10:57 +01:00
Julian Brost
4c8c4c75ec
Add Process::WaitForResult to allow waiting for the process to finish
2020-11-16 17:10:26 +01:00
Alexander Aleksandrovič Klimov
5f3b5934fa
Merge pull request #8195 from Icinga/feature/terminate-pretty-json-output-w-n-8194
...
JsonEncode(): suffix pretty JSON w/ \n
2020-11-13 17:08:46 +01:00
Alexander Aleksandrovič Klimov
66c4dc35a8
Merge pull request #7931 from Icinga/feature/program_version-livestatus-7895
...
Livestatus: append app name to program_version
2020-11-13 17:08:11 +01:00
Julian Brost
d1edcb909c
Close anonymous connections after 10 seconds
...
Anonymous connections are normally only used for requesting a
certificate and are closed after this request is received. However, the
request is only sent if the child has successfully verified the
certificate of its parent so that it is an authenticated connection from
its perspective. In case this verification fails, both ends view it as
an anonymous connection and never actually use it but attempt a
reconnect after 10 seconds leaking the connection. Therefore close it
after a timeout.
2020-11-12 18:01:11 +01:00
Alexander Aleksandrovič Klimov
8ca765d730
Merge pull request #8455 from Icinga/bugfix/replay-object-deletion
...
Log config object deletions to replay log
2020-11-12 15:08:55 +01:00
Julian Brost
01a278bb5e
Clarify difference between API actions and functions in their docstrings
2020-11-12 14:23:41 +01:00
Noah Hilverling
5f6042d92f
Fix 'emoving' typo
2020-11-09 16:35:16 +01:00
Julian Brost
cb476172ec
Fix cluster message routing for global zones
...
RelayMessageOne used to relay the message only to one other endpoint for
other zones, which is fine, as long as the target zone is a child/parent
zone but breaks if the target zone is a global one. In this case, the
message has to be forwarded within the local zone as well as to one node
in each child zone.
2020-11-09 15:43:43 +01:00
Julian Brost
be53b0af9e
Log config object deletions to replay log
...
The initial config object sync for each new connection (in
`ApiListener::SendRuntimeConfigObjects()`) only considers currently
existing objects and has no way to pass the information that objects
were deleted in the meantime.
This commit logs config object deletions to the replay log if required
so that there is a chance that it will be propagated to nodes that were
offline when the deletion happened.
Note that this can only be considered a workaround as the replay log
might be pruned or could even be completely disabled. Also, there still
seems to be a race-condition between the config sync and replay log of
multiple new connections at the same time.
2020-11-09 14:09:44 +01:00
Alexander A. Klimov
29e5d7def7
Include HTTP status codes in log
...
refs #7053
2020-11-09 10:20:13 +01:00
Noah Hilverling
8ba5f72533
API: Don't accept object updates for unknown zone
2020-11-06 17:27:10 +01:00
Alexander A. Klimov
20b7c395ba
Relativize future removals of deprecated features
...
... as (of course) we won't remove them as long as
it's easier than not removing them.
2020-11-06 12:31:10 +01:00
Alexander Aleksandrovič Klimov
1450e1bb7f
Merge pull request #8108 from Icinga/bugfix/api-incorrect-response-header-6747
...
API: Send Content-Type as api response header too
2020-11-03 18:50:31 +01:00
Alexander Aleksandrovič Klimov
939f4591a4
Merge pull request #8087 from Icinga/bugfix/log-cout-permission-error-8086
...
Display Logmessage if an permission error occurs
2020-11-03 17:23:06 +01:00
Yonas Habteab
488e6bfb67
HTTP Request: Log an exception message if an error occurs
2020-11-02 15:01:48 +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
1b9f161aea
Merge pull request #8123 from MEschenbacher/confirmingstrings
...
ido_pgsql: do not set standard_conforming_strings to off
2020-10-29 17:06:46 +01:00
Alexander Aleksandrovič Klimov
9c232e942b
Merge pull request #8085 from Icinga/bugfix/not-set-lcnumeric-twice-7563
...
Fix LC_NUMERIC set twice and use a wrong value
2020-10-29 16:47:43 +01:00
Maximilian Eschenbacher
d8089560dd
ido_pgsql: do not set standard_conforming_strings to off
...
Before postgres 9.1, this setting defaulted to off and icinga2 code was
making heavy use of this feature. Since postgres 9.1, this settings
defaults to on. During the adoption of postgres >= 9.1, the icinga2
postgres ido code maintained compatibility by setting it to off
explicitly.
In the mean time, the postgres ido code has been converted to using the
`E'...'` escape literal syntax exclusively.
The last remaining step is now to no longer force the setting to off
because no query is using the feature any longer.
Closes github issue #8122 .
2020-10-29 16:28:18 +01:00
Alexander Aleksandrovič Klimov
a226db4f17
Merge pull request #8245 from Ragnra/bugfix/opentsdb-tag-doublespace-8244
...
Fixes an issue with opentsdb and a double space
2020-10-29 16:23:01 +01:00
Alexander Aleksandrovič Klimov
b5b1ee715b
Merge pull request #8184 from sbraz/boost
...
Fix ‘fs::copy_option’ has not been declared with boost 1.74.0
2020-10-29 16:19:07 +01:00
Alexander Aleksandrovič Klimov
1e281b060a
Merge pull request #7952 from Icinga/fix/SO_REUSEPORT-optional
...
apilistener: Make SO_REUSEPORT optional
2020-10-29 15:56:56 +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
38110e55d3
ApiListener#NewClientHandlerInternal(): reject connections from already connected endpoints
2020-10-26 15:20:58 +01:00
Julian Brost
c30d8ff373
Remove Utility::GetEnv from header
...
It is never used and not even implemented anywhere, probably a leftover.
2020-10-20 12:19:15 +02:00
Alexander Aleksandrovič Klimov
a32c1bf910
Merge pull request #7864 from Icinga/bugfix/icinga2-doesn-t-close-connections-7203
...
Add timeout for boost::asio::ssl::stream#async_shutdown()
2020-10-19 15:25:12 +02: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
f60ae93717
Merge pull request #7870 from Icinga/bugfix/last-zone-sync-stage-validation-failed-7642
...
Clear ApiListener#last_failed_zones_stage_validation on config::Update if config not changed
2020-10-19 12:31:01 +02:00
Alexander Aleksandrovič Klimov
4926353269
Merge pull request #8277 from Icinga/bugfix/latency-8196
...
Call Process::InitializeSpawnHelper() ASAP
2020-10-16 16:49:06 +02:00
Noah Hilverling
03af068302
IDO: Make sure to insert program status during reconnect()
2020-10-16 12:30:57 +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
Alexander Aleksandrovič Klimov
d6a4db935f
Merge pull request #8374 from Icinga/bugfix/docker-memory-leak
...
icinga2 daemon: reap remaining child processes after reload
2020-10-16 10:33:49 +02:00
Alexander Aleksandrovič Klimov
9969090976
Merge pull request #8380 from Icinga/bugfix/ido-do-not-log-if-paused-2.13
...
IDO: Do not log stats, if paused
2020-10-16 10:33:16 +02:00
Noah Hilverling
8db82ff87d
IDO: Do not log stats, if paused
2020-10-15 10:48:41 +02:00
Alexander Aleksandrovič Klimov
1f55338cbd
Merge pull request #8166 from Icinga/bugfix/logrotate-crash-8050
...
Ensure the daemon doesn't get killed by logrotate
2020-10-15 10:39:47 +02:00
Alexander Aleksandrovič Klimov
a54bd52d5c
Merge pull request #8371 from Icinga/bugfix/7567
...
Revert "MacroProcessor::ResolveArguments(): skip null argument values"
2020-10-15 10:39:12 +02:00
Alexander A. Klimov
91265a5b0e
icinga2 daemon: reap remaining child processes after reload
...
... as we may be PID 1.
2020-10-15 10:25:14 +02:00
Alexander Aleksandrovič Klimov
72c67fc065
Merge pull request #8370 from Icinga/bugfix/reload-hang-8173
...
Application#RunEventLoop(): don't wait for the thread pool to stop on shutdown
2020-10-14 18:11:23 +02:00
Alexander Aleksandrovič Klimov
79210a5542
Merge pull request #8367 from Icinga/bugfix/ido-hash-groups
...
*DbObject#CalculateConfigHash(): sort groups to be hashed
2020-10-14 16:23:24 +02:00
Alexander Aleksandrovič Klimov
4bb6f4c910
Merge pull request #8364 from Icinga/bugfix/configsyncstagelock-unlock-owner-213
...
Make ApiListener::m_ConfigSyncStageLock a SpinLock
2020-10-14 16:01:00 +02:00
Alexander Aleksandrovič Klimov
e8316952f8
Merge pull request #8363 from Icinga/bugfix/ido-commit-25000-213
...
IDO MySQL: actually COMMIT after 25000 async queries
2020-10-14 16:00:39 +02:00
Alexander A. Klimov
d3f6a97a7e
Ensure the daemon doesn't get killed by logrotate
...
refs #8050
2020-10-14 14:02:44 +02:00
Alexander A. Klimov
fbfa931b31
Clear ApiListener#last_failed_zones_stage_validation on config::Update if config not changed
...
refs #7642
2020-10-14 12:17:14 +02:00
Alexander Aleksandrovič Klimov
876fa8ba97
Merge pull request #8242 from Icinga/bugfix/reminder-notifications-before-suppressed-8201
...
Don't send reminder notifications before suppressed ones
2020-10-14 11:03:28 +02:00
Alexander Aleksandrovič Klimov
28f1f70321
Merge pull request #8326 from Icinga/bugfix/do-not-update-customvar-status-on-heavy-config-update
...
Do not upsert customvar status on heavy config update
2020-10-14 11:00:29 +02:00
Alexander Aleksandrovič Klimov
354a854d7a
Merge pull request #8318 from Icinga/bugfix/exceptions-in-config-sync
...
Catch exceptions in the thread running HandleConfigUpdate
2020-10-14 10:58:23 +02:00
Alexander A. Klimov
a083635de4
Make ApiListener::m_ConfigSyncStageLock a SpinLock
2020-10-14 10:47:08 +02:00
Alexander A. Klimov
4af450141b
Introduce SpinLock
2020-10-14 10:47:08 +02:00
Alexander A. Klimov
cd72eaf2b9
IDO MySQL: actually COMMIT after 25000 async queries
2020-10-14 10:40:57 +02:00
Julian Brost
e04d618ede
Catch exceptions in the thread running HandleConfigUpdate
...
With dc3062a9b0
, exceptions in this code
path were no longer caught properly. This commit restores exception
handling for this function.
2020-10-13 14:07:44 +02:00
Alexander A. Klimov
cb00a7fd6a
*DbObject#CalculateConfigHash(): sort groups to be hashed
...
... to ensure consistent hashes across config reloads.
This will likely cause a heavy update once for all objects in >1 group,
but it will ensure that this happens the last time.
2020-10-13 13:47:49 +02:00
Noah Hilverling
04fc0014ce
IDO-Logging: Increase logging threshold for nearly empty queue
2020-10-13 09:15:20 +02:00
Noah Hilverling
d377996176
IDO-Logging: Don't log when not connected
2020-10-13 09:15:14 +02:00
Noah Hilverling
82c4d58d14
IDO-Logging: Remove useless ETA
2020-10-13 09:15:09 +02:00
Noah Hilverling
be3eb0821a
IDO-Logging: Add log timeout to log every 5 minutes
2020-10-13 09:15:03 +02:00
Noah Hilverling
22c14fd964
IDO: Always insert customvar status on heavy config update
2020-10-13 08:54:58 +02:00
Yonas Habteab
3f3e04eb69
Allow to create api user w/ password
...
fixes #8164
2020-10-09 20:15:44 +02:00
Alexander A. Klimov
0a1a286913
Don't send reminder notifications before suppressed ones
...
refs #8201
2020-09-30 10:30:21 +02:00
Alexander A. Klimov
177f930375
Call Process::InitializeSpawnHelper() ASAP
...
refs #8196
2020-09-23 11:49:13 +02:00
Henrik Triem
7a759a6427
IDO: Implement more accurate logging for query stats
2020-09-22 13:44:02 +02:00
Henrik Triem
3c556350c8
WorkQueue: Allow choosing stats log level
2020-09-22 13:44:02 +02:00
Paul Denning
570a59a2f4
Fixed problem with opentsdb sending metrics
...
There is a double space between the value and the tags causing an error with missing tag when ingesting the data
refs #8244
2020-09-18 19:41:48 +10: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
Alexander A. Klimov
d69c6879fa
Application#RunEventLoop(): don't wait for the thread pool to stop on shutdown
...
refs #8173
2020-09-03 14:04:42 +02:00
Alexander A. Klimov
3adba5c542
JsonEncode(): suffix pretty JSON w/ \n
...
refs #8194
2020-09-02 16:11:43 +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
Louis Sautier
c30bae2994
Fix ‘fs::copy_option’ has not been declared with boost 1.74.0
...
It was deprecated in
f199152b7d
2020-08-20 18:35:51 +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
Mattia Codato
80dc908fca
Use ExecuteCommand::ExecuteOverride also for ido check
2020-08-13 09:26:19 +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
c2f8d6df44
Use ternary operator to get ExecuteOverride or checkable command
2020-08-03 08:07:32 +02:00
Mattia Codato
9c4a3aed1b
Use ExecuteOverride to override the command
2020-07-31 17:28:33 +02:00
Mattia Codato
d7dadbfc66
Use MacroResolver::OverrideMacros on *task files
2020-07-31 14:21:09 +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
Noah Hilverling
2648a82de0
Merge pull request #7894 from Icinga/bugfix/don-t-wait-for-checks-on-reload-7888
...
CheckerComponent#Stop(): don't wait for checks
2020-07-29 16:35:09 +02:00
Noah Hilverling
a615b2126e
Merge pull request #8142 from Icinga/bugfix/don-not-close-connection-on-missing-heartbeat-8095
...
Remove all codes related to the heartbeat timeout
2020-07-29 15:33:22 +02:00
Noah Hilverling
97fc70ccb2
Merge pull request #7836 from Icinga/bugfix/jsonrpcconnection-m_seen
...
Consider a JsonRpcConnection being seen on a single byte of TLS payload, not only a whole message
2020-07-29 15:02:48 +02:00
Yonas Habteab
964a90fa4b
Remove all codes related to the heartbeat timeout
...
until now, if the timeout is exceeded, the connection is immediately terminated.
But since we do not want to disconnect even if the timeout is exceeded, it is
better to send the messages without timeout and have deleted everything that
related to the heartbeat timeout. We also have another mechanism in
JRPC::CheckLiveness that does the disconnect.
2020-07-29 14:27:55 +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
96dc349240
Fix scriptfunc for dummychecktask, exceptionchecktask and sleepchecktask
2020-07-22 11:38: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
867da09fb4
Revert "Use ExecuteCommandProcessFinishedHandler in TimePeriodTask"
...
This reverts commit abf164bceb
.
2020-07-21 10:52:59 +02:00
Mattia Codato
abf164bceb
Use ExecuteCommandProcessFinishedHandler in TimePeriodTask
2020-07-21 09:57:59 +02:00
Noah Hilverling
9f57e895f1
Merge pull request #8102 from Icinga/bugfix/send-heartbeat-less-often-8098
...
Send heartbeat every 20s and not 10s
2020-07-21 09:46:33 +02:00
Mattia Codato
986c07fd7d
Use ExecuteCommandProcessFinishedHandler in NullEventTask
2020-07-21 08:33:43 +02:00
Mattia Codato
8758e58b92
Use ExecuteCommandProcessFinishedHandler for all lib/methods/*task.cpp
2020-07-20 16:29:26 +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
27f8bc5920
Call ExecuteCommandProcessFinishedHandler for notification and event commands
2020-07-15 09:14:01 +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
c3d9f6c17b
Add ExecuteActionTask
2020-07-10 16:51:45 +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
Yonas Habteab
df2d30e6af
Send Content-Type as api response header too
2020-07-10 10:42:55 +02:00
Mattia Codato
93711542a7
Get UUID from params
2020-07-10 10:05:38 +02:00
Yonas Habteab
cf5ec5e341
Send heartbeat every 20s and not 10s
2020-07-09 13:22:08 +02:00
Yonas Habteab
3ecaf1e4a4
Use executionEnd instead of GetTime()
2020-07-09 10:44:38 +02:00
Alexander A. Klimov
645dcbdc9e
Introduce Endpoint#icinga_version
...
... and set it to e.g. 21200 via icinga::Hello.
2020-07-07 18:24:06 +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
Yonas Habteab
24c6210ef2
Fix don't set LC_NUMERIC twice
2020-07-06 13:12:56 +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