[icinga-checkins] icinga.org: New commits on branch feature/configconvert-2743

git at icinga.org git at icinga.org
Fri Jun 21 15:09:59 CEST 2013


URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=23d1341d3488acd4489d699cc10cf2465d90c860
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Fri Jun 21 15:09:06 2013 +0200

    configconvert: write compat log too in icinga2 conf

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=b18b96ac887246dbb980079aeccd8b2a75844eee
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Fri Jun 21 09:06:33 2013 +0200

    configconvert: remove obsolete itl notification template
    
    and check if defined when used.
    
    refs #2743

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=28f6f7afe2ca0ff4f12aa7887204d88e235fc598
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu Jun 20 17:41:13 2013 +0200

    update TODOs

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=896354bf6c174f221d1baa53a4efb0bfb02619a3
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu Jun 20 17:36:45 2013 +0200

    configconvert: eventhandler as EventCommand objects
    
    fixes #4327

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=c6bfbf98e61aacb34f00d3172ba1c7b76ece1b35
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu Jun 20 16:58:10 2013 +0200

    configconvert: add volatile attribute
    
    fixes #4321

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=807d6b24524b19d451923772184524b080c9e56a
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu Jun 20 16:42:32 2013 +0200

    configconvert: refactor using command objects (check/notification)
    
    eventhandlers are missing.
    
    fixes #4305

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=ce99ac611ceb47c26758eacabcf1a125b321f73a
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Mon Jun 10 14:18:12 2013 +0200

    configconvert: escape display_name (may contain quotes)
    
    refs #3931

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=a5daf9cefb8bd5feb0db0cbca702e5ed2071c002
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Mon Jun 10 14:15:10 2013 +0200

    configconvert: fix perl 5.14, skip non-existing objects

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=87fc052373dd9b0fb68f530b8be865f7056223cc
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Wed May 29 15:15:59 2013 +0200

    configconvert: update README with usage and todos
    
    refs #2743

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=8db1dc40028c17e6843f9e84437f5fe343fc5dcd
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Tue May 28 20:11:40 2013 +0200

    configconvert: svg-hg-hst logic may contain multiple hgnames for services
    
    the object tricks section on the 1.x documentation contains everything
    which makes the code less readable even here.
    
    luckily the code is rather modular, so the extension for split string to
    array, and looping doesn't hurt much.
    
    refs #4010

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=0ff3315b82e4396bb44f9b00b1dffd4e18829f4b
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Tue May 28 20:00:15 2013 +0200

    configconvert: add a note about servicedeps wildcards todo
    
    refs #4010

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=c46be69d8ee5786cbabffca03418b75bb8066de0
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Tue May 28 19:49:16 2013 +0200

    configconvert: add wildcard detection for 'members *' in hostgroup
    
    currently adds itself to the host's hostgroups array, but maybe a global
    template where all hosts inherit from, plus additive inheritance fit
    better here.
    
    refs #4010

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=98f1034d011d83d5b1884bf1f6d6385758184839
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Tue May 28 19:31:32 2013 +0200

    configconvert: detect additive inheritance for *groups and use += on export
    
    i guess this can be used for host/service contact(groups) and other foo
    as well, so let's see.
    
    refs #4006

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=aea0af257332d213f2d723575f0a7aabc9642fbc
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Tue May 28 18:48:30 2013 +0200

    configconvert: replace colon in object names with underscore
    
    it's a special delimiter and therefore forbidden.
    
    fixes #4225

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=7e24310d5017294bc74a4226649e3134b7b08107
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Tue May 28 15:53:58 2013 +0200

    configconvert: handle excluded hosts, ignore them on split to array
    
    exclusions/exceptions cannot be treated by icinga2 the same way as in
    1.x so it's better to not create unwanted objects.
    
    fixes #4007

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=4fd1ce8556caca069cf3bc1d69210b8e7b2aca4b
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Tue May 28 15:52:44 2013 +0200

    configconvert: refactor commaseperated list split
    
    ... to list of stripped strings into a function.
    
    fixes #4046

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=ed4d218ce12ec89727a4a3245f1a9a687f418ac8
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Tue May 28 14:52:33 2013 +0200

    configconvert: add support for * as service host_name next to comma seperated list
    
    this is currently a proof of concept for services only, but should
    target all the object tricks later on. this will be done on host_name
    lookup and stored as array.
    
    http://docs.icinga.org/latest/en/objecttricks.html
    
    refs #4010

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=e92fe42bc5eda3d23d59701c38bc8a875910e756
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Fri May 3 18:34:25 2013 +0200

    configconvert: add service dependency support for hostgroups
    
    well, a lot of looping required here:
    
    - loop through all child hostgroup hosts and get their hostnames
    - get the servive object based on each hostname (loop again) and
      the child service description
    - loop through all master hostgroup hosts and get their hostnames
    - get the master hostname based on each hostname (loop again) and
      the master service description, save that as service dependency
    
    given that implementation, dependencies may be converted for now.
    
    once we decide which options we support, we may add them as well.
    
    refs #4011

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=bb20f8993f7f126d2048195d2f936be58dd5a397
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Fri May 3 17:57:07 2013 +0200

    configconvert: add servicedependency support (host_name)
    
    missing - the loop fun with hostgroups.
    
    special config is here:
    https://git.icinga.org/?p=icinga-core.git;a=blob;f=tests/etc/2743.cfg;hb=refs/heads/next#l376
    
    refs #4011

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=9bf7729c2cd5c6982a9e370b78f4c223e2404897
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Fri May 3 16:46:44 2013 +0200

    configconvert: add hostdependency with hostgroup_name hosts unrolling
    
    refs #4011

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=a75bc841658ec7cf7d484945b65a8ef4c940ca8f
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Fri May 3 15:48:53 2013 +0200

    configconvert: s/Timeperiod/TimePeriod/g
    
    refs #4013

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=c9e26eff74b589b471185e6d9fd8e8d3513daae3
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Fri May 3 15:19:51 2013 +0200

    configconvert: WIP dependencies - for host based on host_name and parents
    
    refs #4011

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=994eea40fd01daae63befe0edb5fd32bdbad3f71
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Fri May 3 13:44:43 2013 +0200

    configconvert: export check_period for hosts/services
    
    refs #2743

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=4ed4ae3805170733b61f31d71a549cfbf50f57b7
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Fri May 3 13:32:14 2013 +0200

    configconvert: code cleanup

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=57f68ed4b60edc770e26aa1f6c3482f1f854c8bd
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Fri May 3 12:54:48 2013 +0200

    configconvert: drop config file prefix 'icinga2'
    
    just makes it hard to work with.
    
    refs #4036

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=d8e8a0acac4ec9d59ff37b3e786fbda4175f579e
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Fri May 3 11:33:35 2013 +0200

    configconvert: make host->service linked service a template object, referenced by the host
    
    this is not the best solution, as it it creates a service template for
    each host-service relation. if you have many host_name entries defined
    in your Icinga 1.x config for a service, this will create duplicates
    then. requires some more code refactoring, therefore leaving the issue
    open.
    
    refs #3933

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=d347dd326b50a8ba1672008ab766dd2e5c4058bb
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Fri May 3 10:46:23 2013 +0200

    configconvert: add notification_interval|period
    
    and refactor check|retry_interval vs normal|retry_check_interval
    
    refs #4008

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=1996835d6e9b4f53475fe5f03ff60327f091478a
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu May 2 23:23:29 2013 +0200

    configconvert: add getopts and pod2usage incl help
    
    fixes #4041

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=d2fe115769efe6bfb2dccb8f22697b187583d910
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu May 2 22:43:18 2013 +0200

    configconvert: fix import parser - timeperiods require regex (thx LConfImport)
    
    somehow, the Icinga2 import still fails with us holiday definitions. bug
    that's not yet determined whose bug that is.
    
    refs #4039
    refs #4013

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=b259f65a941c02431da790c66d8065845b597c4c
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu May 2 22:21:29 2013 +0200

    configconvert: update requirements, perl deps
    
    refs #2743

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=af7c75e72a7e349c8d63b50bf7f07290f4d09aba
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu May 2 22:13:11 2013 +0200

    configconvert: fix timeperiod ranges, add template support for ITL inherits
    
    refs #4037
    refs #4013

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=73efe074d745d94bb623c6bcfd86c628182f3437
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu May 2 21:31:28 2013 +0200

    configconvert: add ITL templates automatically (for services, notifications)
    
    this currently only makes sense for services and notifications.
    
    refs #4037

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=106a34cbcdc1e154726badc4cced4550fb9cf993
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu May 2 21:02:59 2013 +0200

    configconvert: add README

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=fbda08425dd0a9ea73994b343254e5d8373dd2fd
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu May 2 20:55:35 2013 +0200

    configconvert: s/usergroups/groups/ for User config dump

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=28beca270562ae663f4adc1452f152665c0ce3d0
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu May 2 20:45:02 2013 +0200

    configconvert: add small main config file for standalone tests
    
    refs #2743

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=6e8ce7d8c781a74bcedd6644d1cc2ae5c817594c
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu May 2 20:36:44 2013 +0200

    configconvert: fix service description handling, it's now an inner conversion value
    
    previously, i've just re-used 'service_description' which isn't a valid
    2.x attribute either. the lookup of service_description attribute in 1.x
    templates works already, but populated __I2CONVERT_SERVICEDESCRIPTION
    instead. in favor of having a generated value for all our objects, we'll
    use that one, also for dumping the configuration.
    
    even further, this is also changed for the service->hostgroup<-hosts
    conversion then.
    
    this also avoids writing empty service names into host->service objects.
    
    fixes #4019

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=23baa08c9c7ff03f0bafec1c313d1b2966f5f100
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu May 2 20:10:24 2013 +0200

    configconvert: write config files, refactor how objects are exported
    
    structure is currently hardcoded, but may be changed to getopts later
    on. all files are overridden into conf/ (testing only right on).
    
    refactored export code, removed everything from Convert.pm, and export
    is now called from the script directly, wrapped all dump loops and added
    more function layers in betweed. open/close file handles take care of
    everything, next to a header on top of the files for getting to know
    their origin better (our hard work, ey?).
    
    refs #4036

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=d99d36d59cb57ccbb8b1c840f21c4e09f9595ae0
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu May 2 18:54:18 2013 +0200

    configconvert: final stage, rework notification type handling, fix naming amd template output
    
    the config dump must take care of which notification type is dumped,
    otherwise there would be yet another look required. Instead we are just
    passing a reference from users to hosts/services with all prepared
    notification attributes, and check them lazy on dump then.
    
    further fixe on the notification names - they are not unique by their
    command (now used on host/service scope, not user/contact) so we'll add
    some magic number as suffix.
    
    fixed template name dumping due to changed conversion vars too.
    
    refs #4008

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=53fee5f6340ca15cd4f0ee652aa5a259904bf9d7
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu May 2 18:15:17 2013 +0200

    configconvert: WIP notifications, how service/hosts relate to users and notifications
    
    there may be more than one notification for the user, and we already had
    the type in place. currently, that type is not taken into account (bug
    to fix).
    
    the rest with service -> user -> notification linking works in the first
    implementation.
    
    refs #4008

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=9cad0ed7173eec8f6c987fc4d187ba356e2f5b2d
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu May 2 14:32:04 2013 +0200

    configconvert: WIP notification conversion
    
    - refactored notification_commands parsing and storage
    - do not add duplicated notification_command names to the 2x
      notification object hive
    - create notifications based on the notification command linked from
      users
    - move host->service link magic to the end again
    
    refs #4008

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=9d086d7e8d98adbd61f1cb6d93289dcf691730ef
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Tue Apr 30 19:48:17 2013 +0200

    configconvert: refactor how services without host_name are handled
    
    this is mainly the cause when using hostgroup relations, or other object
    tricks. we still need the single loop run to convert all 2.x object
    attributes in one run, and deal with the missing attributes later on.

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=80eb6035907d35777684b1b590e651c63bb29ccf
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Tue Apr 30 19:28:26 2013 +0200

    configconversion: explicitely check __I2CONVERT_USES_TEMPLATE == 1 when dumping service templates
    
    refs #4020

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=2df3c84b39eef235ccd4ec4a664bf1ea28483463
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Tue Apr 30 19:16:15 2013 +0200

    configconvert: code cleanup

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=583e0e0ba2361ec3e5e7cba5bd6a61e1793bfc47
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Tue Apr 30 18:48:17 2013 +0200

    configconvert: only dump macros if there are key-val pairs

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=fa4824e1687959e07264b663d5ed45ecfc1f4a8e
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Tue Apr 30 18:44:41 2013 +0200

    configconversion: remove debug output

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=0d1256c4c4f48051f8e74212d7a19bca13e8c05e
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Tue Apr 30 18:31:28 2013 +0200

    configconvert: refactor service-hg-hosts for one hosthg template and multiple services
    
    we need to first loop over all services, getting the key ids, collecting
    them for each hostgroup_name (this is the unique identifier, because
    this is our hosthg template later on).
    
    then we loop over the collected unique hostgroups and build the 2.x
    template logic. the difference here is now, that the code is refactored,
    and loops over the service keys (getting their objects) only once,
    pushing their templates plus a relation to a single (1) hosthg-template.
    
    there's still some space for enhancements - the service template names
    as well as hosthg template names as well as service object names are
    generated with some hardcoded strings/numbers.
    
    refs #2743
    refs #4016

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=f39763ef9934a88f49886663ebdf32b5b347cb82
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Tue Apr 30 17:28:25 2013 +0200

    configconvert: add service->hostgroup<-hostmembers conversion to template support
    
    WIP: there's multiple service->hostgroup relations - duplicated hosthg
    templates. must be fixed.
    
    refs #2743
    refs #4016

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=fc630d62d137f1baf4b70d5d02cc9b6dc63e3e32
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Tue Apr 30 14:22:53 2013 +0200

    configconvert: support 'name' for groups' if *group_name is not set
    
    this is a fallback for broken configs only, and since i got some, added
    a small fix.
    
    refs #2743

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=d2cffb099ef5ef035e7453368f5fb360ee36c129
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Tue Apr 30 14:04:49 2013 +0200

    configconvert: dump modular timperiod attr and values
    
    we need to ignore all other attributes which are to be cleaned sooner,
    just for safety.
    
    minor flaw: the keys are not sorted by weekdays now, but dumped like the
    hash provides them.
    
    fixes #4013

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=e672496eee217c77f227e89695dcbd76b981125a
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Mon Apr 29 20:46:38 2013 +0200

    configconvert: fix multiple templates usage, template object lookup error
    
    multiple host/service templates seperated by commas will cause some
    irritation, therefore this is treated as array internally, like group
    members. for the config export and "inherits", this is easy to fix. for
    the actual host_name lookup for service objects, this unveiled another
    bug when looping through all available templates - they are unique by
    'name' and not by hostname/servicedesc, and require their very own
    getter - obj_get_tmpl_obj_by_tmpl_name() - which makes sure to return
    the object which is then looked into recursively if there's a host_name
    provided.
    
    possible bug for now - multiple service templates used and the host_name is
    defined in one of them. but that's not the usual case, and won't be
    supported for now.
    
    refs #2743
    fixes #3932

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=9f21fc40f2ae62c9f9efec5e8e5c426ab038030f
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Mon Apr 29 18:49:25 2013 +0200

    configconvert: properly escape strings with double quotes
    
    * command_line and command_args
    * notification commands
    * action_url, notes_url
    * notes
    * icon_image, icon_image_alt
    
    fixes #3931

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=408906668f09afd909c69b11a306a93f4ab00852
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Mon Apr 29 18:32:54 2013 +0200

    configconvert: fix leftover from rename

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=74da8e18a4c99baec85cc8a2c6f0f103b03c5792
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Mon Apr 29 18:24:02 2013 +0200

    configconvert: use special prefix for internal attributes
    
    __I2CONVERT_ should do the trick, not to interfere with existing custom
    variables.

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=85ca903995f8e022c92b6d07be6368791b76c188
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Mon Apr 29 16:49:56 2013 +0200

    s/DumpIcinga2Cfg/ExportIcinga2Cfg/g
    
    just for Import/Export clarification.

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=22f1e2ce17aaebffb5998a86e38dfdead85dd3e3
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Fri Apr 5 17:52:49 2013 +0200

    ConfigConvert: fix undocumented contact templates conversion
    
    refs #2743

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=c16e53e924ee602a1671421c9ea20253ed0b15ae
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Fri Apr 5 17:30:20 2013 +0200

    ConfigConvert: *interval, max_check_attempts dumped as numbers
    
    see
    https://git.icinga.org/?p=icinga2.git;a=blob_plain;f=lib/icinga/icinga-type.conf;hb=HEAD
    
    refs #2743

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=d947c91a9ca46099320cd8fd4e2f4efce9a14b56
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Fri Apr 5 17:20:56 2013 +0200

    ConfigConvert: refactor host-svc links, add full service/usergroup relinking
    
    due to the relinking afterwards we actually modify the service objects
    already prepared for 2x. since the *group magic depends on the
    host/services/users already prepared, we get a perpetuum mobile here
    with the host loop and resolving service relations.
    
    in order to safely fix the issue, there's a seperate host-service link
    loop after resolving all the other needed objects, which may cost a
    little bit more performance, but is safe and standalone, getting all
    previous modifications, migrations and also hacks.
    
    next to the refactored flow, the issue with resolving the correct
    servicegroups and stashing them into an array is solved, as well as
    converting the existing contactgroups to usergroups, as well as
    re-linking existing contactgroup->members to their new home,
    user->usergroups.
    
    note: when parsing the servicegroup members into an array, it must not
    be sorted afterwards, because we will shift 2 objects (host, service) in
    order to identify the correct service object for adding the servicegroup
    item.
    
    some code reorganisation too, plus a minor comma fix for the host
    address macro.
    
    the used 1x configuration will be addressed in 2743.cfg on
    icinga-core.git, with all future additions.
    
    refs #2743

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=51a0fb0344cbb4429510e35ae24af1a9119033fe
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu Apr 4 23:16:38 2013 +0200

    ConvertConfig: disable debug output, some reformatting of dump

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=156a8c11725e2f8d3aa8d0d69f576c107ec6b5de
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu Apr 4 23:06:03 2013 +0200

    ConfigConvert: refactor multiple host_name's on service object detection
    
    this is ugly. a service object may contain 'host_name' with
    'host1,host2,host3' and so on. treating this as string won't allow us to
    look into the template tree for valid host attributes, so we need to
    rewrite the getter function, allowing some special treatment on
    host_name arrays.
    
    for the service object preparation this means: while in the service
    loop, we need to loop again over all hosts, then dclone the hashref
    object for the service, and add the unique host_name attribute again.
    
    we might require some loop unrolling later, but for now this works as
    expected.
    
    refs #2743

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=c87c7d3c7eac6e86c790f5f4f357566aba99f9b3
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu Apr 4 22:11:10 2013 +0200

    ConfigConvert: basic servicegroup parsing method

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=e5e73078ed8513d69900a1c2eb44bd7ff34da76c
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu Apr 4 21:33:54 2013 +0200

    ConfigConvert: fix service linking not unique, add hostgroup->members re-link to host->hostgroups
    
    while working on the missing servicegroups and their facepalm members
    syntax (host1,svc1,host2,svc2 - awesome to parse), i figured that the
    whole detection of services by their attribute 'service_description' is
    not uniquely implemented. now the getter functions are duplicated, and
    not modular anymore, for the sake of having a service identified by its
    host_name + service_description. since that lookup is recursive, we must
    pass the host_name from the very beginning - otherwise we could
    accidently overwrite that with a template entry.
    
    the hostgroup re-linking works, also thanks to the fact that the inner
    object structure is just an array in the hashref, which allows smart
    push.
    
    contact/user groups are tricky again due to the different naming.
    
    further todo: sort all macros and hostservice links. right now this
    looks like chaos.
    
    refs #2743

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=8f5d5c7f7b3d97d64b903179a79d9556860434f6
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu Apr 4 20:33:29 2013 +0200

    ConfigConvert: add more host/service attributes, groups
    
    *_interval are automatically mapped, while the *groups attribute it
    converted into an array in order to easily stash more groups on it.
    
    still a todo - loop over existing groups and re-link their members into
    the respective objects, as 2.x only supports that location.
    
    fix for the host->service relation - use the already processed service
    2x hashref in order to do some magic with host->{'SERVICE'} = service
    
    all 2x attributes are now encapsulated with "", to stay safe.
    todo - more generic config 2x dump.
    
    furthermore, add some more code comments for the respective sections.
    
    refs #2743

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=eef0995565050b9408f1fe01ee3ddcf5c85135ca
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Wed Apr 3 21:45:06 2013 +0200

    ConfigConvert: fix 4 little big thinkos on import/convert/dump
    
    1) do not skip lines containing ;.* - there may actually be a comment on
    attr->val line. rather clean the line safely, and let the magic happen.
    
    2) the type counter was implemented in order to have unique object ids
    by type, since 1x config does not provide us with such. problem - the
    function had a local var, saving the counter for each file, overwriting
    the hash attributes later on, starting again with 0. nasty bug, hard to
    figure out. fixed by feeding the type_cnt into the cfg_obj hive for now.
    revamped the state machine logic as well, like so
    
    I: define TYPE { 	--> __TYPE = TYPE
    II: attr val		--> {type}->{type_cnt->cnt}->{attr} = val
    III: }			--> type_cnt->cnt++
    IV: <empty/comment>
    
    3) also skip service templates (__IS_TEMPLATE) sooner, and do not try to
    calculate some host_name/service_description magic out of them - they
    just can't go down one level to the host, but only up with 'use'.
    
    4) host and service templates on 2x config dump must check if
    __USES_TEMPLATE is actually set to 1, checking for defined is not
    enough.
    
    whatthecommit.com:
    
    A long time ago, in a galaxy far far away...
    
    refs #2743

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=8f803d5e2be7f3a420fd9668a9edced6dd349e9d
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Wed Apr 3 19:08:00 2013 +0200

    ConvertConfig: add basic support for users, timeperiods, *groups
    
    as well as display_name as attribute to print something.
    
    contact => user mapping is added as well, manipulating the __TYPE var
    too. furthermore display_name on the host will be overwritten by the
    alias, if set.
    
    the groups don't dump much, only the display_name if set. their dump
    function is implemented generic, based on the __TYPE

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=83e879b87e364ea27d49bda9c6fbf77f0a1b47a3
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Wed Apr 3 17:01:11 2013 +0200

    ConfigConvert: refactor host_name/service_description link resolving
    
    previous algorithm was buggy, as well get_host_name always looked up
    host template objects, even if the template object was a service. this
    is now fixed by re-using the __TYPE attribute (set on Icinga 1x config
    read).
    
    the algorithm is now like
    
                           |---------------------------------|
                          \/                                 |
                       svc_desc?                             |
                    0 /        \ 1                           |
                  use tmpl?    END -------> [svc_desc]       |
                 0 /   \ 1                                   |
    [undef] <- BROKEN  getobjbyattr(['use'], __TYPE, svcdesc |
                        |                                    |
                     getsvcdesc(obj)                         |
                        |                                    |
                        --------------------------------------
    
    refs #2743

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=5fbba6c158ed62b57d1a434373cdb34387d62e18
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Wed Apr 3 15:06:06 2013 +0200

    ConfigConvert: improved template handling, host/service dump 2x
    
    refactored code again, removed nested loop bottlenecks. still, the
    resolval of host_name/service_description requires more love.
    
    templates are now correctly detected, linked, and printed in 2x syntax.
    service templates are _not_ linked against host definitions in 2x as
    this is not possible.
    
    commands for hosts do not exist in 2x, therefore the command_name of an
    1x host will be taken and guessed against its related services. if
    there's a match, the service will be linked as 2x 'hostcheck'.
    
    *_interval still needs proper handling, as the default interval is 1m,
    but 2x requires the identifier.

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=2489ee48b3cd88b6ef3a67d3d25059916ae78745
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Wed Apr 3 10:10:25 2013 +0200

    ConfigConvert: fix hash keys for convert/dump in perl 5.14

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=c3be2ce0a1d4f6d607f76d29bc36ecaf6458b93b
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Tue Apr 2 18:54:41 2013 +0200

    ConfigConvert: split into modules, add objects.cache read, dump cmd line
    
    basically it works with
    
    - dumping a host with all services, using templates
    - check_command and all arguments/user macros translation
    - reading the objects.cache file location from icinga.cfg
    => this is reserved only for getting dedicated relations
    => we do not want to duplicate the work of xodtemplate.c in perl here
    - all important functions have been split up into their respective
      modules in order to support better re-usage (i.e. lconfexport)
    
    still missing important bits:
    
    - detect service->group<-host links and build templates
    - detect other ugly template methods
    - dump templates
    - the ugly deprecated normal|retry_check_interval mapping
    - timeperiod mapping
    - contact => user mapping
    - notifications rework (dedicated object)
    - dependencies, escalations (to be documented/implemented)
    - the infamous rest

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=2d58e5d442cd03f3eda6ba2badc29371de127740
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Fri Mar 15 17:09:56 2013 +0100

    WIP configconversion: rewrite recursive lookup of linked host_name/service_description
    
    this is a mess. configs may just use "name" instead of "host_name" on
    type "host", same goes for service and service_descriptions. well, and
    if it's a template, "name" is populated too.
    
    the algorithm is not clean enough, and does not scale at all. there are
    bugs, and the hostgroup linking is not yet taken into account too.
    
    basics host -> service dumping of v2 config is implemented.
    
    refs #2743

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=f586f56694f23f3ffb98b29606dbc7133f042a0d
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu Mar 14 17:22:45 2013 +0100

    WIP: try resolving the host->svc relation from templates and tricks
    
    not finished yet, there's heavy recursion required

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=c28a60a1bccc4b3f4f8e9f09ffe701101e2e735f
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Tue Mar 12 21:48:29 2013 +0100

    Config Conversion: command macros, templates
    
    refs #2743

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=3d43927cdfea8f9e38938cea188acf1bbd6f0313
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Tue Mar 12 17:40:53 2013 +0100

    convertv1->v2 initial import
    
    refs #2743

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=02eb54dc1a818fdcafa6c85817e9f6341cf2831a
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Thu Jun 20 16:29:53 2013 +0200

    itl: fix inclusion of notification.conf

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=7f513a9aea5794b9bb703a344a066a06fc3f8078
Author: Gunnar Beutner <gunnar.beutner at netways.de>
Date:   Fri Jun 21 12:51:29 2013 +0200

    Update the flapping detecting formula.

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=6f158ff793a3bbf9f93395fffdcecccec1bfec4a
Author: Gunnar Beutner <gunnar.beutner at netways.de>
Date:   Fri Jun 21 10:28:21 2013 +0200

    Implement external commands for flapping detection.

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=69fcd7fa40fbe1c968fb1f7d9897d0cd00c0a660
Author: Gunnar Beutner <gunnar.beutner at netways.de>
Date:   Fri Jun 21 10:20:29 2013 +0200

    Implement flapping detection.

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=89078e1cfb65dd999e8dc5bbb717faad71f5081a
Author: Gunnar Beutner <gunnar.beutner at netways.de>
Date:   Fri Jun 21 09:07:57 2013 +0200

    Config: Fix nested dictionaries in arrays.

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=f38a389791a4a45ee6b868f62b14eab674a2cddb
Author: Gunnar Beutner <gunnar.beutner at netways.de>
Date:   Fri Jun 21 09:03:02 2013 +0200

    Make error message more user-friendly.

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=0d96923b45629cfa14a5f01a83339d76687b636a
Author: Gunnar Beutner <gunnar.beutner at netways.de>
Date:   Fri Jun 21 08:30:26 2013 +0200

    Add missing lock.





More information about the icinga-checkins mailing list