Commit Graph

402 Commits

Author SHA1 Message Date
Gunnar Beutner 7df7ec94d2 Fix scoping rules for dictionaries.
Refs #6183
2014-05-10 12:43:16 +02:00
Gunnar Beutner 6d7e028f92 Use a separate scope for "for" loops.
Refs #6183
2014-05-10 12:03:54 +02:00
Gunnar Beutner 0e34968e8f Implement for loops.
Fixes #6183
2014-05-10 11:26:56 +02:00
Gunnar Beutner ab8624d2f5 Implement support for arrays for the indexer operator.
Fixes #6182
2014-05-10 10:46:49 +02:00
Gunnar Beutner 0c31bae792 Config validator: Make sure that objects are not abstract.
Fixes #6148
2014-05-09 19:40:56 +02:00
Gunnar Beutner bd8ccec258 Fix deadlock when calling functions recursively.
Fixes #6178
2014-05-09 14:45:59 +02:00
Gunnar Beutner 45270f1bb8 Refactor the agent and cluster components.
Refs #6107
2014-05-08 09:13:04 +02:00
Gunnar Beutner b1dab6c074 Implement support for the "package" keyword.
Refs #6107
2014-05-08 09:13:04 +02:00
Michael Friedrich e04d200d36 Allow EvaluateRules() to keep rules for the next iteration.
Refs #6105
2014-05-02 00:23:29 +02:00
Michael Friedrich 3c2dae1804 Evaluate object rules (group assign) before and after creating objects with apply rules.
Refs #6105
2014-05-01 23:51:42 +02:00
Gerd von Egidy 6ac851ca10 Improve error message when trying to open a config file.
Fixes #5666

Signed-off-by: Gunnar Beutner <gunnar.beutner@netways.de>
2014-04-30 00:36:49 +02:00
Gerd von Egidy 19afcd894a Split ConfigItem::ActivateItems() into ConfigItem::ValidateItems() and ConfigItem::ActivateItems().
Also removes the -Z commandline parameter: won't be needed when this feature is done.

Refs #5788
2014-04-29 10:34:01 +02:00
Michael Friedrich d0af8a226b Fix headers. 2014-04-23 15:57:58 +02:00
Michael Friedrich 7a147d268e Add group assign/ignore rules.
Fixes #5910
2014-04-23 15:50:00 +02:00
Michael Friedrich c239f84fd7 Revert "Add group apply (creates object only once and sets membership)."
This reverts commit 559a4fef67.

Refs #5910
2014-04-23 14:59:48 +02:00
Michael Friedrich 559a4fef67 Add group apply (creates object only once and sets membership).
Refs #5910
2014-04-15 14:55:29 +02:00
Gunnar Beutner b8d3d42b7f Allow trailing comma in arrays.
Fixes #5928
2014-04-11 13:51:14 +02:00
Gunnar Beutner e6667c15d3 Support shell-style comments.
Fixes #5994
2014-04-10 11:30:01 +02:00
Gunnar Beutner a16ef350e2 Avoid unnecessary copies for DynamicType::GetObjects.
Fixes #5987
2014-04-09 12:22:23 +02:00
Gunnar Beutner 91f946a40e Implement the "return" keyword.
Fixes #5985
2014-04-09 10:36:57 +02:00
Michael Friedrich aae5f092d4 Log warning if apply rule does not match anywhere.
Fixes #5911
Fixes #5957
2014-04-07 15:00:14 +02:00
Michael Friedrich e97e1cf63f Throw error on missing 'assign' in 'apply'.
Refs #5911
2014-04-07 13:04:13 +02:00
Gunnar Beutner ad42367999 Refactor name helper classes a bit.
Refs #5925
2014-04-06 08:15:07 +02:00
Gunnar Beutner 020eaf99ab Fix yet another validation issue.
Refs #5925
2014-04-05 23:23:49 +02:00
Gunnar Beutner 8d81f4b90a Fix another bug with relative object names.
Refs #5925
2014-04-05 23:23:49 +02:00
Gunnar Beutner bc4cacfee9 Fix validation problem with relative object names.
Refs #5925
2014-04-05 23:23:39 +02:00
Gunnar Beutner 00fd51e628 Implement relative object names.
Fixes #5925
2014-04-05 22:17:37 +02:00
Gunnar Beutner 5e38c81eb5 Implement apply target types.
Fixes #5924
2014-04-05 13:53:55 +02:00
Gunnar Beutner c42a582307 Rename "short_name", "host" and "sevice" attributes.
Fixes #5857
2014-04-05 09:15:40 +02:00
Michael Friedrich 5c58eb368c Merge 'macros' and 'custom' attributes into 'vars', part 1.
Refs #5855
2014-04-03 11:35:25 +02:00
Gunnar Beutner 41d0dde52e Allow functions to return values.
Fixes #5922
2014-04-02 17:27:04 +02:00
Gunnar Beutner 0683fca535 Allow anonymous functions to be garbage-collected.
Fixes #5921
2014-04-02 17:27:04 +02:00
Gunnar Beutner 2faf17cb14 Fix column information for config errors.
Refs #5901
2014-04-01 11:43:53 +02:00
Gunnar Beutner 5eca503362 Support new-lines in addition to commas to separate commands.
Fixes #5901
2014-04-01 09:45:57 +02:00
Gunnar Beutner b924941488 Fix ShowCodeFragment column numbers.
Refs #5893
2014-03-31 12:44:18 +02:00
Gunnar Beutner d874cbfe5b Fix: Crash when there's a config error in the first line / first column.
Fixes #5893
2014-03-31 09:41:07 +02:00
Gunnar Beutner 397fee13ff Allow "object" and "apply" in AST expressions.
Refs #5870
2014-03-30 15:04:53 +02:00
Gunnar Beutner 7a6172c135 Remove support for the deprecated "var" and "set" keywords.
Refs #
2014-03-30 10:29:52 +02:00
Gunnar Beutner 5179eebf09 Allow rterm in indexer ops.
Refs #5870
2014-03-30 10:00:11 +02:00
Gunnar Beutner ec0fdd3fd2 Fix operator precedence.
Refs #5870
2014-03-30 05:04:58 +02:00
Gunnar Beutner 14084735da Make sure we evaluate "apply" rules in the right order.
Refs #5870
2014-03-30 01:20:58 +01:00
Gunnar Beutner d00a839620 Fix incorrect debug info for "apply" rules.
Refs #5870
2014-03-30 01:20:58 +01:00
Gunnar Beutner 64aa5d1b09 Dump AST execution state in debug mode.
Refs #5878
2014-03-29 13:48:04 +01:00
Gunnar Beutner 66e769672c Fix failed assertion in ConfigItem::GetProperties.
Refs #5870
2014-03-28 23:01:35 +01:00
Gunnar Beutner 33ae12d084 Implement apply support for scheduled downtimes and notifications.
Refs #5880
2014-03-28 23:01:33 +01:00
Gunnar Beutner 8a1bbc0ace Make the real object name available for use in templates.
Refs #5882
2014-03-28 19:45:07 +01:00
Gunnar Beutner fa11e5a97e Update example config.
Refs #5878
2014-03-28 16:32:15 +01:00
Gunnar Beutner 0e79abb8f2 Implement instance variable "templates" for config objects.
Refs #5884
2014-03-28 14:46:19 +01:00
Gunnar Beutner 8ab39194f1 Unknown attributes should be a config error.
Refs #5883
2014-03-28 14:25:16 +01:00
Gunnar Beutner 54063f0b9f Rename __name and __type properties.
Refs #5870
2014-03-28 14:17:55 +01:00
Gunnar Beutner 7ee1278118 Implement the new syntax for the "apply" keyword.
Refs #5878
2014-03-28 14:00:00 +01:00
Gunnar Beutner b289987500 Implement the "." operator.
Refs #5876
2014-03-28 13:59:56 +01:00
Gunnar Beutner de81baf515 Remove inline service/notification/downtime definitions.
Refs #5875
2014-03-28 11:22:39 +01:00
Gunnar Beutner 8958d2f69f Implement the "import" keyword.
Refs #5869
2014-03-28 11:22:36 +01:00
Gunnar Beutner 47fe59e4de Windows build fix. 2014-03-26 08:23:54 +01:00
Gunnar Beutner 536562cddd Build fixes.
Refs #5846
2014-03-24 12:54:23 +01:00
Gunnar Beutner 013690e486 Remove __parent element for +=, -=, *= and /= operators.
Refs #5846
2014-03-24 11:34:41 +01:00
Gunnar Beutner c66ac66219 Allow semi-colons as separators for lterms.
Refs #5846
2014-03-24 11:24:01 +01:00
Gunnar Beutner 8e699ac0fa Fix scoping rules for object definitions.
Refs #5846
2014-03-24 11:23:47 +01:00
Gunnar Beutner 8bfb60b7fa Improve error message for invalid inline service definitions.
Refs #5846
2014-03-24 11:23:05 +01:00
Gunnar Beutner 4ec939f332 Some more variable scoping fixes.
Refs #5846
2014-03-24 09:44:18 +01:00
Gunnar Beutner 3032cf8100 Make it easier to call AExpression::Dump from GDB.
Refs #5846
2014-03-24 09:27:46 +01:00
Gunnar Beutner fd1aaa1997 Add missing locks.
Refs #5846
2014-03-24 09:15:45 +01:00
Gunnar Beutner 7086b44d3a Fix variable scoping.
Refs #5846
2014-03-24 09:10:37 +01:00
Gunnar Beutner 1aca29afd2 Clean up the +=, -=, *= and /= operators.
Refs #5846
2014-03-24 09:06:16 +01:00
Gunnar Beutner 9adc63737a Allow rterms as object names.
Refs #5846
2014-03-23 22:41:37 +01:00
Gunnar Beutner ddc548bb5d Fix AExpression::ExtractPath.
Refs #5846
2014-03-23 19:58:24 +01:00
Gunnar Beutner d23078d6c4 Make sure +=, -=, *= and /= behave like they did before.
Refs #5846
2014-03-23 17:26:31 +01:00
Gunnar Beutner aacc699dd4 Refactor the config parser's AST.
Refs #5846
2014-03-23 11:27:40 +01:00
Gunnar Beutner 67d8bc219e Clean up the AExpression class.
Refs #5846
2014-03-22 10:29:45 +01:00
Gunnar Beutner 24e029bdb0 Allow values as top-level statements.
Refs #5846
2014-03-22 09:50:44 +01:00
Gunnar Beutner ddbbd42c4b Implement the log() function.
Refs #5846
2014-03-22 09:47:29 +01:00
Gunnar Beutner 2a6a75d52e Improve error messages for exceptions in AExpressions.
Refs #5846
2014-03-22 08:40:09 +01:00
Gunnar Beutner c9590d5183 Fix location messages.
Refs #5825
2014-03-21 16:01:32 +01:00
Gunnar Beutner c0b10a8245 Make config error messages friendler.
Refs #5825
2014-03-21 15:58:13 +01:00
Gunnar Beutner c286c25183 Show additional lines for config errors.
Refs #5825
2014-03-21 15:51:55 +01:00
Gunnar Beutner 0b90444dd8 Build fix. 2014-03-21 15:41:00 +01:00
Gunnar Beutner dde483d7a8 Make config error messages more awesome.
Refs #5825
2014-03-21 15:39:52 +01:00
Gunnar Beutner 87e4b24686 Add line number info to duplicate object error message.
Refs #5825
2014-03-21 14:48:18 +01:00
Gunnar Beutner 7d7c8e8ec9 Fix path names in DebugInfo objects.
Refs #5825
2014-03-21 14:45:01 +01:00
Gunnar Beutner 8629071392 Improve line number information.
Fixes #5825
2014-03-21 10:28:58 +01:00
Gunnar Beutner 95bf7ca560 Make duplicate object definitions an error.
Fixes #3638
2014-03-20 15:38:29 +01:00
Gunnar Beutner 02fc3278c8 Implement missing operators for the Value class.
Fixes #5804
2014-03-20 13:02:31 +01:00
Michael Friedrich 1d32c5b2d3 Add --no-validate option and skip duplicate validation on (re)start.
Fixes #5800
2014-03-19 20:59:18 +01:00
Gunnar Beutner 46d7cf3d6a Implement len() and the operators >, >=, < and <=.
Refs #5789
2014-03-19 13:25:06 +01:00
Gunnar Beutner 3383951791 Implement regex() and match() functions.
Refs #5789
2014-03-19 12:46:23 +01:00
Gunnar Beutner 124fa9ebc1 Make braces around constant expressions optional.
Refs #5789
2014-03-19 12:46:23 +01:00
Gunnar Beutner f871758502 Fix the !in operator.
Refs #5789
2014-03-19 12:46:23 +01:00
Gunnar Beutner ec0557afea Implement additional operators: &&, ||, in and !in.
Refs #5789
2014-03-19 12:46:23 +01:00
Gunnar Beutner e0ad30a9c6 Allow arrays as operands in constant expressions.
Refs #5789
2014-03-19 12:46:23 +01:00
Gunnar Beutner caad7a7973 Implement the 'apply template' directive.
Refs #5789
2014-03-19 12:46:23 +01:00
Gunnar Beutner 3587dbbd13 Implement support for local variables in AExpressions.
Refs #5789
2014-03-19 12:46:23 +01:00
Gunnar Beutner 04b8724cb8 Implement == and != operators for AExpressions.
Refs #5789
2014-03-19 12:46:23 +01:00
Michael Friedrich ce737ff2f3 Change copyright header (again).
Fixes #5424
2014-03-19 11:42:47 +01:00
Gunnar Beutner 25dc86881a Make script variables constant.
Fixes #5446
2014-02-12 11:51:50 +01:00
Gunnar Beutner 663f72300b Fix validation for the "authorities" attribute.
Fixes #5593
2014-02-10 08:50:09 +01:00
Gunnar Beutner c818d94d93 Fix race condition in the config validator.
Fixes #5602
2014-02-05 12:00:37 +01:00
Gunnar Beutner f9e8e204f9 Fix: Crash when state file is invalid.
Fixes #5361
2014-01-28 14:33:21 +01:00
Michael Friedrich 555d72150a Update copyright header.
Fixes #5424
2014-01-09 00:32:11 +01:00
Gunnar Beutner 3e5af43e4d Don't cache config item properties.
Refs #5400
2013-12-20 13:31:13 +01:00
Gunnar Beutner 38aa231a2d Discard unused config items as early as possibly.
Refs #5400
2013-12-20 13:31:13 +01:00
Gunnar Beutner 162cee5c40 Remove the ConsoleLogger class and keep the default console log enabled until we daemonize.
Refs #5342
2013-12-16 17:23:23 +01:00
Michael Friedrich 9452bc7095 Only print config validation for existing objects.
Refs #5298
2013-12-16 09:39:14 +01:00
Gunnar Beutner 807d0a47e6 Fix spelling mistake in ConfigItem::ActivateItems.
Fixes #5334
2013-12-15 18:47:11 +01:00
Gunnar Beutner 0af81f2da2 Fix race conditions in the config compiler.
Fixes #5335
2013-12-15 11:54:22 +01:00
Gunnar Beutner 4563bb355f Fix another race condition in DynamicObject::Start.
Fixes #5330
2013-12-14 07:36:49 +01:00
Michael Friedrich c66878fa45 Add config validation stats.
Fixes #5298
2013-12-13 16:53:40 +01:00
Gunnar Beutner f8d7f7799e Improve WorkQueue performance
Refs #5327
2013-12-13 14:08:06 +01:00
Gunnar Beutner b4f2f06b88 Implement ParallelWorkQueue class.
Refs #5327
2013-12-13 14:08:02 +01:00
Gunnar Beutner b5792a0b81 Avoid using ConfigItem::GetObject when possible.
Refs #5327
2013-12-13 14:07:57 +01:00
Gunnar Beutner 37179cdf32 Improve config compiler performance.
Refs #5327
2013-12-13 14:07:37 +01:00
Michael Friedrich e6c6a7dc52 Use exclamation mark for auto-generated config item names.
Fixes #5318
2013-12-12 11:50:08 +01:00
Gunnar Beutner 41ded2858c Implement scheduled downtimes.
Fixes #3584
2013-12-06 13:45:18 +01:00
Gunnar Beutner e540685e13 Implement support for constants in the config parser.
Refs #4946
2013-12-04 11:32:45 +01:00
Gunnar Beutner c92625770c Fix leak in the config parser.
Refs #4946
2013-12-04 10:39:46 +01:00
Gunnar Beutner 6625346922 Speed up config compiler.
Fixes #5255
2013-12-03 09:59:21 +01:00
Gunnar Beutner 553bd3246b Improve compatibility with -fvisibility=hidden.
Refs #5246
2013-12-02 11:07:41 +01:00
Gunnar Beutner f05858d3ad Avoid unnecessary copies when iterating over dictionaries.
Refs #5246
2013-12-02 11:07:38 +01:00
Gunnar Beutner f8d2172c27 Implement include_recursive config directive.
Fixes #5238
2013-11-29 12:26:31 +01:00
Gunnar Beutner 640136fbdb Make object, type and variable names case-sensitive.
Fixes #5228
2013-11-27 12:29:42 +01:00
Gunnar Beutner 0978e46d5a Implement file type flags for Utility::Glob.
Fixes #5123
2013-11-22 09:03:52 +01:00
Gunnar Beutner 2cefcb5bfa Update minimum flex version.
Fixes #5072
2013-11-21 11:22:51 +01:00
Gunnar Beutner 92dd32eb68 Implement support for high-level stack traces.
Refs #5085
2013-11-21 09:42:27 +01:00
Gunnar Beutner 39dcf20a89 Implement support for stack traces for STL exceptions.
Fixes #5114
2013-11-20 21:55:14 +01:00
Gunnar Beutner 4534bb08c5 Implement DbCatEverything flag.
Fixes #5096
2013-11-20 16:47:46 +01:00
Gunnar Beutner d88268bd77 Fix group assignments in the config parser.
Fixes #5090
2013-11-17 20:50:56 +01:00
Gunnar Beutner 6acc017707 Remove namespace qualifiers for boost::make_shared and boost::enable_shared_from_this.
Fixes #5012
2013-11-07 08:28:33 +01:00
Gunnar Beutner 5f0ebed72b Improve compatibility with ancient versions of Bison.
Refs #4962
2013-11-03 13:45:26 +01:00
Gunnar Beutner f2307c4242 Add cmake build files.
Refs #4962
2013-11-03 13:45:26 +01:00
Gunnar Beutner 2c143fbdf8 Remove unused files.
Refs #4962
2013-11-03 11:12:47 +01:00
Gunnar Beutner 3308eb1d87 Add missing newlines.
Refs #4990
2013-11-03 10:59:01 +01:00
Gunnar Beutner 9f1c4539dc Remove libltdl dependency.
Refs #4964
2013-10-30 12:00:55 +01:00
Gunnar Beutner d14775f28f Fix unnecessary rebuilds of the config_parser.yy file. 2013-10-26 01:22:25 +02:00
Gunnar Beutner 2beb4e0022 Another build fix. 2013-10-20 15:22:21 +02:00
Gunnar Beutner f59a56e4fc Build fix. 2013-10-20 15:20:54 +02:00
Gunnar Beutner 599429ec93 config: Implement AST support for const expressions. 2013-10-20 15:07:55 +02:00
Gunnar Beutner 816d0e8d73 Fix config validation.
Fixes #4888
2013-10-16 13:37:54 +02:00
Gunnar Beutner 494fb90547 Make sure Registry<> types are unique. 2013-10-10 23:07:34 +02:00
Gunnar Beutner fe5c925a63 Windows build fix. 2013-10-09 15:03:24 +02:00
Gunnar Beutner 78fa9bca09 config: Make sure we're not inside a comment when reaching the end of a config file.
Fixes #4821
2013-10-09 08:56:28 +02:00
Gunnar Beutner 79dd1d3d56 Add config_lexer.cc, config_parser.cc and config_parser.h to the dist tarball.
Fixes #4814
2013-10-08 12:52:47 +02:00
Gunnar Beutner 9d5edebd73 Another build fix. 2013-10-07 11:20:56 +02:00
Gunnar Beutner fb9f0bc178 Build fix. 2013-10-07 11:18:12 +02:00
Gunnar Beutner 11ae80576a Remove auto-generated files. 2013-10-07 10:28:26 +02:00
Gunnar Beutner 7ed5b3ca14 Another VPATH fix. 2013-10-02 13:43:50 +02:00
Gunnar Beutner 3dae6bc2ff Fix VPATH builds on openSUSE. 2013-10-02 13:37:35 +02:00
Gunnar Beutner 3b4425c17e Build fix. 2013-09-30 09:28:22 +02:00
Gunnar Beutner aa99061a12 Fix: make dist-* does not include lib/config/config_parser.h
Fixes #3575
2013-09-30 09:15:22 +02:00
Gunnar Beutner 74708766d1 Implement mods-available/mods-enabled.
Refs #4573
2013-09-27 10:45:38 +02:00
Michael Friedrich 41e6d50693 Revert "Add config_parser.h to EXTRA_DIST."
This reverts commit f1bc61c188.

refs #3575
2013-09-27 10:27:50 +02:00