Commit Graph

434 Commits

Author SHA1 Message Date
Michael Friedrich 7eca257784 Fix return value of Utility::MkDir/MkDirP
None as there are exceptions thrown.

fixes #9689
2015-08-24 15:11:49 +02:00
Gunnar Beutner 5a72eaa768 Make sure the serial number field is always initialized
fixes #9947
2015-08-18 15:05:53 +02:00
Gunnar Beutner d8cab2f0e8 Add 'override' keyword to methods
refs #9929
2015-08-18 12:45:30 +02:00
Michael Friedrich 0f5287c2b1 Add module attribute for ConfigObject and set its origin
fixes #9852
2015-08-17 16:08:57 +02:00
Gunnar Beutner 071d2f18fb Rename DynamicObject/DynamicType to ConfigObject/ConfigType
fixes #9914
2015-08-15 20:40:41 +02:00
Gunnar Beutner e2290d5012 Implement support for unregistering objects
refs #9101
2015-08-15 20:07:11 +02:00
Gunnar Beutner d7d16d3f36 Fix crash in ScriptFrame::~ScriptFrame in debug builds
fixes #9868
2015-08-11 07:12:49 +02:00
Gunnar Beutner 38d2464ab2 Remove color codes in the console prompt
fixes #9872
2015-08-11 07:05:55 +02:00
Gunnar Beutner aa00f4183a Get rid of code duplication in ConfigWriter/ConsoleCommand
refs #9099
2015-08-11 06:47:08 +02:00
Michael Friedrich fc1049fb68 Fix node wizard ignoring local zone name
fixes #9782
2015-08-03 16:23:59 +02:00
Michael Friedrich 0a1dad0a8f Fix broken cluster config sync w/ latest api changes
Apart from dropping the requirement of adding 'include_zones "etc", "zones.d"'
on upgrade to 2.4, we've forgotten to register the local zone directory into
the new ZoneFragment tree.

This fix adds a new function to register the local zones.d directory.
After that the config sync works again.

fixes #9735
2015-07-26 17:57:34 +02:00
Michael Friedrich fca7a33aac Implement config file management for the API
refs #9083

fixes #9102
fixes #9103
fixes #9104

fixes #9705
2015-07-23 17:57:24 +02:00
Gunnar Beutner ccd63b9d15 Implement the include_zones directive
refs #9083
2015-07-21 09:32:17 +02:00
Michael Friedrich 84d83a4453 'node wizard/setup' should always generate new certificates
Unless an existing certificate is found. The configuration
(api feature, user) is always generated including a backup.

fixes #9590
2015-07-08 15:32:47 +02:00
Michael Friedrich f123c8218d Split ApiSetupUtility::SetupMaster() into multiple functions
refs #9590
2015-07-08 15:32:11 +02:00
Jean-Marcel Flach a98d2f585d Implement URL parser
fixes #9470
2015-07-07 15:33:19 +02:00
Michael Friedrich f4aeb1999c Cli: Don't add empty host/port endpoint attributes in node wizard
refs #9205
refs #9536
2015-07-03 12:58:54 +02:00
Michael Friedrich 2eaae1f733 Update documentation for ApiUser object & node wizard
fixes #9471
2015-06-25 18:03:00 +02:00
Michael Friedrich ee035ae001 Fix unity build
refs #9471
2015-06-25 17:20:23 +02:00
Michael Friedrich 3e3588b9fb Cli: Still ask for CN in 'node wizard'
refs #9471
2015-06-25 13:28:16 +02:00
Michael Friedrich ec3f1c6320 Cli: 'node setup' on the master uses 'api setup' if api feature is disabled
refs #9471
2015-06-25 11:00:25 +02:00
Michael Friedrich 5249e4af11 Cli: 'node wizard' on the master uses 'api setup' if api feature is disabled
refs #9471
2015-06-25 11:00:12 +02:00
Michael Friedrich 0d977b9d48 Allow to pass cn to ApiSetupUtility::SetupMaster()
refs #9471
2015-06-25 10:40:50 +02:00
Michael Friedrich 663f09e475 Only run 'api setup' if the feature was not enabled
It is safe to assume that the user either did run
'node wizard' or 'node setup' in >= 2.3.x before, or
manually enabled the api feature and deployed the
certificates (otherwise Icinga2 wouldn't start either).

In that case we'll skip the api setup to ensure that we
don't override any existing configuration at all.

refs #9471
2015-06-25 10:21:18 +02:00
Michael Friedrich 6f43162efa Add feature enable/disable helpers
refs #9471
2015-06-25 10:14:19 +02:00
Michael Friedrich 7b0b04ba8f Implement 'api setup' cli command & add ApiUser config
refs #9471
2015-06-25 10:08:34 +02:00
Michael Friedrich 99a0c7b157 Fix wrong preprocessor macros 2015-06-24 14:13:54 +02:00
Benedikt Heine 7cd0077ab5 node setup: indent accept_config and accept_commands
fixes #9450

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2015-06-19 09:07:51 +02:00
Jean Flach f907a7f617 Fix Port wrong default port in Node Wizard
fixes #9205
2015-04-30 12:52:35 +02:00
Michael Friedrich ab8dbd71e2 Rewrite some of the wizard questions
refs #8891
2015-04-27 11:10:49 +02:00
Michael Friedrich 9b8eea3579 CLI: Be less verbose in 'node update-config'
fixes #9116
2015-04-20 14:58:08 +02:00
Jean-Marcel Flach 9ae8a09b7e Refactor code
fixes #9112
2015-04-20 11:45:01 +02:00
Jean-Marcel Flach e1101b9637 Change node wizard flow
fixes #8891
2015-04-20 11:45:00 +02:00
Jean-Marcel Flach 9c45ab7d66 Fix troubleshooht command truncating crash logs
fixes #9064
2015-04-16 16:17:12 +02:00
Gunnar Beutner d93bcedaad Implement sandbox mode for the config parser
fixes #9068
2015-04-16 08:48:17 +02:00
Jean-Marcel Flach f9d5846e30 Make node wizard only accept y/Y and n/N
fixes #8917
2015-03-31 09:28:03 +02:00
Jean-Marcel Flach 8e73d72447 Add accept config/commands option to node setup
fixes #8803
2015-03-30 13:20:47 +02:00
Gunnar Beutner 72a7b08480 Move implementation code from thpp files into separate files
fixes #8890
2015-03-28 11:08:12 +01:00
Gunnar Beutner ec7224e3ed Generate C++ code for type validators
fixes #7709
fixes #8867
2015-03-27 07:59:27 +01:00
Gunnar Beutner 2c4f913a90 Fix crash in ConsoleCommand::Run
refs #8791
2015-03-18 14:29:02 +01:00
Gunnar Beutner 3e08f2e0b5 Make order for deferred initializers deterministic
refs #8791
2015-03-18 13:24:31 +01:00
Gunnar Beutner 6c96d5bc98 Clean up the start-up process a bit
fixes #8791
2015-03-18 11:14:51 +01:00
Gunnar Beutner fec1266b1b Add auto-completion suggestions for built-in attributes
refs #8776
2015-03-18 08:19:36 +01:00
Gunnar Beutner a2b701ad44 Improve auto-completion for the 'icinga2 console' command
refs #8776
2015-03-18 08:10:32 +01:00
Gunnar Beutner cd9dfd5744 Implement auto-completion support for 'icinga2 console'
refs #8776
2015-03-18 07:17:15 +01:00
Gunnar Beutner 37736caa5c Implement support for libedit
fixes #8776
2015-03-17 15:05:47 +01:00
Louis Sautier 1eef0243c6 Remove prompt to create a TicketSalt from the wizard
fixes #8766

Signed-off-by: Gunnar Beutner <gunnar@beutner.name>
2015-03-16 15:24:58 +01:00
Gunnar Beutner fd9dc32a3d Implement SNI support for the TlsStream class
fixes #8610
2015-03-05 14:15:42 +01:00
Gunnar Beutner ac7a55cf56 Fix file descriptor leak in SetDaemonIO 2015-03-03 07:36:43 +01:00
Gunnar Beutner 7c31654552 Remove the return type for Utility::LoadExtensionLibrary 2015-03-03 07:19:34 +01:00
Jean Flach 4d0ee2a7fd Americaniz(s)e colo(u)r in troubleshoot cli 2015-03-02 16:42:38 +01:00
Michael Friedrich 97ff17eb4e Fix troubleshooting cli hint text
refs #3446
2015-03-02 15:28:02 +01:00
Michael Friedrich 1f9a719712 Fix output formatting in troubleshoot cli command
refs #3446
2015-03-02 14:37:58 +01:00
Gunnar Beutner 5df3010826 Remove unused variable in PkiUtility::SignCsr 2015-03-02 13:32:08 +01:00
Gunnar Beutner 7aaa6975fc Remove unnecessary SubStr call 2015-03-02 13:30:37 +01:00
Gunnar Beutner 8a062a688b Remove redundant checks 2015-03-02 13:21:06 +01:00
Jean-Marcel Flach e39896df15 Add more colour to troubleshoot cli 2015-03-02 13:17:49 +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 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
Jean-Marcel Flach 9ed21563ff Use RequestShutdown with exitcode instead of Application::Exit
fixes #8436
2015-02-27 14:43:30 +01:00
Jean-Marcel Flach 07fd4e6031 Add colours to troubleshoot cli
refs #3446
2015-02-27 14:09:26 +01:00
Jean-Marcel Flach d084effa4b Change behaviour of troubleshoot cli parameters 2015-02-26 13:30:48 +01:00
Jean-Marcel Flach cc99406dd3 Add --include-vars and --include-objects troubleshoot cli
refs #3446
2015-02-26 12:43:43 +01:00
Michael Friedrich 93d390873d Fix Livestatus tests on Windows
fixes #8486
2015-02-26 11:14:55 +01:00
Jean-Marcel Flach 150353d88f Remove --include-objects option from troubleshoot for now 2015-02-25 15:40:24 +01:00
Jean-Marcel Flach 19e160ce92 Fix some whitespace 2015-02-25 13:49:41 +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 9cd681148d Fix crash in 'icinga2 console'
fixes #8516
2015-02-24 12:52:10 +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
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
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
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
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
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
Gunnar Beutner cb6f1043e1 Replace if( with if ( 2015-02-11 15:47:45 +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 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 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
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
Michael Friedrich d67679c0ec icinga2 node wizard: Create backups of certificates
fixes #8260
2015-02-07 20:44:25 +01:00
Michael Friedrich 1d4065ba94 Add file mode support for NodeUtility::CreateBackupFile()
refs #8260
2015-02-07 20:41:04 +01:00
Gunnar Beutner 4896428c06 Add path information for objects in objects file
fixes #8371
2015-02-05 15:05:07 +01:00
Gunnar Beutner 423b2777d4 Update the ZoneName constant in "node wizard"
fixes #8162
2015-02-05 10:33:40 +01:00
Gunnar Beutner 700b7c1c48 Remove single quote in "node wizard" output
fixes #8368
2015-02-05 10:30:30 +01:00
Michael Friedrich 78bfd0204c Update copyright year 2015-01-22 12:00:23 +01:00
Gunnar Beutner 310278344c Make sure we don't include zones.d directories for zones which were removed
fixes #8256
2015-01-20 13:18:40 +01:00
Gunnar Beutner 4e96d48e87 Fix incorrect source line info in the CLI console
fixes #8240
2015-01-16 10:07:11 +01:00
Gunnar Beutner a20d168340 Remove libreadline support
fixes #8168
2015-01-13 14:45:38 +01:00
Jean Flach 75682dc8e8 Fix single global options not working correctly on non-Linux systems
fixes #8196
2015-01-13 14:05:28 +01:00
Gunnar Beutner 82a31c9b20 Rename the "repl" command to "console"
fixes #8167
2015-01-12 14:31:33 +01:00
Michael Friedrich 2069fb6400 Fix wrong host/node name in update-config blacklist
fixes #8181
2015-01-09 14:25:45 +01:00
Michael Friedrich 123f7fd552 Fix crash in node update-config
fixes #8182
2015-01-09 14:11:36 +01:00
Michael Friedrich 0eb6e174c8 Incorrect ticket number shouldn't cause "node wizard" to terminate
fixes #8125
2015-01-08 17:09:31 +01:00
Gunnar Beutner 3e64b642ca Make sure that "feature enable" uses relative paths for the symlinks
fixes #8121
2014-12-20 08:39:12 +01:00
Gunnar Beutner 4e5649f0d7 Disable vfork() on OS X
fixes #8131
2014-12-19 16:04:34 +01:00
Gunnar Beutner b78a8b6c77 Allow relative paths for the UNIX socket
refs #7805
2014-12-19 12:33:51 +01:00
Gunnar Beutner 97168378e8 Rename _DEBUG to I2_DEBUG
fixes #7767
2014-12-19 12:19:28 +01:00
Gunnar Beutner 6383da1f2f Replace spaces with tabs 2014-12-18 17:06:00 +01:00
Gunnar Beutner 9f18211ada Remove obsolete code
refs #7709
2014-12-18 15:57:30 +01:00
Gunnar Beutner 873e294158 Refactor the WorkQueue class to make error reporting easier
refs #7709
2014-12-18 15:11:57 +01:00
Gunnar Beutner c3cf7682b9 Clean up the DebugInfo class
refs #7709
2014-12-18 12:58:46 +01:00
Gunnar Beutner c90c8919ca Fix the dependency nightmare that is libreadline
refs #8091
2014-12-17 10:24:13 +01:00
Gunnar Beutner 3436dbc697 Fix incorrect package name for SLES/openSUSE
refs #8091
2014-12-17 09:30:54 +01:00
Gunnar Beutner 92eb6a2f45 Update documentation for libreadline requirement
fixes #8091
2014-12-17 09:07:05 +01:00
Gunnar Beutner aa795c1b81 Build fix for Windows
refs #7805
2014-12-16 21:28:16 +01:00
Gunnar Beutner f800630c10 Implement Livestatus support for the "repl" command
refs #7805
2014-12-16 19:28:46 +01:00
Gunnar Beutner d82defe6a9 Add readline support for the "repl" command
fixes #8091
2014-12-16 13:26:26 +01:00
Gunnar Beutner 27db75fbe6 Add version output to the "repl" command
refs #7805
2014-12-16 10:36:59 +01:00
Michael Friedrich 938ae083cd Cli: "node wizard" shouldn't crash when SaveCert fails
fixes #7707
2014-12-15 13:08:30 +01:00
Gunnar Beutner 55b7f00382 Remove unnecessary includes 2014-12-15 10:16:06 +01:00
Gunnar Beutner c7d9c415eb Disable impersonation for the "repl" command
refs #7805
2014-12-15 08:38:03 +01:00
Gunnar Beutner 1cb0231c05 Refactor how variable scopes work
refs #8074
2014-12-14 11:33:45 +01:00
Gunnar Beutner 83058d1123 Backport i2tcl's error reporting functionality into "icinga2 repl"
fixes #8078
2014-12-13 21:16:55 +01:00
Gunnar Beutner cfd775c948 Move the VMFrame class to libbase
refs #8065
2014-12-12 15:33:56 +01:00
Michael Friedrich ebc0845853 Cli: Don't parse node repository files twice in 'node update-config'
refs #7917
2014-12-11 14:47:46 +01:00
Michael Friedrich eb4de1884c Cli: Make sure to check for removed nodes only once in 'node update-config'
fixes #7917
2014-12-10 18:48:35 +01:00
Gunnar Beutner 2720333d6e Fix missing location information for included files
fixes #7927
2014-12-10 15:06:09 +01:00
Gunnar Beutner c1ac548a77 Escape special characters in repository file names
fixes #7618
2014-12-10 13:20:16 +01:00
Gunnar Beutner 2a2460ae67 Fix crash in RepositoryUtility::AddObject
refs #7822
2014-12-10 10:35:18 +01:00
Gunnar Beutner 98375df4d7 Fix config validation in RepositoryUtility::AddObject
refs #7701
2014-12-09 14:55:29 +01:00
Michael Friedrich d21b3aba52 cli: Fix node update-config errors
* fix hosts not created if config and inventory.index are missing.
* fix segfault if host already exists in inventory
* fix that newly listed node hosts are not added to the config repo
* fix repository removal of remove host/services on remote nodes
* fix missing/wrong locks for dictionaries
* fix missing directory create/chown

fixes #7518
fixes #7878
fixes #7917
fixes #7891

Conflicts:
	lib/cli/objectlistcommand.cpp
2014-12-04 17:56:28 +01:00
Gunnar Beutner ab63fca3d5 Make the config parser thread-safe
fixes #7822
2014-11-28 06:48:27 +01:00
Gunnar Beutner b61f803d60 Show source line information for the "repl" command
refs #7805
2014-11-28 06:29:38 +01:00
Michael Friedrich 6332921fb6 Cli: Ensure that repository path is created on 'node add' command
fixes #7743
2014-11-27 18:15:14 +01:00
Gunnar Beutner 75d90d5963 Fix a crash in the "repl" command
refs #7805
2014-11-23 19:13:42 +01:00
Gunnar Beutner 14c94fabde Add missing return value for ReplCommand::Run
refs #7805
2014-11-23 13:41:45 +01:00
Gunnar Beutner fc1d872df8 Add color tags to the repl command
refs #7805
2014-11-23 12:38:16 +01:00
Gunnar Beutner 8d0ddb7c8c Implement more unit tests
refs #7805
2014-11-23 12:35:13 +01:00
Gunnar Beutner 037b886584 Remove the C++ code generator
refs #7699
2014-11-22 19:24:13 +01:00