Commit Graph

7 Commits

Author SHA1 Message Date
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 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 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 8039aa1a08 configconvert: move to tools/
fixes #4337
2013-06-24 16:14:20 +02:00