Alexander A. Klimov
c24312b870
JsonRpcConnection#Disconnect(): unregister the connection ASAP
...
refs #7444
2019-08-23 17:14:13 +02:00
Alexander A. Klimov
efc7f2cf8d
Correct current_concurrent_checks to actually running checks
...
refs #7416
2019-08-15 13:39:01 +02:00
Michael Friedrich
c2e1d023e2
Merge pull request #7421 from Icinga/feature/threadpool-metric
...
Expose metric current_pending_callbacks
2019-08-15 10:51:31 +02:00
Michael Friedrich
2760748d78
Fix and improve logging for runtime object sync
...
config::UpdateObject would create a new object, but this may
have been silently ignored with 'ignore_on_error' - downtimes, etc.
Since we cannot simply fetch the error from inside the config compiler,
we'd just check whether there's a config object created at this stage.
This happens synchronously, and once there is, log something.
The previous code always logged the creation, even if the downtime
was ignored, e.g. when the first master sent one for local host objects.
This commit also adds more details: identity, endpoint, zone to extract
the MessageOrigin details into log messages for better troubleshooting
and debugging.
refs #7198
2019-08-15 09:29:05 +02:00
Alexander A. Klimov
448a991404
Expose metric current_pending_callbacks
2019-08-14 17:22:27 +02:00
Alexander A. Klimov
a58a5feee3
Introduce ThreadPool#GetPending()
2019-08-14 17:12:59 +02:00
Michael Friedrich
43ea6fb636
Merge pull request #7419 from Icinga/bugfix/downtime-loop-activate-origin
...
Fix object create/delete config object cluster loop (missing message origin)
2019-08-14 16:29:08 +02:00
Michael Friedrich
5b36ff0787
Properly parse the Icinga version for minimum version in the 'icinga' check
...
fixes #7415
2019-08-14 13:15:05 +02:00
Michael Friedrich
96f62d2d34
Add Utility::ParseVersion() and unit tests
...
This now uses a regex to extract the short version
similar to how Icinga Web 2 does it.
Additional unit tests prove the rule.
2019-08-14 11:22:55 +02:00
Michael Friedrich
7c1f716dad
Fix cookie with ActivateItems
2019-08-13 16:09:26 +02:00
Michael Friedrich
c30edd0a34
Fix message origin for runtime created config object (create/delete events)
2019-08-13 15:05:47 +02:00
Michael Friedrich
f9812ee1aa
Merge pull request #7404 from Icinga/bugfix/livestatus-interval
...
Explicitly write the 1.x legacy attribute 'interval_length' for Livestatus
2019-08-07 17:32:38 +02:00
Michael Friedrich
d8400699f9
Merge pull request #7353 from Icinga/bugfix/influxdbwriter-skip-tags-7341
...
InfluxdbWriter: skip non-resolvable tags
2019-08-07 17:15:24 +02:00
Michael Friedrich
3f18741c41
Explicitly write the 1.x legacy attribute 'interval_length' for Livestatus
...
fixes #7402
2019-08-07 15:23:04 +02:00
Michael Friedrich
686f5d8ca7
Merge pull request #7397 from Icinga/bugfix/umbrella-logging-systemd-7394
...
icinga2 daemon --close-stdio: keep console log open during first config validation
2019-08-07 13:44:07 +02:00
Michael Friedrich
01fe243f23
Log a hint after failed config validation for systemd users
2019-08-07 12:03:17 +02:00
Michael Friedrich
59081c4f82
Merge pull request #7400 from Icinga/bugfix/cib-stats-concurrent-checks
...
Fix missing stats for current_concurrent_checks via REST API
2019-08-06 15:25:44 +02:00
Michael Friedrich
550a92f077
Fix missing stats for current_concurrent_checks via REST API
...
It was added inside the 'icinga' check task, but not for the REST API.
Thanks for asking, @Thomas-Gelf
2019-08-06 14:51:10 +02:00
Michael Friedrich
743dcad35d
Improve logging for downtime/ack events (add, remove, expire)
...
fixes #7374
2019-08-06 13:28:58 +02:00
Alexander A. Klimov
6418c2ebb7
icinga2 daemon --close-stdio: keep console log open during first config validation
...
refs #7394
2019-08-05 18:30:45 +02:00
Michael Friedrich
ac4f92ca69
Merge pull request #7391 from Icinga/feature/cluster-sync-avoid-non-utf-8
...
Cluster sync: Only sync valid UTF8 content (text config, no binaries)
2019-08-05 16:48:49 +02:00
Michael Friedrich
8d071c8d30
DB IDO: Fix upgrade script for 2.11.0 (drop index only if existing)
...
fixes #7393
2019-08-05 13:03:38 +02:00
Michael Friedrich
c42a2583f0
Cluster sync: Only sync valid UTF8 content (text config, no binaries)
...
- *.conf files are sanitized automatically.
- Other files detect sanitizing and treat that as unsupported type
refs #7382
2019-08-02 16:06:32 +02:00
Michael Friedrich
f58d1ef7f7
Revert "API: Improve error handling for 'schedule-downtime' action"
...
This reverts commit 8ca38302fc
.
2019-08-01 14:03:44 +02:00
Michael Friedrich
8f3a1335dc
Revert "API: Don't be so strict with the downtime start_time"
...
This reverts commit 3b7cf5b9b5
.
2019-08-01 14:03:40 +02:00
Michael Friedrich
ebd6735c70
TLS Ciphers: Add compatibility suites for older agents (el7)
2019-07-30 10:55:29 +02:00
Alexander A. Klimov
2acdbd81ff
InfluxdbWriter: clone less
2019-07-24 10:43:45 +02:00
Alexander A. Klimov
d7b1127730
InfluxdbWriter: skip non-resolvable tags
...
refs #7341
2019-07-23 18:21:38 +02:00
Michael Friedrich
0fd2fc0a4f
Only include SSL_CTX_set_ecdh_auto for OpenSSL < 1.1.0
2019-07-23 17:39:02 +02:00
Michael Friedrich
647348fbca
CLI: Rename client -> agent
2019-07-20 12:53:19 +02:00
Alexander A. Klimov
d7e52824c8
DaemonCommand#Run(): set code page to UTF-8
...
refs #7110
2019-07-19 18:00:46 +02:00
Michael Friedrich
844e821cd1
Merge pull request #7320 from Icinga/feature/foreground-5230
...
Rework reload handling on *nix
2019-07-18 18:24:22 +02:00
Michael Friedrich
f9f86e3f22
Merge pull request #7272 from Icinga/feature/notification-logging
...
Improve type logging for notifications
2019-07-17 15:16:45 +02:00
Michael Friedrich
71cf491a3b
Merge pull request #7331 from Icinga/bugfix/unit-tests-packaging-7327
...
Shutdown timers cleanly on exit
2019-07-17 15:16:04 +02:00
Alexander A. Klimov
80d976fed6
Shutdown timers cleanly on exit
...
refs #7327
2019-07-17 13:53:43 +02:00
Michael Friedrich
8098f4d54d
Improve type logging for notifications
2019-07-16 13:46:16 +02:00
Alexander A. Klimov
31e5394fe9
Fix style
...
refs #5230
2019-07-16 11:45:23 +02:00
Alexander A. Klimov
c385355c38
DaemonCommand: make the atomics a bit more atomic
...
Just to be sure.
refs #5230
2019-07-16 11:39:09 +02:00
Alexander A. Klimov
4ee9ac16b4
Fix missing comments
...
refs #5230
2019-07-16 11:11:10 +02:00
Alexander A. Klimov
372ecd8a72
Forward SIGUSR1
...
refs #5230
2019-07-15 18:36:34 +02:00
Alexander A. Klimov
3584ad97d8
Fix missing log messages
...
refs #5230
2019-07-15 18:29:15 +02:00
Alexander A. Klimov
ac29b3b93a
Adjust sd_notify()
...
refs #5230
2019-07-15 17:04:55 +02:00
Alexander A. Klimov
06b504f291
Adjust PID file management
...
refs #5230
2019-07-15 17:04:53 +02:00
Alexander A. Klimov
368ebf4fbf
Catch programming errors
...
refs #5230
2019-07-15 15:24:07 +02:00
Alexander A. Klimov
37a3e7e4d5
Application::RunEventLoop(): forward restart requests to umbrella process
...
refs #5230
2019-07-15 15:23:37 +02:00
Alexander A. Klimov
249408209d
Reload on SIGHUP
...
refs #5230
2019-07-15 15:23:34 +02:00
Alexander A. Klimov
c303d08c24
Do the actual work in a separate process on *nix
...
refs #5230
2019-07-15 15:18:31 +02:00
Michael Friedrich
f4942fd359
Merge pull request #7318 from Icinga/bugfix/tls-options
...
TLS: Ensure to specify options in one place
2019-07-15 15:08:58 +02:00
Alexander A. Klimov
d6bc5a1a18
Remove old signal handlers
...
refs #5230
2019-07-15 15:06:29 +02:00
Michael Friedrich
6682a427d4
TLS: Ensure to specify options in one place
...
`SetTlsProtocolminToSSLContext()` may have overridden
previous flags.
refs #7277
refs #7041
refs #7211
2019-07-15 13:29:55 +02:00
Michael Friedrich
eff6e7662c
Fix style and comments
2019-07-15 09:54:35 +02:00
Diana Flach
5fbc052aba
Cluster Sync: Improve log messages
2019-07-15 09:54:26 +02:00
Michael Friedrich
b00e1d0c67
Config sync: Count the updates and log them
...
```
[2019-07-10 12:34:27 +0200] information/ApiListener: Received configuration updates (2) from endpoint 'master1' are equal to production, not triggering reload.
```
2019-07-15 09:54:09 +02:00
Diana Flach
87d4575af8
Cluster Sync: Ensure that files are synced everytime
2019-07-15 09:53:47 +02:00
Michael Friedrich
524e2368be
Respect OpenSSL 1.1.0 vs older
2019-07-12 14:56:08 +02:00
Michael Friedrich
32d288f243
TLS: Fetch the cipher list and log them for debugging
2019-07-12 14:39:17 +02:00
Michael Friedrich
38b7f10e0e
Array: Move Join into the base class, available for programmers
2019-07-12 14:36:55 +02:00
Michael Friedrich
78867313fe
Merge pull request #7310 from Icinga/bugfix/icinga-app-null
...
DB IDO: Fix possible crash with program status updates before IcingaApplication is loaded
2019-07-12 08:48:25 +02:00
Michael Friedrich
e659f8d2e1
DB IDO: Fix possible crash with program status updates before IcingaApplication is loaded
2019-07-11 16:06:27 +02:00
Alexander A. Klimov
b95e92ea5f
Stash notifications until object authority has been updated once
...
refs #7086
2019-07-11 13:07:50 +02:00
Alexander A. Klimov
3f4cb0936c
Add ApiListener::UpdatedObjectAuthority()
...
refs #7086
2019-07-11 12:58:07 +02:00
Michael Friedrich
60661eaecb
Merge pull request #7270 from Icinga/feature/notification-after-downtime-ends-5919
...
Re-send suppressed notifications
2019-07-11 10:46:59 +02:00
Michael Friedrich
a3c6797310
Fix compiler warnings and style
2019-07-10 11:51:58 +02:00
Michael Friedrich
7c10b9a0d2
Merge pull request #7305 from Icinga/bugfix/internal-methods-command-cr
...
Internal methods must update the 'command' key in the check result
2019-07-10 11:04:34 +02:00
Michael Friedrich
406ecb448c
Internal methods must update the 'command' key in the check result
...
Currently this is `null` which isn't really correct.
As otherwise, it is tremendously hard to figure out which check
command was involved, if you're not looking at the `.check_command`
checkable object.
2019-07-10 10:15:15 +02:00
Alexander A. Klimov
ffa7b749cb
Wait until the next check result if it's expected to arrive soon before re-sending a suppressed notification
...
refs #5919
2019-07-09 16:38:50 +02:00
Alexander A. Klimov
ed56fa34dc
Re-send suppressed notifications
...
refs #5919
2019-07-09 16:38:50 +02:00
Michael Friedrich
88e5d8c47a
TimePeriod: Fully support and test "day -X" notation
...
Previously no tests would have detected if this really worked or not.
2019-07-09 16:21:07 +02:00
Michael Friedrich
0dc87668d6
Fix parsing of "day -X (last day of month)" in TimePeriod class
2019-07-09 16:16:43 +02:00
Michael Friedrich
7665143afa
Tests: Rewrite TimePeriod tests using Boost::DateTime
...
fixes #7257
2019-07-09 15:34:07 +02:00
Michael Friedrich
0d25ae0e08
Quality: Prefer BOOST_{,UN}LIKELY gcc optimizer macros over our own
...
Our macro collides with Boost::DateTime and the gregorian classes
and I don't see any reason why we shouldn't use Boost::Config
being already there.
2019-07-09 13:20:53 +02:00
Diana Flach
400d58f95f
Merge pull request #7283 from Icinga/bugfix/cluster-sync-checksum-change
...
Cluster: Avoid checking for checksum length with internal files in use
2019-07-08 15:53:17 +02:00
Michael Friedrich
fdaab4b420
Merge pull request #7287 from Icinga/bugfix/script-debugger-crash-7284
...
Service: don't rely on the own host being already set during derivative state calculation
2019-07-08 09:31:15 +02:00
Alexander A. Klimov
3824b03913
Service: don't rely on the own host being already set during derivative state calculation
...
refs #7284
2019-07-04 16:14:40 +02:00
Michael Friedrich
065067c8b5
Merge pull request #7281 from Icinga/bugfix/openssl-1-0-1-7280
...
Use SSL_CTX_set_ecdh_auto only if available
2019-07-04 14:27:45 +02:00
Michael Friedrich
46287c92e6
Cluster: Avoid checking for checksum length with internal files in use
...
fixes #7282
2019-07-04 13:52:31 +02:00
Alexander A. Klimov
6568017658
Use SSL_CTX_set_ecdh_auto only if available
...
refs #7280
2019-07-04 13:05:31 +02:00
Michael Friedrich
4bc02c6c2c
Buildfix for Windows with non-unity builds
2019-07-03 13:23:14 +02:00
Michael Friedrich
3b7cf5b9b5
API: Don't be so strict with the downtime start_time
...
There may be a slight overlap between the actual request
time and 'now'.
refs #7271
2019-07-02 15:13:36 +02:00
Michael Friedrich
f63d9cce4a
Merge pull request #7261 from Icinga/bugfix/throw-default
...
Avoid "~Class() throw() = default;"
2019-07-02 12:33:54 +02:00
Michael Friedrich
8ca38302fc
API: Improve error handling for 'schedule-downtime' action
2019-07-02 11:15:43 +02:00
Diana Flach
ad0ff9839d
Fix Icinga when calling array.remove()
...
fixes #7265
2019-06-28 16:37:29 +02:00
Alexander A. Klimov
5b841db4a0
Avoid "~Class() throw() = default;"
2019-06-28 09:07:33 +02:00
Janne Heß
3e801fbd5a
Fix Path to staged files
...
The paths in the list are relative, not absolute to the stage directory.
2019-06-26 02:04:06 +02:00
Henrik Triem
a7e94aab6d
Merge pull request #7251 from Icinga/bugfix/wq-silence-exceptions
...
Disable stack traces for WQ exceptions (used in config compiler)
2019-06-24 17:34:53 +02:00
Michael Friedrich
0b85928a30
Merge pull request #6727 from Icinga/feature/cluster-config-sync-stage
...
Improve cluster config sync
2019-06-19 17:37:30 +02:00
Michael Friedrich
08a47600be
Config sync: Only copy paths to prod which are actually there
...
Stored files may be removed by external sources.
2019-06-19 17:00:50 +02:00
Henrik Triem
0381be32c5
Merge pull request #7192 from Crited/bugfix/notification_whitespaceremoval
...
Remove double whitespaces for notifications log message
resolves #7192
2019-06-19 16:42:58 +02:00
Michael Friedrich
db4cc13770
Config Sync: Only log config files for stage, no metadata
2019-06-19 16:09:16 +02:00
Michael Friedrich
577e42e137
Quality: Comments and logs in cluster config sync
2019-06-19 14:46:11 +02:00
Michael Friedrich
3852c51c9f
Cluster sync: Don't load/sync the .authoritative config file marker
...
This would influence everything else, and it isn't needed anywhere
but the master instance (zones.d -> var-zones).
2019-06-19 14:46:11 +02:00
Michael Friedrich
0aa6f1a3b3
Use boost::filesystem & Utility classes for file IO
2019-06-19 14:46:11 +02:00
Michael Friedrich
6add9f9ecb
Avoid concurrent cluster config sync transactions
...
fixes #6660
2019-06-19 14:46:11 +02:00
Michael Friedrich
af8624dcf1
Apply ReloadTimeout for 2.11
2019-06-19 14:46:11 +02:00
Michael Friedrich
b3b7abdfe8
Spam the log with config file copies from stage to prod
2019-06-19 14:46:11 +02:00
Michael Friedrich
4c6150b254
Improve checksum logic and logging
2019-06-19 14:46:11 +02:00
Michael Friedrich
f92f6f7f8c
Improve checksum checks for each file content
2019-06-19 14:46:11 +02:00
Michael Friedrich
a6ddef17d9
Enhace logging when config change yes/no will trigger further reload actions
2019-06-19 14:46:11 +02:00
Michael Friedrich
c230e503e6
Fix global checksum calculation
2019-06-19 14:46:11 +02:00
Michael Friedrich
7a02990ef8
Refactor the client sync, part II (WIP, currently checksums generate an endless loop)
2019-06-19 14:46:11 +02:00