Commit Graph

365 Commits

Author SHA1 Message Date
Gunnar Beutner b1ddc71925 Merge ReflectionObject methods into the Object class.
Refs #4996
2013-11-05 08:56:30 +01:00
Gunnar Beutner 84b873fb4e Implement abstract keyword for mkclass.
Refs #4996
2013-11-05 08:56:25 +01:00
Gunnar Beutner 2140cef041 Implement the ReflectionType class.
Refs #4996
2013-11-05 08:56:18 +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 db4b3b78d6 Implement class compiler.
Refs #4963
2013-10-28 14:27:36 +01:00
Michael Friedrich e03ffd780a Update documentation. 2013-10-21 21:03:35 +02:00
Michael Friedrich 0c37d63af5 Rename i2enfeature/i2disfeature to icinga2-{enable,disable}-feature.
fixes #4904
2013-10-18 22:11:40 +02:00
Michael Friedrich c3bcc2a474 Migration: Print error message on non-existing icinga.cfg. 2013-10-18 11:26:17 +02:00
Michael Friedrich 2164ff22b9 Documentation: Update commands and external commands. 2013-10-17 18:13:33 +02:00
Michael Friedrich b4ae8239f2 Rename features: statusdat -> statusdata, compat-log -> compatlog . 2013-10-17 13:57:53 +02:00
Gunnar Beutner 919af6c539 Update path. 2013-10-17 09:10:54 +02:00
Gunnar Beutner b695f08081 Remove obsolete file. 2013-10-14 09:03:55 +02:00
Gunnar Beutner 42a746e0d5 Vagrant: Fix file permissions. 2013-10-11 19:50:40 +02:00
Gunnar Beutner 4f5a9d53e1 Vagrant: Remove --nogpgcheck parameter. 2013-10-11 11:59:17 +02:00
Gunnar Beutner fe8c0c8c37 Vagrant: Install icinga2-doc. 2013-10-11 11:21:20 +02:00
Gunnar Beutner 473d50f6ab Add URL to Vagrant bootstrap script. 2013-10-11 10:33:49 +02:00
Gunnar Beutner 1ad59806dd Update document root for the Vagrant VM. 2013-10-11 10:23:32 +02:00
Gunnar Beutner 834f9cd110 Make sure the icinga-migrate-config script is in the dist tarball. 2013-10-11 06:39:07 +02:00
Gunnar Beutner c80dac1c25 Install migration script in bindir. 2013-10-11 06:31:21 +02:00
Michael Friedrich 99874a9eee Refactor config migration script, install as /usr/sbin/icinga2-migrate-config
fixes #4696
2013-10-10 20:49:26 +02:00
Gunnar Beutner c0c7f485ad Use icinga2-classicui-config package for Vagrant. 2013-10-10 19:59:51 +02:00
Gunnar Beutner 50ee6d9a1e Some more Vagrant fixes. 2013-10-10 19:15:22 +02:00
Gunnar Beutner 744a07ff48 Fix Vagrant bootstrap script. 2013-10-10 17:54:25 +02:00
Gunnar Beutner ebc92a0ba6 Implement Vagrant support. 2013-10-10 14:57:17 +02:00
Michael Friedrich a4111d2964 Conversion: Update readme and test config. 2013-10-09 18:55:15 +02:00
Michael Friedrich 4c6f4261ee Conversion: Fix notification attributes. 2013-10-09 18:54:09 +02:00
Gunnar Beutner fe5c925a63 Windows build fix. 2013-10-09 15:03:24 +02:00
Michael Friedrich d2d6653236 Clean contrib/.
fixes #4774
2013-10-03 20:36:44 +02:00
Gunnar Beutner 3a740f2e3b Another DESTDIR fix. 2013-10-02 14:27:17 +02:00
Gunnar Beutner 4eb8688271 Fix feature list output in i2enfeature. 2013-10-01 08:39:42 +02:00
Michael Friedrich c8b7f3335a Add tools/.gitignore. 2013-09-27 14:14:50 +02:00
Gunnar Beutner 3726470efb Update documentation. 2013-09-27 13:56:24 +02:00
Gunnar Beutner 71e416a23b Fix configuration path in the i2endfeature script. 2013-09-27 11:22:18 +02:00
Gunnar Beutner 09f0986cdb Install i2enfeature/i2disfeature in $(sbindir). 2013-09-27 11:21:14 +02:00
Gunnar Beutner 2d3e639fac Refactor mods-enabled/mods-available. 2013-09-27 11:16:35 +02:00
Gunnar Beutner 6970c28292 Add missing file. 2013-09-27 10:47:46 +02:00
Gunnar Beutner 74708766d1 Implement mods-available/mods-enabled.
Refs #4573
2013-09-27 10:45:38 +02:00
Michael Friedrich 739f23f0fc config conversion: Rename dependencies.
refs #4741
2013-09-25 16:13:39 +02:00
Michael Friedrich d9508bb64c config conversion: Fix command exists checks by type.
refs #4741
2013-09-25 16:04:40 +02:00
Michael Friedrich 61e3fcf0a7 config conversion: Move notification_interval|period from service to notification.
refs #4741
2013-09-25 16:04:40 +02:00
Michael Friedrich 4c14619521 config conversion: Move notification filters from service into notification.
refs #4741
2013-09-25 16:04:40 +02:00
Michael Friedrich cc6a9e6b36 config conversion: Rename hostcheck to check.
refs #4741
2013-09-25 16:04:40 +02:00
Michael Friedrich e236894de9 config conversion: Rename group attributes.
refs #4741
2013-09-25 16:04:40 +02:00
Michael Friedrich 00532f6da7 config conversion: Fix object names in test config. 2013-09-25 16:04:40 +02:00
Michael Friedrich 1342dec909 config conversion: Remove enable_{active,passive}_checks export. 2013-09-25 16:04:40 +02:00
Gunnar Beutner bf1a800e39 Update copyright information. 2013-09-25 07:45:56 +02:00
Michael Friedrich ad3a8f19ed Config Conversion: Update --help.
fixes #4715
2013-09-18 16:22:28 +02:00
Michael Friedrich 96e18e625f Config Conversion: Refactor hostcheck service as new object, add stats.
now the service template objects get the custom tmpl too.

refs #4715
2013-09-18 16:18:16 +02:00
Michael Friedrich 6a3c1ec7aa Config Conversion: Allow to define external global templates referenced by all objects.
tests:

$ ./icinga2_convert_v1_v2.pl -c /etc/icinga/icinga.cfg -o conf/
--hosttmpl="hostbumstitmpl"
--servicetmpl="servicebumstitmpl"
--usertmpl="userbumstitmpl"
--timeperiodtmpl="timeperiodbumstitmpl"
--notificationtmpl="notificationbumstitmpl"
--checkcommandtmpl="checkcommandbumstitmpl"
--eventcommandtmpl="eventcommandbumstitmpl"
--notificationcommandtmpl="notificationcommandbumstitmpl"

refs #4697
2013-09-18 11:42:16 +02:00
Michael Friedrich 1538579c66 Config Conversion: Detect hosts w/o services and properly add hostcheck.
it's ugly but it works. requires code refactoring.
2013-09-16 14:57:12 +02:00
Michael Friedrich 374b37077f Config Conversion: Add proper check_command detection in templates. 2013-09-16 14:05:41 +02:00
Gunnar Beutner d38c8ab0bb config: Fix arguments for hostchecks. 2013-09-13 13:48:41 +02:00
Gunnar Beutner de2a0aaea1 config: Fix attribute lookup functions. 2013-09-13 13:32:42 +02:00
Gunnar Beutner e0d5e2bf93 config: Temporarily set hostname for services. 2013-09-13 13:05:55 +02:00
Gunnar Beutner 4fdab9e2ac config: Fix looking up host custom attributes. 2013-09-13 12:36:49 +02:00
Gunnar Beutner 2b97884201 config: Fix resolving macros in command arguments. 2013-09-13 12:32:38 +02:00
Michael Friedrich 2d991703d6 Config Conversion: Fix global macros requiring escape_str() call.
fixes #4703
2013-09-13 09:56:25 +02:00
Gunnar Beutner eb43cc3101 Fix custom macros. 2013-09-13 09:45:24 +02:00
Gunnar Beutner 6a40fe7a40 Convert custom attributes to macros. 2013-09-13 09:28:32 +02:00
Michael Friedrich cc1dbbca0b Config Conversion: Object macros start with name.
refs #4700
2013-09-12 20:24:13 +02:00
Michael Friedrich a5fe44b81f Config Conversion: Treat command arg macros directly as object macros
- if detected, they will be replaced with their real name on the command
  line (instead of $ARGn$)
- if macro is resolvable, its value will be added to the macro
  dictionary
- if macro is not resolvable, it will be skipped and left for the core
  to resolve the macro on runtime.

caveat: getting host/service attributes requires lookups from the object
into the template tree, as well as host macros on services a search on
the host object itsself.

note: macro resolver is rudimentary implemented. there's space for more
detailed if-macro-name-is-then-return-attribute-abc. main problem are
the missing underscores in macro names, but not in attributes (what the
...?).

fixes #4700
2013-09-12 20:13:28 +02:00
Michael Friedrich f1e1a716d3 Config Conversion: Update sample icinga2 config.
refs #4701
2013-09-12 18:42:01 +02:00
Michael Friedrich f91c64098b Config Conversion: Fix import removing inline comments after ';' and '#'.
fixes #4499
2013-09-12 18:41:18 +02:00
Michael Friedrich c9497367d2 Config Conversion: Make ADMIN/USER macros global again (in resource.conf)
refs #4701
2013-09-12 18:41:18 +02:00
Michael Friedrich 2e4a37b297 Config Conversion: s/user_macros/global_macros/g 2013-09-12 18:41:18 +02:00
Michael Friedrich c8b9fce0bc Config Conversion: introduce resource.conf with global macros
refs #4701
2013-09-12 18:41:18 +02:00
Michael Friedrich dc0f2e2fa9 Config Conversion: Skip ARGn macros on Command object export. 2013-09-10 14:04:18 +02:00
Michael Friedrich 4d95eaa6c5 Config Conversion: Fix output header. 2013-09-10 13:54:14 +02:00
Michael Friedrich 4668f6fb3b Config Conversion: Check that icinga.cfg is passed via -c option. 2013-09-10 11:25:10 +02:00
Gunnar Beutner a833fc0fc3 Revert "convert: Use += for macros and custom attributes."
This reverts commit ff6453cfa1.
2013-09-10 10:54:17 +02:00
Gunnar Beutner ff6453cfa1 convert: Use += for macros and custom attributes. 2013-09-10 10:47:38 +02:00
Michael Friedrich de4e2c6585 Config Conversion: Treat notification option 'r' as StateFilterOK. 2013-09-10 10:28:37 +02:00
Gunnar Beutner 0a80dbc305 Fix: Host notifications should be added to the host check service instead of the host
Fixes #4674
2013-09-04 10:43:14 +02:00
Michael Friedrich 14c2e99e4b Config Conversion: fix missing Command macros, avoid duplicates 2013-08-30 17:50:05 +02:00
Michael Friedrich 7f0a210ff9 Config Conversion: support $USERn$ and $ADMINx$ macros in Notification|EventCommand 2013-08-30 17:50:05 +02:00
Michael Friedrich 1a3ecb04fb Config Conversion: Add ADMINPAGER|EMAIL as macros from icinga.cfg
and fix multiple user macros too. and add NotificationFilterCustom by
default.

fixes #4662
2013-08-30 15:58:58 +02:00
Michael Friedrich eff505e27f Config Conversion: Skip user macros for non-command objects. 2013-08-29 15:22:52 +02:00
Michael Friedrich 42b98d2c89 Config Conversion: Detect user macros properly. 2013-08-29 14:59:46 +02:00
Michael Friedrich de159b0133 Config Conversion: always add type NotificationFilterProblem. 2013-08-29 14:51:38 +02:00
Michael Friedrich 53a72fcaf1 Config Conversion: Fixes.
refs #2743
2013-08-29 13:14:59 +02:00
Michael Friedrich af86fa8ed9 Revert "make: mkembedconfig is required for 'dist'"
This reverts commit 1e637dbbd4.
2013-08-28 18:09:20 +02:00
Michael Friedrich 1e637dbbd4 make: mkembedconfig is required for 'dist'
fixes #4489
2013-08-28 16:19:13 +02:00
Michael Friedrich 6b649b8d4c configconvert: lookup host check_command in template tree for hostcheck magic
requires recursive template tree lookup in order to create the new
service linked as hostcheck directly on the host object.

refs #2743
2013-07-02 13:03:29 +02:00
Michael Friedrich 2dc7cd20c8 configconvert: make host check_command a new service and link it as hostcheck
refs #2743
2013-07-02 13:03:29 +02:00
Michael Friedrich 5ce229f08f configconvert: export all enable_* attributes 2013-07-01 18:31:22 +02:00
Michael Friedrich 6ed811cd78 configconvert: fix already replaced quotes escaping
refs #2743
2013-06-26 17:52:54 +02:00
Michael Friedrich 7599e858ec configconvert: update README
refs #2743
2013-06-26 16:23:33 +02:00
Michael Friedrich f3ccb88bae configconvert: custom attr (CVs, *_url, notes, *image*, 2d_coords)
collect attributes
* notes
* icon_image
* icon_image_alt
* action_url
* notes_url
* statusmap_image
* 2d_coords
* _CVs
* !__I2CONVERT

and stash it onto the custom dictionary.

note: attribute names starting with a number need to be quoted.

fixes #3096
2013-06-26 16:01:22 +02:00
Michael Friedrich 12916ec299 configconvert: update README (NOTES and TODO)
refs #2743
2013-06-26 14:29:57 +02:00
Michael Friedrich 2985eee66d configconvert: treat 'null' (disable inheritance) as '0' instead
refs #2743
2013-06-26 14:29:31 +02:00
Michael Friedrich 18e3bdc581 configconvert: fix 'n' and 'a' notification_options (filter = 0, filter = ...)
refs #4060
2013-06-26 14:12:38 +02:00
Michael Friedrich 1faba25e9c configconvert: skip empty notification filters
refs #4060
2013-06-26 13:49:25 +02:00
Michael Friedrich 6586c6da2e configconvert: disable some debug leftovers
$ find -type f -name '*.pm' | xargs sed -i 's/[^#]say Dumper/ #say
Dumper/g'
2013-06-26 13:30:26 +02:00
Michael Friedrich e7ab01aa6d configconvert: notification_options -> notification_{state,type}_filter
parsing the existing comma separated list and using some perl hash magic
to convert it to the new notification_type_filter and
notification_state_filter logic.

fixed missing file permission check on writing config files too.

fixes #4060
2013-06-26 13:22:15 +02:00
Michael Friedrich 6e3afe7748 configconvert: notification* attributes for services and users
refs #2743
2013-06-26 09:23:01 +02:00
Michael Friedrich 6e186ac814 configconvert: remove trailing whitespaces 2013-06-26 09:23:01 +02:00
Michael Friedrich bb2cbd044e configconvert: rename unique notification object identifier
refs #2743
2013-06-26 09:23:01 +02:00
Michael Friedrich dae5ac8939 configconvert: serviceescalations with servicegroup_name
requires a new functionality to grab all service names by a given
servicegroup name. this only works after reprocessing all services with
their updated "servicegroups" attribute as array in the 2.x objects
hive.

after fetching the service names and their logical objects, it's quite
the same procedure as for the hostgroups and single
host_names/service_descriptions - for better reading, code remains
duplicated for now.

furthermore, escalation notification template objects are only added
based on the old contact->notification_command, and only a reference
template added when using within the service linking.

refs #4009
2013-06-26 09:23:01 +02:00
Michael Friedrich 8eccb97642 configconvert: only export servicegroups when available
refs #2743
2013-06-26 09:23:01 +02:00
Michael Friedrich 97dd38051e configconvert: convert service escalation to notification escalation logic
- fixed bug with contactgroups in plain notifications
- fix bug with duplicated notifications (duplicate detection logic based
  on names, not template names)
- contacts may use templates too, and hide required values there
  (commands)
- added attribute getters which take templates into account (required
  for service -> notification_interval multiplied with service escalation
  first|last_notification too)
- apply the service escalation -> users -> commands as well as linking
  new notification with users, and services, defined either with
  * host_name/service_description
  * hostgroup_name/service_description
  * servicegroup_name (TODO)
- code duplication due to many nested loops with group wildcards

in short - we know why icinga 1.x takes ages to apply escalation.
because they look like added under pressure, and make no logical sense
compared to the rest. in short - they suck.

refs #4009
2013-06-26 09:23:01 +02:00
Michael Friedrich a5355e63a3 configconvert: treat address* and other attributes directly as macros
also for user attributes.

fixes #4333
2013-06-24 17:03:34 +02:00
Michael Friedrich 966be8fc35 configconvert: update README
refs #2743
2013-06-24 16:19:58 +02:00
Michael Friedrich 8039aa1a08 configconvert: move to tools/
fixes #4337
2013-06-24 16:14:20 +02:00
Michael Friedrich c9fb309200 tools: move mkembedconfig into subdir
preparation for moving the conversion script into tools/

refs #4337
2013-06-24 16:05:18 +02:00
Gunnar Beutner 734f76af96 Windows build fix. 2013-03-18 22:40:40 +01:00
Gunnar Beutner 0bb0711d72 Refactor #includes (Part 2). 2013-03-16 21:18:53 +01:00
Gunnar Beutner fae83d2ef6 Fix symbol visibility issue for REGISTER_CONFIG_FRAGMENT(). 2013-03-15 12:27:03 +01:00
Gunnar Beutner 9a05e2b269 Windows build fix. 2013-03-15 11:52:10 +01:00
Gunnar Beutner 98ab009b91 Cleaned up VS project files. 2013-03-12 19:49:24 +01:00
Gunnar Beutner edab378b11 Add missing VS project files. 2013-03-12 17:34:58 +01:00
Gunnar Beutner 5fcdc51e3c Windows build fix. 2013-03-12 15:35:51 +01:00
Gunnar Beutner ba71eba410 Add mkembedconfig tool. 2013-03-12 14:48:34 +01:00