Commit Graph

3888 Commits

Author SHA1 Message Date
Gunnar Beutner 63fd6e3905 Get rid of INITIALIZE_ONCE for the ExternalCommandProcessor 2017-11-30 17:47:09 +01:00
Gunnar Beutner 9ce950b0f1 Replace boost::ref/boost::cref with std::ref/std::cref 2017-11-30 17:47:09 +01:00
Gunnar Beutner df8266631d Replace boost::tuple with std::tuple 2017-11-30 17:41:02 +01:00
Gunnar Beutner 160ab21e59 Replace CheckResult::StaticInitialize with a lambda function 2017-11-30 17:41:02 +01:00
Gunnar Beutner 6739023678 Dynamically create and destroy the timer thread 2017-11-30 17:41:02 +01:00
Gunnar Beutner 6d09efc907 Use std::shared_ptr instead of boost::shared_ptr 2017-11-30 17:41:00 +01:00
Gunnar Beutner 245feca0e7 Move the Timer::Holder class to timer.cpp 2017-11-30 17:39:22 +01:00
Gunnar Beutner 300d424459 Use std::promise instead of boost::promise 2017-11-30 17:39:22 +01:00
Gunnar Beutner 7d7eaa8dd3 Replace boost::thread with std::thread 2017-11-30 17:39:20 +01:00
Gunnar Beutner c6e36723d5
Merge pull request #5819 from Icinga/feature/avoid-func-call-allocations
Avoid unnecessary allocations in the FunctionCallExpression class
2017-11-29 14:24:46 +01:00
Gunnar Beutner db6a1fcdb7 Avoid unnecessary allocations in the FunctionCallExpression class 2017-11-29 14:11:09 +01:00
Gunnar Beutner d5961bb76c Re-implement WrapFunction() using C++11 features 2017-11-29 11:53:45 +01:00
Gunnar Beutner f3c825cb86
Merge pull request #5803 from Icinga/feature/cxx11-std-bind
Replace boost::bind/boost::function with std::bind/std::function
2017-11-29 08:28:44 +01:00
Michael Friedrich f267135711 Update NodeName/ZoneName constants with 'api setup'
This commit also moves the constants.conf backup logic
into NodeUtility::UpdateConstant() where it belongs.

Logging has been slightly adopted too.

fixes #5763
2017-11-28 13:38:53 +01:00
Michael Friedrich 8e65aa0677
Merge pull request #5804 from Icinga/fix/update-repository-message-error
Silence UpdateRepository message errors
2017-11-28 11:27:12 +01:00
Gunnar Beutner 1006ea0433 Fix missing variable name which can lead to segfaults 2017-11-27 16:06:59 +01:00
Gunnar Beutner 858873b940 Replace boost::bind/boost::function with std::bind/std::function 2017-11-27 15:15:11 +01:00
Gunnar Beutner 6b3931973e
Merge pull request #5555 from Icinga/feature/ecc-certs
Implement support for ECC certificates
2017-11-27 15:11:04 +01:00
Jean Flach 27aaa10ee9
Merge pull request #5718 from Icinga/fix/verify-error-codes-and-returned-log-messages-in-api-actions-5550
API: Fix http status codes
2017-11-27 14:41:29 +01:00
Noah Hilverling e31b236cba API: Fix http status codes
fixes #5550
2017-11-27 14:06:38 +01:00
Michael Friedrich cf16324320 Silence UpdateRepository message errors
Mixed setups with 2.8 and 2.7 will log this error every time
a new message is received. While this is truly an error,
it just fills the log to infinity. Should be used for debug only.

fixes #5776
2017-11-27 12:09:42 +01:00
Gunnar Beutner 3a8d4c5920
Merge pull request #5716 from spaolo/fix/livestatus-empty-result-with-nonmatch-filter-5626
add bogus zero reply in livestatus when aggregate and non matching filter
2017-11-27 10:35:05 +01:00
Gunnar Beutner 4fcb1af8fa
Merge pull request #5746 from sni/livestatus_should_return_empty_lists
livestatus: custom variables return empty arrays instead of strings
2017-11-27 10:33:32 +01:00
Gunnar Beutner 57e74372d3
Merge pull request #5675 from froehl/feature/influxdbwriter-perf-unit-5627
Add pdv unit to influxdbwriter if not empty + doc
2017-11-27 10:32:44 +01:00
Gunnar Beutner 55b1cce248
Merge pull request #5744 from Icinga/feature/embedded-dummy-check
Implement DummyCheckTask and move dummy into embedded in-memory checks
2017-11-27 10:25:43 +01:00
Gunnar Beutner 734efb3569
Replace spaces with tabs 2017-11-27 10:24:12 +01:00
Gunnar Beutner 81ae14cd17
Merge pull request #5729 from Icinga/fix/correct-node-wizard-output-formatting
Correct node wizard output formatting
2017-11-27 10:19:12 +01:00
Gunnar Beutner 1b4206e5b1
Merge pull request #5725 from Icinga/feature/proper-uuids
Use real UUIDs for Utility::NewUniqueID
2017-11-27 10:18:52 +01:00
Gunnar Beutner 093e08e3da
Merge pull request #5388 from leeclemens/fix/clang-misdetection
Handle mis-detection with clang on RHEL/CentOS 7
2017-11-27 10:17:52 +01:00
Gunnar Beutner 65bc62266d Fix error reporting for 'icinga2 console -r' 2017-11-24 12:56:42 +01:00
Michael Friedrich 35f0df3fe5 Disable Flapping detection on Windows 2017-11-17 12:59:07 +01:00
Gunnar Beutner 52692a008e Fix incorrect socket handling for the HTTP client 2017-11-15 09:53:38 +01:00
Noah Hilverling c10f0a639b RingBuffer: Add CalculateRate()
refs #5750
2017-11-14 11:06:56 +01:00
Noah Hilverling 054faa54d5 Return bytes sent/written in SendMessage() and WriteStringToStream()
refs #5509
2017-11-14 08:18:23 +01:00
Noah Hilverling 2acaccd028 Fix that RingBuffer does not get updated if nothing is written
refs #5750
2017-11-13 16:17:59 +01:00
Sven Nierlein 7bf5b3ff42 livestatus: custom variables return empty arrays instead of strings
livestatus queries for custom variables should return an empty list, ex: []
instead of an empty string if there are no variables.

Signed-off-by: Sven Nierlein <sven@nierlein.de>
2017-11-10 14:53:37 +01:00
Michael Friedrich 6d9a0b7145 Implement DummyCheckTask and move dummy into embedded in-memory checks
This replaces the previous "dummy" CheckCommand, and the user won't
notice it. Provided performance data will be parsed the same way.

This saves a shell fork and check_dummy execution.

We're relying on this when creating cluster checks with Icinga 2 DSL
and more. If one does not have the plugins installed, this then also works.

fixes #5740
2017-11-09 20:19:31 +01:00
Michael Friedrich 7c0a09cfb6 Rename ElasticWriter to ElasticsearchWriter
This better reflects its purpose as otherwise it would imply
that you need Elastic Stack for it. Graylog also reads from
Elasticsearch instances, this could serve as additional integration
here.
2017-11-09 15:33:10 +01:00
Paolo Schiro 490b822f38 add a bogus zero reply in livestatus if aggregate filter does not match, fix I#5626 2017-11-09 01:32:30 +01:00
Jean Flach f4a1747e14
Merge pull request #5732 from Icinga/fix/flapping
Fix flapping calculation and events

fixes #5720
2017-11-08 15:10:55 +01:00
Michael Friedrich 41d54029c8 Fix log messages for flapping 2017-11-08 12:12:27 +01:00
Noah Hilverling e6f94ff203 Correct node wizard output formatting 2017-11-08 09:04:25 +01:00
Lee Clemens 9fdfa5ee10 Handle mis-detection with clang on RHEL/CentOS 7
C++11 features available: BOOST_NO_CXX11_HDR_TUPLE

refs #5257
2017-11-08 08:34:45 +01:00
Michael Friedrich 42b1e7ce79 Use the entry_time for icinga_comments updates
This follows all other queries in their where condition
using entry_time for comments/downtimes.
2017-11-07 16:37:12 +01:00
Michael Friedrich e0e7f9ae6b DB IDO: Force users to upgrade the schema to avoid workaround fixes/missing indexes 2017-11-07 16:37:12 +01:00
Jean Flach e83ddbd8b2 Remove unnecessary keys from where clauses 2017-11-07 16:37:12 +01:00
Eric Lippmann 6f6703042e ido: Drop unused instance_id indices from comments, downtimes and their related history tables 2017-11-07 16:37:12 +01:00
Jean Flach 1632415370 Fix commenthistory
refs #5492
2017-11-07 16:37:12 +01:00
Jean Flach 30be02bcae Alter DowntimeRemoval behaviour
This adds an additional index to the downtimehistory and updates the
dbevents in a way that it uses that index
2017-11-07 16:37:12 +01:00
Gunnar Beutner 6f8b62333f Use real UUIDs for Utility::NewUniqueID 2017-11-07 13:53:04 +01:00
Jean Flach 872d4895f0 Fix flapping endianness and events
fixes #5720
2017-11-07 11:13:17 +01:00
Michael Friedrich 260c6d7438 Node setup: ticket parameter is now optional
refs #5681
2017-11-03 14:10:45 +01:00
Michael 86cdc5bc53 Include default global zones during node wizard/setup
This changes the GenerateNodeMasterIcingaConfig and GenerateNodeIcingaConfig
functions inside the nodeutillity class to the effect, that the default global
zones global-templates and director-global will be written to the generated
zones.conf that is created during the node wizard/setup.

refs #5707

Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-10-31 12:07:12 +01:00
Jean Flach 9ba5b4f4b7 Merge pull request #5693 from Icinga/fix/flapping-old-4982
Re-implement flapping

fixes #4982
2017-10-24 16:58:59 +02:00
Jean Flach a21ffd6fe4 Fix flapping
Re-implement flapping following the 'old way' of just observing the last
20 stage changes.

refs #4982
2017-10-24 15:54:05 +02:00
Gunnar Beutner 2bbb5366fd Merge pull request #5620 from Icinga/fix/api-staging-3668
WIP: Ensure that the REST API config package/stage creation is atomic
2017-10-24 12:51:09 +02:00
Noah Hilverling 3e8f78e2cc Process: Fix fork error handling
refs #5617
2017-10-23 11:01:42 +02:00
Noah Hilverling 7930ae5094 Process: Remove log message from child process 2017-10-23 11:01:16 +02:00
Gunnar Beutner f2d437e96c Implement support for migrating certificates to /var/lib/icinga2/certs
This commit includes documentation too.

Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-10-20 14:06:02 +02:00
Jean Flach aad96d6b09 Improve error message for unknow functions
refs #5686
2017-10-18 11:25:38 +02:00
Michael Friedrich 9d68ae9f1f Merge pull request #5602 from Icinga/fix/config-validation-fails-on-windows-with-unprivileged-account-5515
Add windows process elevation and log message if user does not have privileges to read/write files
2017-10-13 16:31:12 +02:00
Fabian Röhl 82794474e6 Add pdv unit to influxdbwriter if not empty + doc
refs #5627
2017-10-13 14:54:00 +02:00
Michael Friedrich 0b1ce7111c Merge pull request #5231 from Al2Klimov/bugfix/failure-to-kill-check-command-after-exceeding-timeout-is-not-reported-4981
Report failure to kill check command after exceeding timeout
2017-10-13 13:57:26 +02:00
Michael Friedrich 77ecdbd85c Merge pull request #5581 from Icinga/fix/api-crash-race-condition
Fix possible race condition in ApiListener locking
2017-10-12 13:40:59 +02:00
Michael Friedrich 87979fd0a1 Merge pull request #5637 from Icinga/fix/influxdb-unnecessary-string-casts
Fix unnecessary String() casts in InfluxdbWriter
2017-10-12 13:22:43 +02:00
Michael Friedrich 9a04a99400 Merge pull request #5554 from Icinga/feature/cn-check-for-san
Add subjectAltName extension for all non-CA certificates
2017-10-10 17:50:01 +02:00
Michael Friedrich ff570ad060 Merge pull request #5636 from Icinga/fix/db-ido-comments-downtimes-constraint-on-legacy-id-change
Fix unique constraint matching for UPDATE downtime/comment runtime tables in DB IDO
2017-10-10 17:47:47 +02:00
Michael Friedrich 06403c1147 Merge pull request #5635 from Icinga/fix/match-with-empty-array
Fix match(), regex(), cidr_match() behaviour with MatchAll and empty arrays
2017-10-10 17:46:51 +02:00
Michael Friedrich a521f49803 Fix debug builds on Apple Clang 9.0.0 (macOS High Sierra) 2017-10-02 13:49:42 +02:00
Michael Friedrich b9cfd4d2e9 Fix unnecessary String() casts in InfluxdbWriter
fixes #5629
2017-09-29 16:33:08 +02:00
Michael Friedrich 6061d56a7c Fix unique constraint matching for UPDATE downtime/comment runtime tables in DB IDO
fixes #5623
fixes #5603
2017-09-29 16:12:38 +02:00
Michael Friedrich c0a3de64fb Fix match(), regex(), cidr_match() behaviour with MatchAll and empty arrays
fixes #5634
2017-09-29 14:45:15 +02:00
Gunnar Beutner 92727d13c7 Fix a build warning
refs #5443
2017-09-25 12:15:59 +02:00
Michael Friedrich 953d840cc1 Fix certificate paths for installers
refs #5450
2017-09-22 15:00:45 +02:00
Michael Friedrich 11c41cd747 Drop unused code from NodeUtility class
refs #4799
2017-09-22 14:05:08 +02:00
Michael Friedrich 68cae91378 Remove bottom-up cluster messages
refs #4799
2017-09-22 14:04:53 +02:00
Michael Friedrich 601c10b997 Remove bottom-up CLI commands
refs #4799
2017-09-22 14:04:43 +02:00
Noah Hilverling aab50f669c Add process elevation & log message if user does not have enough privileges
refs #5515
2017-09-22 10:25:17 +02:00
Jean Flach 79166a31d4 Revert "Add Log Warning in case active-stage is empty"
This reverts commit 287f72b0a0.
2017-09-21 13:54:29 +02:00
Jean Flach 287f72b0a0 Add Log Warning in case active-stage is empty
Maybe Critical instead? Throwing an exception seems unnecessary.

refs #3668
2017-09-20 17:57:14 +02:00
Michael Friedrich 74d13345dc Merge pull request #5587 from Icinga/feature/custom-syslog-facility-option-on-sysloglogger-object-3964
SyslogLogger: Implement option to set syslog facility
2017-09-20 17:25:58 +02:00
Jean Flach ef5013b903 Use locks in api config staging
refs #3668
2017-09-20 16:45:09 +02:00
ryanohnemus 1cb39994a5 API: Add optional reload parameter to config stage upload
You can now specify a boolean `reload` attribute that
will allow you to skip the icinga2 reload after config
validation. By default this is set to true.

The response text has been updated to show if icinga2
will reload or if it was requested to be skipped.

fixes #4769
2017-09-20 14:16:55 +02:00
Noah Hilverling ea24af6590 SyslogLogger: Implement option to set syslog facility
fixes #3964
2017-09-20 14:09:51 +02:00
Michael Friedrich 7bdeeeadcf Silence log level for configuration file updates
This only helps with debugging the configuration sync, but seems
to be highlighted quite often in default configurations (where
the timestamp is equal).

refs #5566
2017-09-20 13:30:02 +02:00
Noah Hilverling 94fe1b2292 HttpServerConnection: Implement CORS support
fixes #4326
2017-09-20 13:18:29 +02:00
Jean Flach 1b54772b85 Fix where clauses for downtime/comment DB IDO queries using a non-matching legacy id before
fixes #5458 #5492
2017-09-20 12:13:14 +02:00
Jean Flach 4df1125114 Fix Windows build error
fixes #5584
2017-09-18 17:47:08 +02:00
Michael Friedrich 9948bee51c Fix API crash with race condition on locks
This was split from #5416 and #5419.

More patches from #5419 are pending.

refs #5419
refs #5418
refs #5416

refs #5408
refs #5148
refs #5007
refs #4968
refs #4910
2017-09-18 15:25:29 +02:00
Gunnar Beutner 5179faceab Implement new script functions: path_exists, glob and glob_recursive 2017-09-18 13:59:03 +02:00
Gunnar Beutner 80421e4619 Build fix for OpenSSL < 1.0.2
refs #5450
2017-09-12 13:09:16 +02:00
Michael Friedrich 578dcbe861 Add some more verbose logging details
refs #5450
2017-09-12 12:52:50 +02:00
Michael Friedrich 501ade374c Remove debug logging, fix ticket path, enhance logging
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner 043106242d Remove API stubs for now
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner 88e57f7fd4 Implement support for cleaning up certificate requests
refs #5450
2017-09-12 12:52:49 +02:00
Michael Friedrich 0a85977831 Node Wizard: Tell the user to put ca.crt if no connection to parent is selected
This also fixes the choice tree for connection-less questions
and prevents empty tickets being stored on disk.

refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner 2fec16952d Remove unused code
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner f43516a097 Implement the --verbose option for "node wizard"
refs #5450
2017-09-12 12:52:49 +02:00
Michael Friedrich e424017c15 Refactor the node wizard/setup CLI commands
refs #5450
2017-09-12 12:52:49 +02:00
Michael Friedrich 181b91b759 Enhance logging for certificate requests
Examples:
https://github.com/Icinga/icinga2/issues/5450#issuecomment-327479874

This also adds code comments where applicable.

refs #5450
2017-09-12 12:52:49 +02:00