Commit Graph

930 Commits

Author SHA1 Message Date
Ravi Kumar Kempapura Srinivasa 90b5f6fdac Convert $imports keys to string explicitly
The keys of $imports in IcingaObjectImports must be converted to string explicitly or else it establishes incorrect parent-child relation
in icinga_host_inheritance table in case the key is integer value and there is an host object with id = key(integer) icinga_host table.
This results in undefined offset while triggering sync rule.
2021-10-01 10:47:54 +02:00
Ravi Kumar Kempapura Srinivasa 6289bf065f Pass $resolved as False for arguments to toPlainObject()
IcingaArguments passes the $resolved through to the individual argument in the toPlainObject. There lies the error,
simply pass false - because the argument itself cannot have any parents and therefore cannot be resolved
2021-10-01 10:47:12 +02:00
Thomas Gelf f0deb11e7f IcingaObject: no empty vars for unmodified plain 2021-08-16 06:33:34 +02:00
Thomas Gelf 1d5b00a675 IcingaObject: unify DB boolean value converter
Hint: fixes booleans for "plain unmodified" objects
2021-08-16 06:33:23 +02:00
Thomas Gelf 77fca39ff3 IcingaObject: getAppliedGroups with id=null 2021-08-16 06:21:50 +02:00
Thomas Gelf 66de47b10b DbObjectTypeRegistry: move logic from IcingaObject 2021-08-04 13:18:30 +02:00
Thomas Gelf 7f16d648cc IcingaUser: add basket support
fixes #2328
2021-07-15 19:11:20 +02:00
Sebastian Gumprich fed74eb33d IcingaObject: alias scheduled_downtime
Fixes an error when trying to create scheduled_downtime via api

fixes #1879
2021-07-12 23:25:42 +02:00
Thomas Gelf 2cff396fe4 DbDataFormatter: new helper class
Trying to reduce logic in IcingaObject
2021-05-20 16:21:46 +02:00
Thomas Gelf 7de5b03877 IcingaObject: readability, style 2021-05-20 15:11:12 +02:00
Thomas Gelf 80965053cf IcingaDependency: isApplyForArrayClone(), cleanup 2021-05-20 11:48:17 +02:00
Thomas Gelf da1363d236 IcingaService: public hasBeenAssignedToHostTemplate 2021-05-20 10:24:27 +02:00
Thomas Gelf a2016e99c0 IcingaObject: do not load resolved memberships...
...for unstored objects
2021-04-15 10:22:45 +02:00
Thomas Gelf c709c00fbd ObjectApplyMatches: fetch allied host groups
fixes #2313
2021-04-14 09:03:35 +02:00
Thomas Gelf 302c9b645d DirectorDatafield: fix changed method name
fixes #2278
2021-03-19 13:24:58 +01:00
Thomas Gelf a8d25b70ee Sync: introduce a 'disable' purge action
fixes #2285
2021-03-11 23:00:52 +01:00
Thomas Gelf 21a284abbc OverriddenVarsResolver: refine api 2021-01-19 01:47:31 +01:00
Thomas Gelf 6687524d2f IcingaObject/Imports: better error message wording
fixes #2224
2021-01-11 17:32:59 +01:00
Thomas Gelf c12cf5ddb3 PropertyModifierHook: provide the property name
fixes #2241
2020-12-02 17:59:15 +01:00
Thomas Gelf 12a818216c IcingaNotification: separate times.begin/end
fixes #2193
2020-11-30 08:11:25 +01:00
Thomas Gelf c273a20ce4 KickstartHelper: eventually remove external commands
fixes #985
2020-11-30 08:01:53 +01:00
Thomas Gelf a761485b96 CompareBasketObject: new helper for basket diffs
...with lot's of workarounds for foreign baskets

fixes #2223
2020-11-24 04:36:48 +01:00
Thomas Gelf db03208c5b IcingaDependency: fix for Array-style parent hosts
fixes #2088
2020-11-02 11:30:28 +01:00
Thomas Gelf b75aac7323 PropertyModifierHook: allow to clone rows
fixes #2060
2020-01-17 11:32:04 +01:00
Thomas Gelf 2ef30f5f12 various: formatting, cleanup 2020-01-10 12:33:54 +01:00
Thomas Gelf a7c21743b9 ImportSource: loaded modifiers should be an Array
fixes #2053
2020-01-09 14:15:50 +01:00
Thomas Gelf 668012ac64 ImportSource: allow an imported object with no...
...modifiers to remove existing ones
2020-01-09 14:14:34 +01:00
Thomas Gelf e59bbc1a4d ImportSource: increment modifier counter on import
This fix has no impact on the restored data, but avoids useless
re-creation of the very same property modifiers on restore (in case
there is more than one)
2020-01-09 14:08:52 +01:00
Thomas Gelf 0c2ba62c0b DirectorDatalistEntry: fix Exception namespace
This removes an unused dependency on ext-http

refs #2054
2020-01-09 09:05:27 +01:00
Thomas Gelf 3e98d828e5 OverriddenVarsResolver: externalize lookup logic
This now also takes into account properties overridden on intermediate
Host templates
2019-12-04 12:36:47 +01:00
Mantis Development 596e352761 use sprintf() for InvalidArgumentException 2019-11-28 23:40:43 +01:00
Thomas Gelf be8c1101f2 travis: use phpcs 3.5.2 2019-11-28 07:13:22 +01:00
Thomas Gelf 50315d8714 ImportSource: fix cloning
fixes #2005
fixes #1997
2019-11-05 16:50:56 +01:00
Thomas Gelf 3996efc3cf IcingaNotification: render service_name
fixes #2006
2019-10-31 15:27:37 +01:00
Thomas Gelf 5dab744b81 Health: do not complain about new jobs...
...that have never been triggered and are not due right now

fixes #1994
2019-10-16 14:49:04 +02:00
Valentina Da Rold 2d73aad9d1 Add PHPDoc to getCategory function 2019-10-02 09:47:51 +02:00
Valentina Da Rold 062b290ca8 Add category name to datafield and hooks 2019-10-01 18:15:02 +02:00
Valentina Da Rold 0fbe693544 Use category_name as id in DirectorDatafieldCategory 2019-10-01 16:57:35 +02:00
Valentina Da Rold 50c477acce Create DirectorDatafieldCategory for DirectorDatafield 2019-10-01 15:33:42 +02:00
Thomas Gelf ab8c8b041d IcingaNotification: render host_id as host_name
Does not affect apply rules, just those who enforce host_id via sync
2019-09-27 15:10:31 +02:00
Thomas Gelf 95d68aefeb IcingaService: enforce zone for apply rules
fixes #1621
fixes #1634
2019-09-25 14:36:45 +02:00
Thomas Gelf a540a716c2 ImportSource: raise limits when running
fixes #1954
2019-09-25 13:09:57 +02:00
Thomas Gelf 4ee3ef2fd9 Daemon: new implementation 2019-09-25 12:10:08 +02:00
Thomas Gelf 42ea7a5a05 IcingaHost: explicitly delete related Service/Sets
fixes #623
2019-09-20 00:59:17 +02:00
Thomas Gelf ecf56ff1a7 ImportSource: fix property modifier handling when
...restoring baskets

fixes #1949
2019-09-20 00:13:09 +02:00
Thomas Gelf f24276ce88 PropertyModifierHook: overridable exportSettings()
fixes #1948
2019-09-19 17:24:31 +02:00
Thomas Gelf 0e0bc3fb5d various: some little fixes 2019-09-11 22:36:36 +02:00
Thomas Gelf 7d7c4defdf DirectorJob: do not throw NotFound 2019-09-01 14:27:48 +02:00
Thomas Gelf aad07b3d1d IcingaDependency: fix form and rendering 2019-07-09 10:36:57 +02:00
Thomas Gelf 01f2666ff2 IcingaDependency: drop parent_service_var 2019-07-09 10:36:57 +02:00
Thomas Gelf bb9105e370 IcingaDependency: allow for arrays 2019-07-09 10:36:57 +02:00
Thomas Gelf 05d5152e6f IcingaDependency: cleanup, shorten custom logic 2019-07-09 10:36:57 +02:00
Thomas Gelf adace00df4 Dependency: prepare var rendering, cleanup 2019-07-09 10:36:57 +02:00
Thomas Gelf 8f4a93dd08 IcingaDependency: properties for changed schema 2019-07-09 10:36:57 +02:00
Thomas Gelf 4413a44d65 IcingaServiceForm: allow to set check_command...
...for Service Apply rules, given that admin permissions have been granted.
This also fixes the problem that inherited command names haven't been shown.

fixes #1899
2019-07-08 16:27:44 +02:00
Thomas Gelf 0d405cba98 SyncruleCommand: show number of expected changes
Sample output when there are changes:

    icingaweb2@web:~$ icingacli director syncrule check --id 36
    There are pending changes for this Sync Rule. You should  trigger a new Sync Run.
    Expected modifications: 2x create, 0x modify, 0x delete
    icingaweb2@web:~$ echo $?
    1

...when there are no changes:

    icingaweb2@web:~$ icingacli director syncrule check --id 34
    This Sync Rule is in sync
    icingaweb2@web:~$ echo $?
    0

...and when something failes:

    icingaweb2@web:~$ icingacli director syncrule check --id 32
    This Sync Rule failed: No data has been imported for "Benutzergruppen aus Nagios" yet
    icingaweb2@web:~$ echo $?
    2

fixes #1849
2019-05-27 17:46:43 +02:00
Markus Frosch 4037e22709 Implement AssignFilterHelper to improve apply/assign matching
* is set / is not set - fixes #1483 fixes #1387
* case-insensitive matching when using wildcards '*'
  like match() in Icinga 2
2019-05-06 14:19:29 +02:00
Markus Frosch ef41022a73 IcingaArguments: Mark arguments for removal when setting empty
Without the fix arguments will remain untouched in DB, but appear to be removed in activity log.

fixes #1829
2019-04-15 16:35:40 +02:00
Thomas Gelf 904ec7c435 ScheduledDowntimes: Hosts with Services, optional
schema, form, rendering

fixes #1831
2019-04-12 12:12:32 +02:00
Thomas Gelf 8106a6ab6e ScheduledDowntime, Form, activity: tweak links 2019-04-11 08:58:19 +02:00
Thomas Gelf 9a21ace300 IcingaObject: scheduled downtime awareness
This is not optimal, but that's how it works right now
2019-04-11 02:53:31 +02:00
Thomas Gelf 3ac99d6be3 IcingaScheduledDowntime: fix rendering 2019-04-11 02:53:10 +02:00
Thomas Gelf b8f0237708 IcingaScheduledDowntimeRanges: fix property name 2019-04-11 02:53:10 +02:00
Thomas Gelf b1bf17569b IcingaScheduledDowntime: changdefault zone 2019-04-11 02:34:14 +02:00
Thomas Gelf e7fc4d3009 IcingaScheduledDowntime: render object header 2019-04-11 02:34:14 +02:00
Thomas Gelf 6f790dd118 IcingaScheduledDowntimeForm: assignment elements 2019-04-11 02:34:14 +02:00
Thomas Gelf c72b51c538 ScheduledDowntimes: a bunch of url-related changes 2019-04-11 02:34:14 +02:00
Thomas Gelf 219958d93f IcingaScheduledDowntime: cleanup, modernize 2019-04-11 02:34:14 +02:00
Thomas Gelf 2615446572 ScheduledDowntime: initial implementation
refs #347
2019-04-11 02:34:14 +02:00
Markus Frosch 1e5f6b4f76 IcingaServiceSet: Refactor config rendering for sets
* A header is now always rendered and includes assign and description
* Diff is now visible for sets
2019-04-10 13:24:04 +02:00
Markus Frosch 6c00d1735d IcingaArguments: Import Icinga DSL in arguments when available from baskets
Icinga 2 will still not dump this, but in Director Baskets it is included.
2019-03-28 11:59:32 +01:00
Markus Frosch 1713dee1c1 IcingaServiceSet: Delete host sets when deleting a set
This allows service sets to be deleted, including their children sets that
are assigned to hosts.

The UI forbids deleting those sets, but we can use it like this for CLI
and purging during sync.
2019-03-26 12:39:06 +01:00
Markus Frosch 6a79436af3 IcingaCommand: Allow command to be rendered as string
Icinga 2 allows this from the beginning.
2019-03-26 12:02:35 +01:00
Thomas Gelf 2aea3ad966 ImportSource: use sprintf() for InvalidArgumentEx
fixes #1810
2019-03-25 08:33:41 +01:00
Markus Frosch b8e00e9b8c legacy: Ignore hosts that are disabled or blacklisted properly 2019-03-06 14:58:56 +01:00
Thomas Gelf 429be2dd76 IcingaServiceSet: fix rendering of Sets attached..
...to single Hosts

fixes #1789
2019-02-26 15:03:41 +01:00
Thomas Gelf 89d4af564e IcingaCommandArgument: align toPlainObject method 2019-02-15 01:36:33 +01:00
Thomas Gelf 8046510b1f ServiceapplyrulesController and related changes
fixes #1755
2019-02-15 01:29:43 +01:00
Thomas Gelf 85ed54f932 IcingaServiceSet: skip Service on single host...
...when blacklisted

fixes #1616
2019-02-15 00:48:05 +01:00
Thomas Gelf 7da91d747f IcingaService: blacklisting on Host Templates...
...is now supported

fixes #1707
2019-02-15 00:08:23 +01:00
Thomas Gelf 62c020171a IcingaCommand: import/export with fields
fixes #1747
2019-02-14 22:55:24 +01:00
Thomas Gelf 738e4eeaf1 IcingaTimePeriod: support Basket (ExportInterface)
fixes #1735
2019-02-14 22:42:21 +01:00
Thomas Gelf 640da36c62 IcingaDependency: allow for basket snapshots
fixes #1739
2019-02-14 21:54:11 +01:00
Thomas Gelf bd16756913 TemplateTree: new loop detection
fixes #1631
2019-02-13 21:43:37 +01:00
Markus Frosch d2c00c5d39 IcingaService: Fix getOnDeleteUrl() for service sets
So that it redirects back to services of this serviceset.
2019-02-06 13:25:18 +01:00
Thomas Gelf b1d3bc9b4d Sync, IcingaObjectGroups: avoid generic Exceptions 2019-01-10 12:10:53 +01:00
Thomas Gelf 0c2e3fe1b1 Basket: fix various little issues
fixes #1691
2018-12-10 17:52:56 +01:00
Thomas Gelf b644a7c6a7 IcingaObject, ..WithSettings: fix Basket-related..
...problems
2018-11-26 00:12:13 +01:00
Thomas Gelf 7926d558ba DataList: load by name, fix basket 2018-11-26 00:11:35 +01:00
Thomas Gelf bb0422c327 Basket: related fixes 2018-11-15 11:14:14 +01:00
Thomas Gelf 6377ed61cc DbObject: remove binary column magic
Binary columns must be configured explicitly, binary keys are now also
possible

fixes #1702
2018-11-14 12:24:31 +01:00
Thomas Gelf 06f5db698f Basket: fix export for Basket and Notifications
fixes #1703
2018-11-14 11:17:44 +01:00
Thomas Gelf 59ff61a277 IcingaUserGroup: do not prefer the global zone...
...but the master zone, like in former versions
2018-11-13 15:32:53 +01:00
Thomas Gelf 6b4c47a649 IcingaObject: rendered disabled objects should...
...not break comments

fixes #1263
2018-10-30 19:39:44 +01:00
Thomas Gelf 46d3800014 IcingaCommandArgument: allow to change type
fixes #1640
2018-10-30 18:20:08 +01:00
Thomas Gelf cf6e4536ea Util: drop bin2hex/hex2bin helpers
We dropped support for PHP 5.3, this is no longer required
2018-10-30 15:32:17 +01:00
Thomas Gelf 77cbb1040c GroupMemberTable: should work for services also
refs #1682
2018-10-25 08:21:58 +02:00
Gregory Hargreaves ce4850d2de Reverted back to previous object map storage, however added check for modified groups in RefreshDB and CheckDB this should now pass the current Unit Tests 2018-10-22 09:42:33 +02:00
Gregory Hargreaves fcd4125d71 Fixed bug in GroupMembershipResolver, objects not stored to instance if loading all objects causing mappings to not be stored. 2018-10-22 09:42:33 +02:00
Gregory Hargreaves 2efd90302c Added notifiers for ServiceGroupMembershipResolver to IcingaService & IcingaServiceGroup, created ServiceGroupMembershipResolver 2018-10-22 09:42:33 +02:00