]>
granicus.if.org Git - icinga2/log
Michael Friedrich [Fri, 3 May 2019 14:52:10 +0000 (16:52 +0200)]
Merge pull request #7157 from Icinga/bugfix/ido-conn-prevent-deactivate-on-reload
DB IDO: Do not deactivate objects during application reload/restart
Michael Friedrich [Fri, 3 May 2019 10:44:29 +0000 (12:44 +0200)]
DB IDO: Do not deactivate objects during application reload/restart
This follows the same principle as with the shutdown handler,
and was introduced with the changed reload handling with 2.9.
Previously IsShuttingDown() was sufficient which got set at one
location.
SigUsr2 as handler introduced a new location where m_ShuttingDown
is not necessarily set yet. Since this handler gets called when
l_Restarting is enabled, we'll use this flag to avoid config update
events resulting in object deactivation (object->IsActive() always
returns false).
refs #5996
refs #6691
refs #6970
fixes #7125
Michael Friedrich [Tue, 30 Apr 2019 12:22:13 +0000 (14:22 +0200)]
Merge pull request #7150 from Icinga/bugfix/api-config-package-active-stage-name
Ensure that runtime created API objects survive a restart
Michael Friedrich [Tue, 30 Apr 2019 12:21:23 +0000 (14:21 +0200)]
Merge pull request #7153 from Icinga/bugfix/windows-plugins
Fix compiler warnings in Windows plugins
Michael Friedrich [Tue, 30 Apr 2019 12:20:18 +0000 (14:20 +0200)]
Merge pull request #7152 from Elias481/fix/mysql8-headers-compatibility
account for adjusted interface of mysql8
Michael Friedrich [Tue, 30 Apr 2019 10:19:35 +0000 (12:19 +0200)]
Active packages: Don't try to fix broken config packages which are not cached yet
Michael Insel [Tue, 30 Apr 2019 08:32:44 +0000 (10:32 +0200)]
Fix compiler warnings in Windows plugins
This fixes a bunch of compiler warnings in the Windows plugins.
Markus Frosch [Mon, 29 Apr 2019 15:01:15 +0000 (17:01 +0200)]
Merge pull request #7145 from Icinga/feature/dotnet-4.6
Raise .NET target version to 4.6
Michael Insel [Mon, 29 Apr 2019 09:41:49 +0000 (11:41 +0200)]
Doc: Raise required .NET framework version
This raises the required .NET framework version in the installation
documentation. This also adds notes in the upgrading documentation
for the new .NET Framework requirements.
Update .NET requirements for development on Windows.
refs #7090
Michael Insel [Thu, 25 Apr 2019 16:14:04 +0000 (18:14 +0200)]
Use WixNetFxExtension to detect installed .NET
This implements the use of the WixNetFxExtension for the WIX toolset, to
detect the installed .NET Framework version. If the installed .NET
version is lower than 4.6 the installation process will terminate with
the note to install at least .NET Framework 4.6.
refs #7090
Michael Friedrich [Mon, 29 Apr 2019 07:13:22 +0000 (09:13 +0200)]
Merge pull request #6734 from leeclemens/remove-redundant-indexes
db ido: remove redundant mysql indexes
Michael Friedrich [Mon, 29 Apr 2019 07:01:52 +0000 (09:01 +0200)]
Merge pull request #7151 from marxin/fix-docs-chkconfig
Documentation: add missing argument to chkconfig command.
Elias Ohm [Sun, 28 Apr 2019 22:18:15 +0000 (00:18 +0200)]
account for adjusted interface of mysql8 (now utilizes c99 bools instead of my_bool labelled chars)
marxin [Sat, 27 Apr 2019 10:48:37 +0000 (12:48 +0200)]
Documentation: add missing argument to chkconfig command.
Michael Friedrich [Fri, 26 Apr 2019 12:51:28 +0000 (14:51 +0200)]
Repair broken API config packages at runtime
This means a new timer which checks every 5m whether the
active-stage can be read, and if not, it overwrites the
file on disk with the details from memory.
Michael Friedrich [Fri, 26 Apr 2019 12:43:38 +0000 (14:43 +0200)]
Cluster: Don't try to sync objects from broken _api package
Michael Friedrich [Fri, 26 Apr 2019 12:43:10 +0000 (14:43 +0200)]
Daemon: Deal with exceptions from broken _api package
Michael Friedrich [Tue, 16 Apr 2019 14:37:38 +0000 (16:37 +0200)]
Cache the API package stage name with a active-stage fallback
This prevents reading the file everytime the stageName is required
for when creating a runtime object via REST API.
Michael Friedrich [Fri, 26 Apr 2019 10:04:58 +0000 (12:04 +0200)]
Merge pull request #7148 from Icinga/feature/api-setup-cn
Add --cn parameter to 'api setup' CLI command allowing hostname overrides
Michael Friedrich [Fri, 26 Apr 2019 08:51:39 +0000 (10:51 +0200)]
Add --cn parameter to 'api setup' CLI command allowing hostname overrides
fixes #6649
Michael Friedrich [Fri, 26 Apr 2019 08:26:25 +0000 (10:26 +0200)]
Merge pull request #7146 from Icinga/feature/update-release-docs
Update release procedure
Michael Friedrich [Fri, 26 Apr 2019 08:22:31 +0000 (10:22 +0200)]
Drop the changelog generator script
Michael Friedrich [Fri, 26 Apr 2019 08:22:05 +0000 (10:22 +0200)]
Update release docs and make changelog a static entry
Michael Friedrich [Fri, 26 Apr 2019 06:26:59 +0000 (08:26 +0200)]
Merge pull request #7124 from Icinga/bugfix/namespace-thread-safe
Namespace: place ObjectLock in all methods
Michael Insel [Wed, 24 Apr 2019 18:05:16 +0000 (20:05 +0200)]
Drop .NET 2.0/3.0/3.5 as supported .NET platform
This drops .NET 2.0, 3.0 and 3.5 as as supported .NET runtime platform.
The maximum version can only be v4.0, which targets currently all .NET
4.x releases. Therefor I added the sku flag to enforce .NET 4.6 as
minimum runtime platform. Since .NET 4.x is backwards compatible we
should be safe to only set the minimum version/sku here (i.e. we should
be able to run the application on a system with .NET 4.7)
refs #7090
Michael Insel [Wed, 24 Apr 2019 17:31:14 +0000 (19:31 +0200)]
Raise .NET target version to 4.6
This sets the target .NET framework version to 4.6.
The Prefer32Bit option was introduced with .NET 4. When set to true this
will generate x86 machine code on a 64-bit system, but this only affects
projects where the platform target is set to Any CPU. CMake generates
the project based on the system. Since the Prefer32Bit option was auto
generated during the switch to the new .NET version I ensured this is
explicitly set to false.
refs #7090
Michael Friedrich [Thu, 25 Apr 2019 14:54:43 +0000 (16:54 +0200)]
Merge pull request #7088 from Icinga/feature/asio-event-queue
Implement new event queue for ASIO consumers
Michael Friedrich [Thu, 25 Apr 2019 14:21:07 +0000 (16:21 +0200)]
Eventqueue: Remove unused code
Alexander A. Klimov [Tue, 23 Apr 2019 09:02:01 +0000 (11:02 +0200)]
EventsFilter#Push(): ensure not to modify the global namespace
Alexander A. Klimov [Mon, 8 Apr 2019 07:43:00 +0000 (09:43 +0200)]
/v1/events: don't over-consume CPU-bound threads
Alexander A. Klimov [Fri, 5 Apr 2019 15:41:39 +0000 (17:41 +0200)]
New event queue: handle empty filter
Alexander A. Klimov [Fri, 5 Apr 2019 15:36:50 +0000 (17:36 +0200)]
/v1/events: remove anti-deadlock hack
Alexander A. Klimov [Fri, 5 Apr 2019 15:34:46 +0000 (17:34 +0200)]
/v1/events: use new event queue
Alexander A. Klimov [Fri, 5 Apr 2019 15:14:19 +0000 (17:14 +0200)]
Feed new event queue with events
Alexander A. Klimov [Fri, 5 Apr 2019 15:02:42 +0000 (17:02 +0200)]
Implement new event queue for ASIO consumers
Michael Friedrich [Thu, 25 Apr 2019 13:56:14 +0000 (15:56 +0200)]
Merge pull request #6722 from Icinga/feature/notification-result
Add notification result store/sync
Michael Friedrich [Thu, 25 Apr 2019 13:53:55 +0000 (15:53 +0200)]
Merge pull request #7102 from Icinga/feature/boost-fs-7101
Replace self-written filesystem ops with boost.filesystem
Michael Friedrich [Thu, 25 Apr 2019 12:20:42 +0000 (14:20 +0200)]
Merge pull request #6988 from Icinga/feature/thread-pool-6985
ThreadPool: use the Boost ASIO thread pool under the hood
Markus Frosch [Thu, 25 Apr 2019 09:54:26 +0000 (11:54 +0200)]
Ensure header ordering for win32 mswsock.h
Alexander A. Klimov [Wed, 10 Apr 2019 12:16:39 +0000 (14:16 +0200)]
Replace unlink() with boost::filesystem::remove()
refs #7101
Alexander A. Klimov [Wed, 10 Apr 2019 11:44:13 +0000 (13:44 +0200)]
Replace _unlink() + rename() with boost::filesystem::rename()
refs #7101
Alexander A. Klimov [Wed, 10 Apr 2019 10:31:53 +0000 (12:31 +0200)]
Work around boost::filesystem::path bug on VS
refs #7101
Alexander A. Klimov [Wed, 10 Apr 2019 09:21:05 +0000 (11:21 +0200)]
Use Boost.Filesystem
refs #7101
Alexander A. Klimov [Tue, 9 Apr 2019 15:42:02 +0000 (17:42 +0200)]
Require Boost.Filesystem
refs #7101
Michael Friedrich [Tue, 23 Apr 2019 14:59:49 +0000 (16:59 +0200)]
Fix preprocessor macro comment
Alexander A. Klimov [Mon, 1 Apr 2019 16:54:13 +0000 (18:54 +0200)]
Fix circular #include
refs #6985
Alexander A. Klimov [Mon, 1 Apr 2019 15:05:16 +0000 (17:05 +0200)]
ThreadPool: use the Boost ASIO thread pool under the hood
Michael Friedrich [Wed, 24 Apr 2019 10:10:57 +0000 (12:10 +0200)]
Buildfix
Obviously tired.
fixes #7138
fixes #7139
Michael Friedrich [Wed, 24 Apr 2019 09:54:54 +0000 (11:54 +0200)]
Merge pull request #7140 from Icinga/feature/docs-logrotate
Add log message for log rotate; update docs
Michael Friedrich [Wed, 24 Apr 2019 09:33:43 +0000 (11:33 +0200)]
Add log message for log rotate; update docs
refs #6737
Michael Friedrich [Wed, 24 Apr 2019 09:52:16 +0000 (11:52 +0200)]
Merge pull request #7004 from Icinga/bugfix/logrotate-6737
Timer::TimerThreadProc(): use C++11 lambda instead of bind()
Alexander A. Klimov [Mon, 11 Mar 2019 10:17:26 +0000 (11:17 +0100)]
Timer::TimerThreadProc(): use C++11 lambda instead of bind()
refs #6737
Michael Friedrich [Wed, 24 Apr 2019 09:49:33 +0000 (11:49 +0200)]
Merge pull request #7130 from Icinga/bugfix/logrotate-issues-6737
StreamLogger#BindStream(): set #m_FlushLogTimer only if needed
Alexander A. Klimov [Thu, 18 Apr 2019 10:23:50 +0000 (12:23 +0200)]
StreamLogger#BindStream(): set #m_FlushLogTimer only if needed
refs #6737
Michael Friedrich [Wed, 24 Apr 2019 09:45:16 +0000 (11:45 +0200)]
Merge pull request #7129 from Elias481/fix/logrotate-segfaults-6737
avoid incrementing Ptr which could be already be in destruction-phase
Elias Ohm [Wed, 17 Apr 2019 20:31:42 +0000 (22:31 +0200)]
Fix for double-free (and possibly other memory-corruption related) crashes at logrotate time
this is a direct fix of the issue revealing the problem that leads to crash
verification done with a patched icinga2 where the execution-order of the code lines of counter-parts involved in re-incrementing/decrementing Timer:Ptr is forced to be the one that leads to the obeserverd segfaults
refs #6737
Michael Friedrich [Tue, 23 Apr 2019 13:33:28 +0000 (15:33 +0200)]
Docs: Fix formatting in object type chapter
Michael Friedrich [Tue, 23 Apr 2019 12:53:00 +0000 (14:53 +0200)]
Merge pull request #7135 from Icinga/feature/boost-asio-elasticsearchwriter
Use new I/O engine in ElasticsearchWriter
Michael Friedrich [Tue, 23 Apr 2019 12:50:18 +0000 (14:50 +0200)]
Merge pull request #7137 from Icinga/bugfix/disconnect-log-more-spam
JsonRpcConnection: reduce log spam on disconnect
Alexander A. Klimov [Tue, 23 Apr 2019 11:15:38 +0000 (13:15 +0200)]
Use new I/O engine in ElasticsearchWriter
Michael Friedrich [Tue, 23 Apr 2019 12:31:42 +0000 (14:31 +0200)]
Merge pull request #7134 from Icinga/feature/boost-asio-influxdbwriter
Use new I/O engine in InfluxdbWriter
Michael Friedrich [Tue, 23 Apr 2019 12:27:48 +0000 (14:27 +0200)]
Merge pull request #7133 from Icinga/feature/boost-asio-pki
Use new I/O engine in PkiUtility::FetchCert() and PkiUtility::RequestCertificate()
Alexander A. Klimov [Tue, 23 Apr 2019 12:09:07 +0000 (14:09 +0200)]
JsonRpcConnection: reduce log spam on disconnect
Michael Friedrich [Tue, 23 Apr 2019 11:47:40 +0000 (13:47 +0200)]
Quickfix technical docs for debugging
Michael Friedrich [Tue, 23 Apr 2019 10:08:12 +0000 (12:08 +0200)]
Merge pull request #7127 from Icinga/bugfix/replay-log
ApiListener#RotateLogFile(): don't overwrite previous log
Michael Friedrich [Tue, 23 Apr 2019 10:07:02 +0000 (12:07 +0200)]
Merge pull request #7126 from Icinga/bugfix/replay-logs-6932
ApiListener#ApiTimerHandler(): delete all replayed logs
Alexander A. Klimov [Tue, 23 Apr 2019 09:25:52 +0000 (11:25 +0200)]
Use new I/O engine in InfluxdbWriter
Michael Friedrich [Tue, 23 Apr 2019 09:53:40 +0000 (11:53 +0200)]
Merge pull request #7128 from Icinga/feature/re-write-objectlock-7123
Re-write ObjectLock's implementation details
Alexander A. Klimov [Tue, 23 Apr 2019 09:25:26 +0000 (11:25 +0200)]
Introduce OptionalTlsStream
Alexander A. Klimov [Wed, 17 Apr 2019 13:42:39 +0000 (15:42 +0200)]
ApiListener#ReplayLog(): read current log file too instead of rotating
Alexander A. Klimov [Wed, 17 Apr 2019 12:31:49 +0000 (14:31 +0200)]
ApiListener#RotateLogFile(): don't overwrite previous log
Alexander A. Klimov [Wed, 17 Apr 2019 11:52:13 +0000 (13:52 +0200)]
ApiListener#ApiTimerHandler(): delete all replayed logs
refs #6932
Alexander A. Klimov [Wed, 17 Apr 2019 16:15:32 +0000 (18:15 +0200)]
Make Object#m_Mutex std::recursive_mutex
refs #7123
Alexander A. Klimov [Wed, 17 Apr 2019 16:03:40 +0000 (18:03 +0200)]
Make Object#m_LockOwner std::atomic<std::thread::id>
refs #7123
Alexander A. Klimov [Wed, 17 Apr 2019 14:47:41 +0000 (16:47 +0200)]
ObjectLock: deduplicate constructors
refs #7123
Alexander A. Klimov [Wed, 17 Apr 2019 12:18:20 +0000 (14:18 +0200)]
Rotate replay log on shutdown, not on startup
Michael Friedrich [Wed, 17 Apr 2019 11:17:41 +0000 (13:17 +0200)]
Merge pull request #7050 from Icinga/feature/previous-state-change
Implement previous_state_change
Michael Friedrich [Wed, 17 Apr 2019 11:16:23 +0000 (13:16 +0200)]
Merge pull request #7112 from Icinga/bugfix/service-handled
Include host state in Service#handled and Service#severity
Michael Friedrich [Wed, 17 Apr 2019 11:14:32 +0000 (13:14 +0200)]
Merge pull request #7121 from Icinga/bugfix/concurrent-checks
Fix that MaxConcurrentChecks constant is overridden from 'checker' feature
Michael Friedrich [Tue, 16 Apr 2019 15:40:20 +0000 (17:40 +0200)]
Merge pull request #7122 from Icinga/bugfix/evaluatefilter-change-globals
FilterUtility::EvaluateFilter(): ensure not to modify the global namespace
Alexander A. Klimov [Tue, 16 Apr 2019 15:38:58 +0000 (17:38 +0200)]
Namespace: place ObjectLock in all methods
Michael Friedrich [Tue, 16 Apr 2019 14:02:16 +0000 (16:02 +0200)]
Merge pull request #7113 from Elias481/fix/incorrect-usage-of-global-namespace-6874-6785
use dedicated permissions namespace for scriptframe in filterutility
Alexander A. Klimov [Tue, 16 Apr 2019 13:53:44 +0000 (15:53 +0200)]
FilterUtility::EvaluateFilter(): ensure not to modify the global namespace
Michael Friedrich [Mon, 15 Apr 2019 14:56:30 +0000 (16:56 +0200)]
Fix that MaxConcurrentChecks constant is overridden from 'checker' feature
Note: This drops the deprecated concurrent_checks setting from the checker feature
entirely and refactors the underlaying code handling.
Also affects ReloadTimeout which is new for 2.11.
fixes #7111
Michael Friedrich [Tue, 16 Apr 2019 09:08:15 +0000 (11:08 +0200)]
Merge pull request #7120 from Icinga/bugfix/cluster-ignore-non-configured-zones
Ignore synced config zones where no config item exists
Michael Friedrich [Fri, 28 Sep 2018 11:55:41 +0000 (13:55 +0200)]
Ignore synced config zones where no config item exists
The culprit is that we're in compiling configuration stage here,
we don't have access to `Zone::GetByName()` as objects have not
been activated yet.
Our best guess is from a config item loaded before (e.g. from zones.conf)
since no-one can sync zones via cluster config sync either.
It may not be 100% correct since the zone object itself may be invalid.
Still, if the zone object validator fails later, the config breaks either way.
The problem with removal of these directories is dealt by the cluster
config sync with stages.
refs #6727
refs #6716
Michael Friedrich [Mon, 15 Apr 2019 11:40:06 +0000 (13:40 +0200)]
Merge pull request #7116 from Icinga/feature/no-reachable
Drop Checkable#reachable in favor of #last_reachable
Michael Friedrich [Fri, 12 Apr 2019 13:28:49 +0000 (15:28 +0200)]
Merge pull request #7115 from Icinga/feature/docs-api
Improve REST API docs
Michael Friedrich [Fri, 12 Apr 2019 10:49:41 +0000 (12:49 +0200)]
Improve REST API docs
- Better explanation for filters and filter_vars
- Update examples to use filters in the body only, don't fuck around with the URL parameters.
- Better explain actions and their intent
- More insights into config packages and their intention
- Improve API clients and add the tables from icinga2-api-examples
- Formatting for CLI requests
Alexander A. Klimov [Fri, 12 Apr 2019 11:03:11 +0000 (13:03 +0200)]
Drop Checkable#reachable in favor of #last_reachable
Michael Friedrich [Fri, 12 Apr 2019 07:34:34 +0000 (09:34 +0200)]
Docs: Fix RPM snapshot repo name
Elias Ohm [Fri, 12 Apr 2019 06:10:57 +0000 (08:10 +0200)]
* use dedicated permissions namespace for scriptframe in filterutility to allow proper parallel execution
* fixes issue https://github.com/Icinga/icinga2/issues/6785 where permission checks get wrong result because permissions checks are done within a shared namespaces without using only unique keys
* mitigates issue https://github.com/Icinga/icinga2/issues/6874 where segmentation faults occur because of concurrent access to non threadsafe parts of namespace (a fix for thread safety of namespaces which would be an alternative approach to get rid of these segfaults is out of scope of this fix as 6785 needs to be fixed anyway and this is the straight-forwards) way to fix that
* do the same for eventqueue (not certain whether events can be processed in parallel but I expect it is the case)
Alexander A. Klimov [Thu, 11 Apr 2019 09:36:23 +0000 (11:36 +0200)]
Service: reduce severity while host is down
Alexander A. Klimov [Thu, 11 Apr 2019 09:25:45 +0000 (11:25 +0200)]
Service: be handled while host is down
Michael Friedrich [Thu, 11 Apr 2019 09:20:46 +0000 (11:20 +0200)]
Merge pull request #7109 from Icinga/feature/enhance-cluster-message-send-code-docs
Improve code docs for cluster message routing conditions
Michael Friedrich [Wed, 10 Apr 2019 12:17:36 +0000 (14:17 +0200)]
Improve code docs for cluster message routing conditions
refs #6781
Michael Friedrich [Tue, 9 Apr 2019 14:57:31 +0000 (16:57 +0200)]
Merge pull request #7097 from Icinga/bugfix/disconnect-log-spam
JsonRpcConnection: reduce log spam on disconnect
Michael Friedrich [Tue, 9 Apr 2019 14:55:47 +0000 (16:55 +0200)]
Merge pull request #7096 from Icinga/feature/derivative-states
Expose derivative states via API
Michael Friedrich [Tue, 9 Apr 2019 12:16:39 +0000 (14:16 +0200)]
Merge pull request #7073 from Icinga/feature/docs-development-macos-windows
Improve docs for 2.11: Development, test snapshot packages & installation repos
Michael Friedrich [Tue, 9 Apr 2019 12:08:39 +0000 (14:08 +0200)]
Docs: Update installation for 2.11; remove EOL distributions