Commit Graph

2502 Commits

Author SHA1 Message Date
Gunnar Beutner f7ca0c5b52 Fix incorrect format specifier for fprintf 2015-03-02 12:41:44 +01:00
Jean-Marcel Flach 96583857c0 Fix whitespace 2015-03-02 12:35:58 +01:00
Jean-Marcel Flach 68e7de7e59 Work on troubleshoot cli
Changes the format timestamps are displayed.
--include-vars and --include-objects now print to console if --console
is given.
Also fixes two memory leaks.

fixes #8564 #8563
refs 3446
2015-03-02 12:21:34 +01:00
Gunnar Beutner 5968622108 Fix incorrect assignment in PluginUtility::ExecuteCommand
Coverity Bug ID: 1272344
2015-03-02 10:14:15 +01:00
Gunnar Beutner a296147839 Fix uninitialized fields in the StreamLogger class
Coverity Bug ID: 1272329
2015-03-02 10:14:15 +01:00
Gunnar Beutner ce1599fbb3 Fix uninitialized field in the LivestatusScriptFrame class
Coverity Bug ID: 1272326
2015-03-02 10:14:15 +01:00
Gunnar Beutner 8f7599d4b3 Fix uninitialized field in the LivestatusQuery class
Coverity Bug ID: 1272325
2015-03-02 10:14:15 +01:00
Gunnar Beutner 9548692f00 Fix uninitialized field in the Checkable class
Coverity Bug ID: 1272323
2015-03-02 10:14:14 +01:00
Gunnar Beutner 2ee1a197a9 Fix uninitialized field in the ScriptError class
Coverity Bug ID: 1272322
2015-03-02 10:14:14 +01:00
Gunnar Beutner e52a1f38f3 Fix uninitialized field in the ApiListener class
Coverity Bug ID: 1272321
2015-03-02 10:14:14 +01:00
Gunnar Beutner 41cb5977f3 Remove unreachable code
Coverity Bug ID: 1272319
2015-03-02 10:14:14 +01:00
Gunnar Beutner 5b286dae31 Fix leak in SocketEvents::Threadproc
Coverity Bug ID: 1272338
2015-03-02 10:14:14 +01:00
Gunnar Beutner b4be584679 Fix uninitialized fields
Coverity Bug ID: 1272331
2015-03-02 10:14:14 +01:00
Gunnar Beutner f1509d2f10 Fix uninitialized variable in DaemonUtility::ValidateConfigFiles
Coverity bug ID: 1272330
2015-03-02 10:14:14 +01:00
Jean-Marcel Flach ba9cf9e4c2 Add message concerning file compression to troubleshoot cli 2015-03-02 09:35:04 +01:00
Gunnar Beutner 2d65489f3a Make sure the WQ status timer is stopped properly
refs #8550
2015-03-01 22:25:48 +01:00
Gunnar Beutner cd380a8494 Fix another crash in Timer::Call
fixes #8550
2015-02-28 08:43:49 +01:00
Gunnar Beutner 4cc7d4963c Refactor the API timeout timer
refs #8554
2015-02-27 20:18:20 +01:00
Gunnar Beutner d7000fa757 Make sure that the timeout timer gets destroyed properly
refs #8554
2015-02-27 19:54:41 +01:00
Gunnar Beutner 9622b075bc Use the main threadpool to disconnect API clients
refs #8554
2015-02-27 18:32:28 +01:00
Gunnar Beutner 985c6bc7d9 Fix a deadlock in WorkQueue::WorkerThreadProc
refs #8554
2015-02-27 18:32:20 +01:00
Gunnar Beutner 5d1e549063 Fix a crash in Timer::Reschedule
refs #8554
2015-02-27 16:44:33 +01:00
Gunnar Beutner 5eb32efb05 Fix crash in SocketEvents::ThreadProc
fixes #8554
2015-02-27 15:53:38 +01:00
Jean-Marcel Flach 9ed21563ff Use RequestShutdown with exitcode instead of Application::Exit
fixes #8436
2015-02-27 14:43:30 +01:00
Gunnar Beutner 2884e8318d Fix null pointer dereference in ApiClient::TimeoutTimerHandler
fixes #8553
2015-02-27 14:12:50 +01:00
Jean-Marcel Flach 07fd4e6031 Add colours to troubleshoot cli
refs #3446
2015-02-27 14:09:26 +01:00
Gunnar Beutner d397933eff Fix a crash in Timer::Call
fixes #8473
2015-02-27 14:07:12 +01:00
Gunnar Beutner 9567cd663b Fix another potential hang in TlsStream::Handshake
refs #8550
2015-02-27 09:03:23 +01:00
Gunnar Beutner bb2cdff435 Fix a deadlock in ApiClient::Disconnect
fixes #8549
2015-02-26 17:23:06 +01:00
Gunnar Beutner 4e8c5706e1 Don't send heartbeats during log replay
fixes #8461
refs #8485
2015-02-26 14:59:39 +01:00
Gunnar Beutner fd090e057b Implement 'else if'
fixes #8548
2015-02-26 13:51:13 +01:00
Gunnar Beutner c439ee6d9f Fix a crash in ApiClient::TimeoutTimerHandler
refs #8485
2015-02-26 13:31:38 +01:00
Jean-Marcel Flach d084effa4b Change behaviour of troubleshoot cli parameters 2015-02-26 13:30:48 +01:00
Gunnar Beutner 0c51857084 Fix another crash in SocketEvents::Register
fixes #8547
2015-02-26 13:11:50 +01:00
Gunnar Beutner 1302f7c841 Improve log message for cluster connection timeouts
refs #8485
2015-02-26 13:09:13 +01:00
Jean-Marcel Flach cc99406dd3 Add --include-vars and --include-objects troubleshoot cli
refs #3446
2015-02-26 12:43:43 +01:00
Gunnar Beutner a3ccd2a1fb Close client connections if we haven't received any messages in some time
refs #8485
2015-02-26 12:41:47 +01:00
Gunnar Beutner 2b44fcb571 Make sure that the 'connecting' flag is reset properly
refs #8485
2015-02-26 11:26:08 +01:00
Michael Friedrich 93d390873d Fix Livestatus tests on Windows
fixes #8486
2015-02-26 11:14:55 +01:00
Gunnar Beutner c30d64a261 Build fix for Windows
refs #8486
2015-02-26 09:06:00 +01:00
Jean-Marcel Flach 150353d88f Remove --include-objects option from troubleshoot for now 2015-02-25 15:40:24 +01:00
Gunnar Beutner c86b17132c Make sure that the scheduled start time for downtimes isn't ignored
fixes #6959
2015-02-25 15:19:50 +01:00
Gunnar Beutner aef5bc2f3a Fix a crash in TlsStream::Close
fixes #8537
2015-02-25 14:41:23 +01:00
Michael Friedrich 49c5c42945 Change Livestatus query log level to 'notice'
fixes #8527
2015-02-25 14:11:59 +01:00
Gunnar Beutner 29ac204449 Fix valgrind warning in ExternalCommandListener::CommandPipeThread
fixes #8536
2015-02-25 14:05:57 +01:00
Jean-Marcel Flach 1d0f6ed457 Fix a missing import 2015-02-25 14:04:02 +01:00
Gunnar Beutner acd5d55f64 Fix null pointer dereference in ApiEvents::RepositoryTimerHandler
fixes #8535
2015-02-25 14:00:00 +01:00
Jean-Marcel Flach 19e160ce92 Fix some whitespace 2015-02-25 13:49:41 +01:00
Gunnar Beutner 4972364f42 Fix another problem where Icinga doesn't detect that a cluster connection is dead
refs #8485
2015-02-25 13:21:38 +01:00
Gunnar Beutner 4da3b1c5b3 Make sure that Notification objects are activated after Host/Service objects
fixes #8517
2015-02-25 12:43:38 +01:00
Jean-Marcel Flach dd6691537b Fix troubleshoot not writing everything to file 2015-02-25 11:08:55 +01:00
Jean-Marcel Flach a28685d139 Rename troubleshootCollectCommand to troubleshootCommand 2015-02-25 09:55:35 +01:00
Gunnar Beutner 551cb6ae87 Don't convert loop variables to string when using apply-for
fixes #8519
2015-02-24 17:51:16 +01:00
Gunnar Beutner 5fe2536629 Add missing locks in ApiListener::UpdateConfigDir 2015-02-24 16:03:32 +01:00
Gunnar Beutner 9cd681148d Fix crash in 'icinga2 console'
fixes #8516
2015-02-24 12:52:10 +01:00
Gunnar Beutner 12820d2225 Improve output formatting for the 'cluster-zone' check
refs #8515
2015-02-24 09:27:37 +01:00
Gunnar Beutner f4c7d945e2 Show slave lag for the cluster-zone check
fixes #8515
2015-02-24 09:14:17 +01:00
Gunnar Beutner 5ceb64d649 Implement the get_time() function 2015-02-24 09:08:31 +01:00
Gunnar Beutner 7504f3a3dc Prevent unnecessary thread wake-ups
refs #8485
2015-02-24 08:41:06 +01:00
Gunnar Beutner 2922d5d9bd Fix another potential problem where TLS connection might get stalled
refs #8485
2015-02-24 07:11:22 +01:00
Gunnar Beutner 6dd33fa751 Make sure to not ignore fields which are set to an empty string
fixes #8496
2015-02-23 15:25:04 +01:00
Gunnar Beutner a104dcf773 Add validator for the 'ignore_soft_states' attribute
refs #7326
2015-02-23 14:29:17 +01:00
Gunnar Beutner b5dbc66b22 Implement the 'is_inside' attribute for the TimePeriod type
refs #8467
2015-02-23 14:08:06 +01:00
Gunnar Beutner 47479ac4de Implement the 'get_time_period' function
refs #8467
2015-02-23 13:56:53 +01:00
Michael Friedrich aac53c1dd1 Add 'ignore_soft_states' attribute to Dependency objects
fixes #7326
2015-02-23 10:13:20 +01:00
Gunnar Beutner 4e27ded7ce Fix off-by-one mistake in error reporting for 'icinga2 console'
fixes #8500
2015-02-21 13:19:04 +01:00
Michael Friedrich 4e1c754786 Cli: Don't validate config objects in 'node update-config'
refs #8488
2015-02-20 21:34:59 +01:00
Gunnar Beutner 37e075c38a Move some of the initialization code into icinga-app
refs #6257
2015-02-20 19:57:26 +01:00
Michael Friedrich 9ae9204df2 Cli: Don't parse objects/changes on each AddObject() call
refs #8488
2015-02-20 17:05:00 +01:00
Jean Flach 8402d64fd9 Fix a Windows build error 2015-02-20 16:59:10 +01:00
Jean Flach 41f7ec9c8e Improve coding style conformation
refs #3446
2015-02-20 16:13:25 +01:00
Michael Friedrich 6455ef6b0a Cli: More code style fixes in 'troubleshoot' command
refs #3446
2015-02-20 15:27:53 +01:00
Gunnar Beutner 0fb55060d2 Fix another potential deadlock in SocketEvents::WakeUpThread
refs #8484
2015-02-20 15:25:56 +01:00
Michael Friedrich ba77d7b35f ApiListener: Fix misleading connection log messages
fixes #8493
2015-02-20 15:11:44 +01:00
Gunnar Beutner e2815de8a6 Fix stalled reconnection attempts for the cluster
refs #8485
2015-02-20 14:43:55 +01:00
Jean Flach e8e6b187b7 Enforce coding style 2015-02-20 14:14:34 +01:00
Jean Flach 7cedb381b8 Fix build error
fixes #8482
2015-02-20 13:40:32 +01:00
Jean Flach cb1caf560b Fix package build error 2015-02-20 09:55:07 +01:00
Jean Flach c75ecd8c45 Fix the build error for real 2015-02-19 17:44:42 +01:00
Jean Flach b026bb713f Fix the build error caused by the previous build fix 2015-02-19 17:27:42 +01:00
Jean Flach e9f9a2d665 Fix a build error 2015-02-19 17:22:51 +01:00
Jean Flach 1a9c4ceef6 Restructure troubleshootcollect, more after the jump
Changed `--output-file` to `--output`
Default output file now has a timestamp in the name, no more overwriting
Added Section headers and file markers
Taken time is now measured and output
And some format changes were made

refs #3446
2015-02-19 17:12:32 +01:00
Gunnar Beutner a76f816623 Implement the 'continue' and 'break' keywords
fixes #8394
2015-02-19 12:57:52 +01:00
Michael Friedrich 70c750250c Livestatus: Add GroupBy tables: hostsbygroup, servicesbygroup, servicesbyhostgroup
fixes #7361

Signed-off-by: Michael Friedrich <michael.friedrich@gmail.com>
2015-02-18 17:51:26 +01:00
Jean Flach afb9bea74d Move objectlistcommands printObject to objectlistuility
PrintObject() is now public and now everybody can use pretty object printing
2015-02-18 10:23:27 +01:00
Gunnar Beutner 33e747ae2e Don't require tickets for clients which already have a trusted certificate
fixes #8465
2015-02-18 08:13:44 +01:00
Gunnar Beutner 667b62cc3c Improve log messages for ApiListener::ApiTimerHandler 2015-02-17 15:46:29 +01:00
Gunnar Beutner d5c33d84f7 Fix a deadlock in ApiClient::~ApiClient
fixes #8462
2015-02-17 14:31:10 +01:00
Gunnar Beutner 31786fdaa1 Fix crash in SocketEvents::ChangeEvents
refs #6109
2015-02-17 13:21:43 +01:00
Gunnar Beutner f57bd0b38c Fix incorrect callback method name
fixes #8451
2015-02-17 12:40:19 +01:00
Michael Friedrich 0b273a0450 Fix livestatus query on commands table with custom vars
fixes #8452
2015-02-16 14:16:45 +01:00
Gunnar Beutner 8d5b270812 Fix another crash in SocketEvents::OnEvent
fixes #8446
2015-02-16 11:41:11 +01:00
Michael Friedrich e4c5c9fe76 DB IDO: Fix PostgreSQL schema file
refs #7765
2015-02-16 11:38:00 +01:00
Gunnar Beutner 3c6ca2957b Fix a crash in SocketEvents::OnEvent
fixes #8446
2015-02-15 18:50:25 +01:00
Michael Friedrich c3b365dc62 Livestatus: Add sanity checks for empty values 2015-02-15 16:49:29 +01:00
Michael Friedrich f201886865 Cli: Fix NetString::ReadStringFromStream() usage
refs #6109
2015-02-15 14:42:53 +01:00
Michael Friedrich 2036b87943 Fix NetString::ReadStringFromStream() EoF case in 'object list' command
refs #6109
2015-02-15 14:37:16 +01:00
Gunnar Beutner 9344ae30d0 Build fix 2015-02-15 13:09:53 +01:00
Jean Flach cc5a8da6e8 CLI: Add 'troubleshoot collect' command
By calling `icinga2 troubleshoot collect [--console]` a small file
containing basic application information and a tail of all found logs
and the latest crash report will be created [or displayed].
It does not collect config files at the moment.

refs #3446
2015-02-15 12:38:28 +01:00
Michael Friedrich 4a64d4991b DB IDO: Fix {host,service}checks command_line value is "Object of type 'icinga::Array'"
fixes #8438
2015-02-15 00:24:05 +01:00
Michael Friedrich 7a93cf8cce Don't attempt to restore program state from non-existing state file
fixes #8444
2015-02-14 23:39:10 +01:00
Gunnar Beutner 8903c7e379 Close TLS connections more aggressively
refs #6109
2015-02-14 19:14:45 +01:00
Gunnar Beutner 1c7a0d03a1 Fix a case where NetString::ReadStringFromStream might incorrectly return StatusEof
refs #6109
2015-02-14 18:48:33 +01:00
Gunnar Beutner 9e936cbea4 Fix unit tests for the Stream class
refs #6109
2015-02-14 17:40:29 +01:00
Gunnar Beutner f097e48889 Don't use separate threads for each ApiClient object
fixes #6109
2015-02-14 16:34:36 +01:00
Gunnar Beutner e0bbfb175c Move most of the socket I/O to a separate thread
fixes #8300
fixes #8243
2015-02-14 09:42:11 +01:00
Michael Friedrich 2ed78e82a8 Validate configured TimePeriod ranges
Requires re-throwing the hidden exceptions inside the existing
timeperiod code and validating the configured time range
strings then.

fixes #7576
2015-02-13 17:10:58 +01:00
Michael Friedrich 2cab6fbb9d Make the argments for the stats functions const-ref
fixes #8433
2015-02-13 11:29:15 +01:00
James Pharaoh 9fe52d0dc1 Make checks using 'command_endpoint' work inside HA zones
Previously there was no local processing of the executed
check result, which is mandatory inside a HA cluster.

Additionally this patch splits the command execution and
check result processing into more logical parts, executing
local checks, checks on the same command endpoint, and
remote checks.

More details in the referenced issue.

fixes #8249

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2015-02-12 17:53:50 +01:00
Michael Friedrich 8c8e80bbb0 Don't spam the log with reminder notifications not being sent
fixes #7731
2015-02-12 14:51:17 +01:00
Michael Friedrich 1c4501da19 DB IDO: Require schema version 1.13.0
refs #8425
2015-02-12 14:22:24 +01:00
Michael Friedrich 37bf9d4819 DB IDO: Fix header in sql files 2015-02-12 13:59:19 +01:00
Michael Friedrich 48fa1a1418 DB IDO: Fix duplicate entries in scheduleddowntime table
fixes #8425
2015-02-12 13:19:27 +01:00
Michael Friedrich 9d97094390 DB IDO: Fix duplicate entries in {host,service}depencencies table
fixes #7765
2015-02-12 13:19:27 +01:00
Michael Friedrich 2ae06b7a52 Implement {EN,DIS}ABLE_HOST_SVC_NOTIFICATIONS commands
fixes #7784
2015-02-11 16:45:52 +01:00
Michael Friedrich 24852e05c7 Move ValidateMacroString into the MacroProcessor class
refs #7311
2015-02-11 16:14:59 +01:00
Michael Friedrich 0d18b96c39 Resolve macros in dictionary values
refs #7311
2015-02-11 15:58:59 +01:00
Michael Friedrich 2cd5f3516d Fix compiler warning 2015-02-11 15:58:07 +01:00
Gunnar Beutner cb6f1043e1 Replace if( with if ( 2015-02-11 15:47:45 +01:00
Michael Friedrich 8ca57cba03 Add macro config validator for command args, env, custom attr, perfdata templates
fixes #7311
2015-02-11 15:32:10 +01:00
Gunnar Beutner c95d2f14a3 Fix a crash in yyerror()
refs #8133
2015-02-10 15:53:20 +01:00
Gunnar Beutner 43595515eb Fix off-by-one mistake for error reporting
refs #8133
2015-02-10 15:40:37 +01:00
Gunnar Beutner 9570b9d262 Improve error reporting for "icinga2 console"
refs #8133
2015-02-10 13:58:35 +01:00
Gunnar Beutner 0490fe73f7 Implement line continuation for "icinga2 console"
fixes #8133
2015-02-10 13:27:02 +01:00
Gunnar Beutner 2de89fe8d4 Allow funcs in the 'env' dictionary
refs #7564
2015-02-10 10:59:08 +01:00
Gunnar Beutner b0f7a29212 Add missing spaces in some error messages
refs #7995
2015-02-10 08:57:54 +01:00
Gunnar Beutner 9de7da4d2a Update validators for CustomVarObject
fixes #7542
2015-02-10 08:53:15 +01:00
Gunnar Beutner 898e385891 Implement argument auto-completion for short options
fixes #8185
2015-02-10 08:35:56 +01:00
Michael Friedrich cdfd4d6da8 node update-config: Check node name against blacklist too
fixes #8211
2015-02-09 18:56:17 +01:00
Gunnar Beutner f07fb97264 Fix timestamp format for the .timestamp file
fixes #8313
2015-02-09 15:22:55 +01:00
Gunnar Beutner 438e6dcd09 console: Don't repeat line when we're reporting an error for the last line
fixes #8099
2015-02-09 15:15:26 +01:00
Gunnar Beutner 96aa503dbe Disable flapping detection by default
fixes #6868
2015-02-09 14:23:09 +01:00
Gunnar Beutner 61684891a0 Set LC_NUMERIC=C for all processes on *NIX
fixes #6857
2015-02-09 14:21:42 +01:00
Michael Friedrich c219687121 Create certificate backups in 'node setup'
fixes #8399
2015-02-09 14:19:26 +01:00
Michael Friedrich 278c6ae52b Build fix for Windows
fixes #8260
2015-02-09 14:04:00 +01:00
Gunnar Beutner 97fc5bb10b Implement additional attributes for the Host class
refs #7564
2015-02-09 08:50:17 +01:00
Gunnar Beutner bb12704a31 Implement the Json.encode and Json.decode methods
fixes #8393
2015-02-09 08:14:06 +01:00
Gunnar Beutner 67e50a3d47 Config sync: Open config files in binary mode
fixes #8390
2015-02-09 07:44:45 +01:00
Gunnar Beutner e456cfd99c Relax the validator for Notification::users/Notification::user_groups a bit
fixes #8067
2015-02-08 11:03:10 +01:00
Michael Friedrich b23d58dccc Add host/service runtime macro downtime_depth
fixes #8195
2015-02-08 00:15:38 +01:00
Michael Friedrich 34b5a4d9b4 Trigger added downtimes immediately if checkable is Not-OK
fixes #8389
2015-02-08 00:08:12 +01:00
Michael Friedrich 21f86b9061 Fix authoritative zones in config sync
fixes #8388
refs #8256
2015-02-07 23:41:43 +01:00
Michael Friedrich 19c374040e Fix missing persistent_comment, notify_contact columns for acknowledgement table
fixes #7871
refs #8298
2015-02-07 23:24:16 +01:00
Michael Friedrich db9c55835f Require at least one user for notification objects (user or as member of user_groups)
fixes #8067
2015-02-07 23:04:01 +01:00
Michael Friedrich 9302a6d03c StatusDataWriter: Fix wrong host notification filters
fixes #8387
refs #8192
2015-02-07 22:46:34 +01:00
Michael Friedrich ea2ac81003 Remove name and return value for stats functions
fixes #6171
2015-02-07 22:36:17 +01:00
Michael Friedrich 9ce061a8c4 Fix User::ValidateFilters isn't being used
fixes #8111
2015-02-07 21:57:49 +01:00
Michael Friedrich 29093f2a2f Improve error message on missing included config files
fixes #8179
2015-02-07 21:50:14 +01:00
Michael Friedrich a1f04992f3 Fix notify flag is ignored in ACKNOWLEDGE_*_PROBLEM commands
fixes #8298
2015-02-07 21:39:19 +01:00
Michael Friedrich d67679c0ec icinga2 node wizard: Create backups of certificates
fixes #8260
2015-02-07 20:44:25 +01:00