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

git at icinga.org git at icinga.org
Tue May 28 20:28:11 CEST 2013


URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=8291c84df3487b62d6ec50282fd1dcb9810a2d49
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=eaaf0454524dc5a1dc877a6130324cc2820eb32f
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=54522de6aee4e0b1e788c4ddfc1b3de94e94c522
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=1437b1eb82fcfa1883ca9feb2f6b68c50596b333
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=0a982d435c5ac0c972ee5269b6c0338f7b2f237c
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=3600b779ed7268e316d1a1fee5321affddfade56
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=2ff4a2dfcc2e7d2fcd76577c7fa4992c6b23abdc
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=5ee868bc0c0fd1eaf29f19da37c19800dd645346
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=f50a52ec27b36ffd093aa85fc69fc8132f6c22e2
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=46a878ed6c0e8ac290b024cdd43270c7066a3ac8
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=b00b16ca1b7b39f3cb3aaebe43664b87e4232525
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=42c1d461a4933412d923b8514b8900f5df0c2ad8
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=3a157d9978015b5520358d128173da442240806e
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=c75089088349e4784902016b53def048c705364b
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=d786998618c3c0143426141b6bf693e1ad8d8c84
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=a289e4b14e2c5624e00a5556310e062f332a24dd
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=532d5d05039e788cca3d3e7b8a31362bdd6763ab
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=5d616fdf633a8f79ebbdc7c9aa6913ea592cb58c
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=80106cbc117478b8ac52023c5582d02e4215d79d
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=e215722b87a3c8e9ad13bb0c99639e703ebf1024
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=7ef3ae9c69703dbe1399d80982eb5997494950a1
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=555a06fddd774e7136e4d2190e8be60971ff53d2
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=8226c39b8509e5a27074a998848f6ce9d6396dfc
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=0ac0bbe552d0cebfcf47ae572f90d23f32ebfd96
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=c2a451c844a23bb828cc9938524846d4c1a7ec89
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=0c562a190cb8dc78a51ecef1d8728135cb8f48fb
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=c88c5fc59b001d45f6ca9cd7adae5214f7c63bdf
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=035ca838035821539e107df63b26c91ce19f57c4
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=b505080f204618a55bf80a488d921dc9af42ab79
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=f434682b15aa1de9d73a86575cd8538770023a47
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=05bfa3f1692f45355ffa9e247f810b00c8607821
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=27d2729c0a1e85f7bab5ec8faf02130b9f2360d2
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=5bb7380283698e4f6e767ded0e67d8ffecca8c22
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=7e48aab4825d94cf97d55da0ad0c16acf58973ff
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=78ec84f6121e4cddedaddabbcd8d75d07ef4bdd9
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=3b60159cab9d59a05ec730792e3e081a25090cc3
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=13990b6c9ee9a305aa103f75cdb61591f00916e4
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=669c28b0e027ad90f5ce3453ba16cda7e54d4c0b
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=fd379564ab9acc0d5b9801fee943a00e1d4044de
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=62052c87e593eef9d2df0af8617d87e6b2c38b6c
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=870a9e663e31fa5c9870cc72b6b83af7b3e8902a
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=9d32196bb2eb3924ba1974afce0d43a3173d4a18
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=5e5188a818aab9dcf59021e10628d34feb6cce40
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=5bee14a5c0ce62f1e09d5ed22a45fab8a14c8e69
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=bffeffef31cba4deb7f7221d26142a502d8518ee
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=7b69f5548ee0dcac7ef623d3281a12b4c860a3e6
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=51cb2c00b0aff9f910e790cc44c73e1d5427f9ff
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=8131a3188d75b70df6899c395c41aac5ff55b92a
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=66cbb072d9f2a98ba42f79f07065eea7bff00556
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=6c45a76cabda3db497ba9a7bc575b9ac4a945b1f
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=06d262911556dabac6cb2157dc3e6ad2d13e3253
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=2229a0dbc1b5f8fa5ce2a9f8dc3ddec94237fd7f
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=53d61a2837adfbeec5d7d4c718e6b59f1cf5843b
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=ee8db4aca62241de236d7e4bf737f45059bf5f91
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=edee4d4f82a041e8f636c170570e78daa41460a6
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=a2844899d7d788dfc93e710cd66a9e649df516a7
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=b89572ca1e22ddb0162f9dd9604d6d975582c756
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=c2de1cb64f500eb3aba3e250efd5049b0a858219
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=6e8db072f0605d39bb307d8cfba50a1063da778a
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=016482e820b266960564602d4d2b2eb4309655a8
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=5140713eba7aa0df17ec0e1b42f2216f7539154b
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=51fad8355cf40d9799a7a8624dd5f43f81bca2b7
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=4a6c13029b68f8a150e8baae799ce1114186c47a
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=1013091c6248b5d1399883ee06596a7cf59c0e53
Author: Gunnar Beutner <gunnar.beutner at netways.de>
Date:   Wed May 15 11:11:21 2013 +0200

    Fixed grammar mistake.

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=502152743d39409ecd5618109cf78db7bcb23abb
Author: Gunnar Beutner <gunnar.beutner at netways.de>
Date:   Wed May 15 11:07:19 2013 +0200

    Update CGI section in the tutorial.
    
    Fixes #4161

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=8e754b085ee12de71c76913510a3e8944e266b32
Author: Gunnar Beutner <gunnar.beutner at netways.de>
Date:   Mon May 13 13:44:57 2013 +0200

    Implement notification escalations.

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=f4d04f8172830c6814bebc859160dc3deb8c97f4
Author: Gunnar Beutner <gunnar.beutner at netways.de>
Date:   Mon May 13 09:58:24 2013 +0200

    Fix ThreadPool exception on shutdown.
    
    Fixes #3891

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=36a45059f934c8a8d94903826bf89ce0bd35f5c8
Author: Gunnar Beutner <gunnar.beutner at netways.de>
Date:   Wed May 8 12:48:45 2013 +0200

    Fix infinite loop in LegacyTimePeriod::FindNthWeekday().

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=5aeafb9f038a1c23b9671e5faa9b9fbd0ff8e38e
Author: Gunnar Beutner <gunnar.beutner at netways.de>
Date:   Wed May 8 10:50:56 2013 +0200

    Make error message about invalid object names more verbose.

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=b4fa556ac66b6eadfe60443e521d285516e87059
Author: Gunnar Beutner <gunnar.beutner at netways.de>
Date:   Wed May 8 10:46:50 2013 +0200

    Fix: ConfigItem types and names are not case-insensitive
    
    Fixes #4044

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=aaac957ad597322c376e29c4aebfd22a7c2b55d2
Author: Gunnar Beutner <gunnar.beutner at netways.de>
Date:   Tue May 7 09:22:39 2013 +0200

    Disallow colons in user-defined objects. Use colons for auto-generated object names.

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=7e16c773751e1e1cf84e03aaf7d9f848590de805
Author: Gunnar Beutner <gunnar.beutner at netways.de>
Date:   Tue May 7 09:14:23 2013 +0200

    Don't allow config items to inherit from themselves.
    
    Fixes #4045

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=9418d1e440f48642f4a43ee3f876865f587041db
Author: Gunnar Beutner <gunnar.beutner at netways.de>
Date:   Mon May 6 12:07:46 2013 +0200

    Rename .txt files to .adoc.

URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=94b977ac24fc146bc836bd09e3f98759e8712a22
Author: Michael Friedrich <michael.friedrich at netways.de>
Date:   Sat May 4 17:49:28 2013 +0200

    icinga2.spec: show some love for proper builds
    
    - icinga2 binary location changed to sbin/
    - new initscript
    - itl is installed into share/
    - man pages in man/
    - use name macro for every 'icinga2' occurence
    - add a changelog
    
    update to 0.0.2 release
    
    fixes #4050





More information about the icinga-checkins mailing list