Commit Graph

925 Commits

Author SHA1 Message Date
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 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
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 2de89fe8d4 Allow funcs in the 'env' dictionary
refs #7564
2015-02-10 10:59:08 +01:00
Gunnar Beutner 9de7da4d2a Update validators for CustomVarObject
fixes #7542
2015-02-10 08:53:15 +01:00
Gunnar Beutner 96aa503dbe Disable flapping detection by default
fixes #6868
2015-02-09 14:23:09 +01:00
Gunnar Beutner 97fc5bb10b Implement additional attributes for the Host class
refs #7564
2015-02-09 08:50:17 +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 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 a1f04992f3 Fix notify flag is ignored in ACKNOWLEDGE_*_PROBLEM commands
fixes #8298
2015-02-07 21:39:19 +01:00
Gunnar Beutner 0605b76e7a Report failed agent checks to the master
fixes #8257
2015-02-05 15:36:17 +01:00
Gunnar Beutner 2d5112c878 Send check result even when accept_commands is not set
fixes #8333
2015-02-05 15:17:56 +01:00
Michael Friedrich 06a262f7db Schedule a host downtime for command SCHEDULE_HOST_SVC_DOWNTIME
fixes #8299
2015-02-04 21:19:47 +01:00
Gunnar Beutner e3dcc8a610 Implement a unit test for nullary lambdas
fixes #7805
2015-02-03 14:02:32 +01:00
Gunnar Beutner c01fb97337 Don't escape macros for the macro() function
refs #7564
2015-01-29 16:52:04 +01:00
Gunnar Beutner 2f44581f14 Validate timeperiod segments
fixes #8309
2015-01-29 14:14:56 +01:00
Gunnar Beutner a3e0c9d898 Add missing mutex for AddNotification/RemoveNotification
fixes #8311
2015-01-29 13:21:22 +01:00
Gunnar Beutner fb323ee215 Evaluate apply filters in the for loop
fixes #7610
2015-01-29 12:38:25 +01:00
Gunnar Beutner dd4a7ab240 Update validators for command arguments
refs #7564
2015-01-29 10:30:02 +01:00
Gunnar Beutner 7b4f1e217a Implement support for functions in set_if
refs #7564
2015-01-29 10:09:53 +01:00
Gunnar Beutner ea3c3e0c3e Fix incorrectly resolved macros
refs #7564
2015-01-28 15:48:08 +01:00
Gunnar Beutner 235c7348f4 Implement accessor functions for hosts, services, etc.
refs #7564
2015-01-28 14:18:27 +01:00
Gunnar Beutner 4ad4c314ae Implement the 'macro' function for dynamic custom vars
refs #7564
2015-01-28 14:14:48 +01:00
Gunnar Beutner fb44744680 Implement support for using functions in custom attributes
refs #7564
2015-01-27 13:40:05 +01:00
Gunnar Beutner 13917e07b0 Implement validator support for function objects
fixes #8291
2015-01-27 10:55:14 +01:00
Gunnar Beutner a11cdbdc39 Replace spaces with tabs 2015-01-27 10:50:15 +01:00
Stephan Platz 2d393eab28 Add macro "check_source" for hosts and services to use them in notification mails
fixes #8277

Signed-off-by: Gunnar Beutner <gunnar@beutner.name>
2015-01-25 16:04:36 +01:00
Michael Friedrich 78bfd0204c Update copyright year 2015-01-22 12:00:23 +01:00
Gunnar Beutner 363f23b1d8 Rename ScriptFunction to Function
fixes #8258
2015-01-21 08:48:38 +01:00
Gunnar Beutner 9a6a84d9d9 Implicitly convert filter values to bool for object rules
fixes #8184
2015-01-12 08:38:14 +01:00
Michael Friedrich 6ae9685cee Fix sending notifications for volatile checks on OK->OK changes
volatile checks make state changes behave like HARD state changes.
Though OK -> OK transitions must not be notified.

Increased log information for notifications too.

fixes #8063
2015-01-08 16:20:44 +01:00
Gunnar Beutner f02c87b14c Fix missing command arguments
fixes #8144
2015-01-08 11:38:09 +01:00
Gunnar Beutner 407f88e185 Fix incorrect week day calculation in LegacyTimePeriod::ParseTimeSpec
fixes #6943
2014-12-20 22:04:24 +01:00
Gunnar Beutner 97168378e8 Rename _DEBUG to I2_DEBUG
fixes #7767
2014-12-19 12:19:28 +01:00
Gunnar Beutner 06052c0539 Fix validation for service names in Notification, Dependency and ScheduledDowntime objects
fixes #8122
2014-12-19 11:44:31 +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
Michael Friedrich a0359799bd Compat: Fix event_handler_enabled dump based on enable_event_handler attribute
fixes #8105
2014-12-18 11:22:15 +01:00
Gunnar Beutner 55b7f00382 Remove unnecessary includes 2014-12-15 10:16:06 +01:00
Gunnar Beutner 343d46bcbe Make sure IcingaApplication::GetVars returns a default value
refs #8074
2014-12-15 06:02:59 +01:00
Gunnar Beutner 1cb0231c05 Refactor how variable scopes work
refs #8074
2014-12-14 11:33:45 +01:00
Gunnar Beutner dd4c04aa9b Implement the 'global' keyword to differentiate between variable scopes
refs #8074
2014-12-13 17:48:58 +01:00
Gunnar Beutner 05485ea2d6 Disallow calling strings as functions
fixes #8040
2014-12-12 20:45:11 +01:00
Michael Friedrich d11286e9a5 DB IDO: Update child object reachability if parentchanges to !{OK,UP}
fixes #7683
2014-12-12 16:12:05 +01:00
Gunnar Beutner cfd775c948 Move the VMFrame class to libbase
refs #8065
2014-12-12 15:33:56 +01:00
Gunnar Beutner 0f496c0b55 Fix set_if for non-numeric boolean values
fixes #8049
2014-12-10 16:49:00 +01:00
Gunnar Beutner 2720333d6e Fix missing location information for included files
fixes #7927
2014-12-10 15:06:09 +01:00
Gunnar Beutner be4166b99e Fix incorrect brace placement 2014-12-08 11:43:33 +01:00
Gunnar Beutner ec99efbc28 Implement validator for the check_interval attribute
fixes #7591
2014-12-05 13:00:41 +01:00
Michael Friedrich cc8fe684fe Execute checks locally if command_endpoint == local endpoint
fixes #7863
2014-12-05 11:35:00 +01:00
Gunnar Beutner a5c206cbe2 Fix problem with macro arguments which are not separated by whitespace
fixes #7314
2014-12-01 15:53:23 +01:00
Gunnar Beutner 9dfa3d22d4 Implement support for arrays in command arguments
fixes #6709
2014-11-27 13:24:07 +01:00
Gunnar Beutner fddead5303 Fix some compiler warnings
fixes #7826
2014-11-24 18:25:08 +01:00
Gunnar Beutner f5766f9118 Refactor the stack frame handling for scripts
fixes #7748
2014-11-22 19:24:03 +01:00
Gunnar Beutner 307db672c1 Fix initialization bug for the Notification class
refs #7780
2014-11-22 16:43:39 +01:00
Gunnar Beutner 334e61037a Split DynamicObject::OnConfigLoaded into two separate events
refs #7780
2014-11-21 18:31:37 +01:00
Gunnar Beutner 0078e00c13 Refactor apply/object rules
fixes #7700
2014-11-20 21:29:50 +01:00
Gunnar Beutner 2d53e000c8 Refactor the config validator so that it doesn't require serialized objects
refs #7701
2014-11-20 13:28:21 +01:00
Michael Friedrich f73d69691b Make sure that notified users are stored in state file
refs #7579
2014-11-14 18:11:58 +01:00
Gunnar Beutner 7321e45abc Implement support for executing remote commands
fixes #7559
2014-11-13 14:54:55 +01:00
Gunnar Beutner b3aa2eb0c8 Fix validator for dependency filters
fixes #7650
2014-11-12 09:40:45 +01:00
Gunnar Beutner ec109b04dd Refactor the AST
refs #7622
2014-11-10 12:06:25 +01:00
Michael Friedrich 885e7704a2 Only notify users on recovery who have been notified on not-OK before
Also ensure that type NotificationRecovery always
passes the state filter (missing `OK` is totally fine).

Also fix that notification delays set the correct
next notification time to the begin time window.

fixes #7579
fixes #7623
fixes #6547
2014-11-09 19:47:24 +01:00
Gunnar Beutner 478f03b49a Replace boost::shared_ptr with boost::intrusive_ptr
refs #7622
2014-11-09 16:54:41 +01:00
Gunnar Beutner e1c95d4fa0 Improve config compiler's memory usage 2014-11-08 13:21:51 +01:00
Gunnar Beutner ade12dc27a Remove unused attributes 2014-11-07 21:43:00 +01:00
Gunnar Beutner 266b1754c7 Speed up type lookups
refs #7561
2014-11-07 12:39:32 +01:00
Gunnar Beutner 60114d4b5d Fix crash in CompatUtility::GetCheckableCommandArgs
refs #7599
2014-11-07 09:26:44 +01:00
Gunnar Beutner f69f7d61f2 Fix variable scope for object rules 2014-11-06 19:26:44 +01:00
Gunnar Beutner 18d317faf9 Fix crash in ApiEvents::CheckResultAPIHandler
fixes #7577
2014-11-05 09:58:43 +01:00
Michael Friedrich eeb6facdac Livestatus: Add 'cv_is_json' and encode CV arrays/dicts as json
refs #7560
2014-11-04 17:39:28 +01:00
Gunnar Beutner de080e4928 Fix incorrect field name
refs #7566
2014-11-04 15:24:57 +01:00
Gunnar Beutner a6f20c7a22 Implement support for arbitrarily complex indexers
fixes #7566
2014-11-04 15:20:33 +01:00
Gunnar Beutner a1c905bf62 Implement dictionary support for apply+for
fixes #7561
2014-11-04 11:02:10 +01:00
Gunnar Beutner 170c5a59e4 Implement typeof() function 2014-11-03 00:45:14 +01:00
Gunnar Beutner 46b149dd7d Implement support for formatting arrays in macro strings
fixes #7262
2014-11-02 07:35:43 +01:00
Gunnar Beutner 4677014b6d Implement support for arrays in custom variables
fixes #6544
2014-11-02 07:27:50 +01:00
Gunnar Beutner 57747ccdb1 Hosts/services should not have themselves as parents
fixes #7483
2014-10-29 10:47:26 +01:00
Gunnar Beutner 75b599c801 Set host/service variable in apply rules
fixes #7479
2014-10-29 10:09:40 +01:00
Gunnar Beutner 4cb3d5b1f0 Fix "assign where" for nested groups
fixes #7475
2014-10-28 18:58:22 +01:00
Gunnar Beutner 8fdb2835e5 Fix code style 2014-10-28 18:04:51 +01:00
Gunnar Beutner 29ad90a469 Fix performance data for API events
fixes #7473
2014-10-28 15:24:35 +01:00
Gunnar Beutner 2d6c3e8d5b Remove localhost virtual name thingie from apievents.cpp
refs #7467
2014-10-28 14:44:55 +01:00
Gunnar Beutner 0cff9314f9 Remove virtual name feature for agent hosts
fixes #7467
2014-10-28 14:05:17 +01:00
Gunnar Beutner 7559273359 Replace cJSON with YAJL
fixes #7452
2014-10-26 20:00:35 +01:00
Gunnar Beutner 315c84eb4a Fix problems with the serializer when using 'type' as an attribute
fixes #7372
2014-10-25 09:14:56 +02:00
Michael Friedrich e293092bdc CLI: Add basic agent command functionality (add, remove)
Prepare for set, setup, wizard, *list.
Change repository files to .repo, rename .peer to .settings

refs #7248
refs #7255
2014-10-21 13:23:46 +02:00
Gunnar Beutner 9368ff0e03 Update some more log messages 2014-10-20 10:09:57 +02:00
Gunnar Beutner 2d5e9514a5 Refactor logging code 2014-10-19 17:52:17 +02:00
Gunnar Beutner 739cb43289 Rename qstring.{cpp,hpp} to string.{cpp,hpp} 2014-10-19 14:52:07 +02:00