Commit Graph

878 Commits

Author SHA1 Message Date
Thomas Gelf f871e0bd7d basket: cleanup, fix/finish custom selection
fixes #1630
2018-10-15 15:04:14 +02:00
Thomas Gelf 83dc9dc6c3 BasketSnapshotFieldResolver: deal with fields
Also, this fixes Service Sets
2018-10-15 15:03:57 +02:00
Thomas Gelf eb789162cb Basket/Datafield: map best candidate, fix bindings 2018-10-15 15:03:57 +02:00
Thomas Gelf 2e37758336 BasketSnapshot: add Datafields to the mix 2018-10-15 15:03:57 +02:00
Thomas Gelf 50dd49c937 Automation Objects: allow to change their ID 2018-10-15 15:03:57 +02:00
Thomas Gelf 77c4997b88 Various: explicit loading with ID where required
...cleanup, comments
2018-10-15 15:03:57 +02:00
Thomas Gelf 1903f6e097 Objects: import/export for various types 2018-10-15 15:03:57 +02:00
Thomas Gelf 9e74dfcc16 ImportSource, SyncRule: cleanup 2018-10-15 15:03:57 +02:00
Thomas Gelf cd0b275250 DirectorJob: name is key, provide import/export 2018-10-15 15:03:57 +02:00
Thomas Gelf f32e568b8a SyncRule: make ready for basket
refs #1630
2018-10-15 15:03:57 +02:00
Thomas Gelf 063a46ea56 ImportSource: switch key to name, improve import
...of ImportSource definitions

refs #1630
2018-10-15 15:03:57 +02:00
Thomas Gelf 15a8886db7 IcingaCommandArgument: no need for format...
...when there is no value
2018-10-15 15:03:47 +02:00
Thomas Gelf c119c47864 ObjectApplyMatches: resolve imports/templates
fixes #1676
2018-10-15 15:03:41 +02:00
Thomas Gelf b3afe670c8 ImportRowModifier: no more ConfigurationError 2018-10-08 06:36:27 +02:00
Thomas Gelf b9ff77b4bb DeploymentLog: deal with Icinga 2 race condition...
...clean up our DB and Icinga 2 stages via API

fixes #1488
2018-10-05 14:55:48 +02:00
Thomas Gelf 8d61fa6347 ImportRowModifier: sort settings 2018-10-04 06:53:55 +02:00
Thomas Gelf 4e42231291 DirectorJob: no magic getter/setter, cleanup 2018-10-04 06:52:35 +02:00
Thomas Gelf a9b2910657 IcingaObject: fix use of unused exception 2018-10-01 12:01:20 +02:00
Camille TRUCHOT 0931c1df91 fix gettype for multiple host selection 2018-10-01 11:58:16 +02:00
Markus Frosch 67222ef437 legacy: Support service blacklisting 2018-09-20 12:54:15 +02:00
Markus Frosch e46a610b5f GroupMembershipResolver: Add interfaces to be able to check before updating 2018-09-18 10:36:45 +02:00
Thomas Gelf 16bf0ce5c3 GroupMembershipResolver: ignore templates...
...but continue checking their children

refs #1618
2018-09-17 16:26:22 +02:00
Markus Frosch 8526a55e47 GroupMembershipResolver: Purge IcingaTemplateRepository before refresh
This is only required with a deferred GroupMembershipResolver.
2018-09-17 14:37:18 +02:00
Markus Frosch b49d050cec HostGroupMembershipResolver: Address issues with static group assignments
* Fixing static resolving in general
* Avoiding a problem where apply were matched when assign_filter is an
  empty string (empty FilterAnd)

fixes #1574
2018-09-17 14:37:18 +02:00
Markus Frosch ce9a8e1b09 IcingaObject: Allow imports to be accessed during onStore() 2018-09-17 14:37:18 +02:00
Markus Frosch c86c168e43 IcingaTimeperiod: Add isActive support for include/exclude 2018-09-13 15:14:41 +02:00
Markus Frosch e8c64a422b legacy/IcingaTimeperiod: Support rendering of excludes 2018-09-13 15:14:41 +02:00
Markus Frosch 0d879c60d3 IcingaTimeperiod: Support includes and excludes 2018-09-13 15:14:41 +02:00
Markus Frosch 63eda31a64 IcingaObjectMultiRelations: Enable more config options 2018-09-13 15:14:41 +02:00
Markus Frosch a2f7ff03c1 IcingaObject: Fix listed applied Groups to show mixed apply/static
In case a group has been statically assigned to other object it would
have been hidden.

This should only affect UI and legacy rendering.
2018-09-11 15:22:30 +02:00
Markus Frosch ff77aa9879 IcingaServiceSet: Render sub-sets in config preview 2018-09-06 14:07:33 +02:00
Markus Frosch d6b9f3137a legacy/IcingaObject: Render groups only when it is a stored object
This broke activity log.
2018-09-05 12:35:40 +02:00
Markus Frosch ff0553c9dd legacy/IcingaObject: Render interval properties properly 2018-09-05 12:35:40 +02:00
Markus Frosch d4d309a704 legacy/IcingaService/ServiceSet: Improve apply rendering
This now renders one object per zone with a list of hosts.
2018-09-05 12:35:40 +02:00
Markus Frosch f1dbeca77c legacy/IcingaHost: Render assigned hostgroups into host object 2018-09-05 12:35:40 +02:00
Markus Frosch 26e58834f6 IcingaHostForm: Move getAppliedGroups to IcingaObject 2018-09-05 12:35:40 +02:00
Markus Frosch cceb588d24 FlappingSupport: Add legacy support 2018-09-05 12:35:40 +02:00
Markus Frosch 3521b30953 legacy/IcingaHost: Don't render volatile 2018-09-05 12:35:40 +02:00
Markus Frosch 76d0ed22e7 legacy/ObjectApplyMatches: Fix fetchFlatObjectsByType using object
Instead of flat variables.
2018-09-05 11:41:49 +02:00
Thomas Gelf 3c02f7499f ImportRun: fix problem with some binary checksums
fixes #1556
2018-08-14 09:10:15 +02:00
Thomas Gelf 3ffacc70b6 IcingaServiceSet: do not delete on title click
fixes #1560
2018-08-13 11:21:54 +02:00
Thomas Gelf 49d9ed7ecd IcingaServiceForm: fix blacklist service from set
fixes #1519
2018-08-13 09:52:07 +02:00
Thomas Gelf 01b85f5758 IcingaServiceSet: render comment next to Set 2018-08-13 07:52:59 +02:00
Markus Frosch 679539d5dd IcingaObject: Fix call to RuntimeException 2018-08-10 13:47:15 +02:00
Alexy Mikhailichenko cde61e122b Typo in IcingaObjectGroups.php
"doesn't exists" -> "doesn't exist"
2018-08-10 08:39:35 +02:00
Thomas Gelf 014f9b9dbe UserGroups: allow to specify zones
fixes #1163
2018-07-13 10:35:28 +02:00
Thomas Gelf 1733d6d520 Db: fix timezone issues
fixes #1332
fixes #1270
2018-07-13 09:43:27 +02:00
Thomas Gelf 35815e0dad library: lot's of cleanup 2018-06-19 13:47:19 +02:00
Thomas Gelf 6325798fca ImportSource: make method public for now 2018-06-12 21:45:11 +02:00
Thomas Gelf b2f97dd2bb Sync: fix phpcs complaints 2018-06-12 21:31:42 +02:00
Thomas Gelf 5e0b237d2d SyncRule: add import-related methods 2018-06-11 21:45:21 +02:00
Thomas Gelf 0735ed0aa1 SyncProperty: allow priorities, set source name 2018-06-11 21:29:59 +02:00
Thomas Gelf 85651a241a ImportSource: implement property modifier import 2018-06-12 19:57:19 +02:00
Thomas Gelf f9ca11eb50 ImportRowModifier: allow custom priority for...
...new objects (important when importing them)
2018-06-11 17:37:54 +02:00
Thomas Gelf 28320fe6bb FormDataFilter: use auto-suggestion for groups...
...drop ugly method in IcingaObjectGroup and clean up some files
2018-06-08 20:45:02 +02:00
Thomas Gelf e3c086c78c FormDataFilter: cleanup 2018-06-08 18:52:12 +02:00
Thomas Gelf 310ae7e623 IcingaService: cleanup, IcingaObject: introduce...
...getDefaultZone
2018-06-08 18:36:15 +02:00
Thomas Gelf 00db8a6204 IcingaObject: reduce duplicate code 2018-06-08 18:11:42 +02:00
Thomas Gelf c6de458235 GroupMembershipResolver: respect own groups and...
...inherited ones

fixes #1464
fixes #1449
2018-06-04 08:48:21 +02:00
Thomas Gelf 927591501c Export: first bunch of exportable Director objects
ImportSource, SyncRule, Datafield and more

refs #1409
2018-06-01 18:44:07 +02:00
Thomas Gelf 5d4408862a Settings, CoreApi: allow to configure package name
fixes #1497
2018-06-01 16:27:00 +02:00
Thomas Gelf a005ac3228 IcingaCommand: pathes prefixed with Windows ENV
...variables are considered to be absolute

fixes #1469
2018-06-01 11:38:28 +02:00
Thomas Gelf c2519b65b5 GroupMembershipResolver: cosmetics 2018-05-29 23:45:47 +02:00
Thomas Gelf 8c432285e7 Various: stick with default exceptions...
...IDE hints are annoying
2018-05-29 21:31:43 +02:00
Thomas Gelf 02dfac1b8b Revert "Export: first bunch of exportable Director objects"
Wrong branch, not yet for the master

This reverts commit 721700c62f.
2018-05-29 12:40:14 +02:00
Thomas Gelf 721700c62f Export: first bunch of exportable Director objects
ImportSource, SyncRule, Datafield and more

refs #1409
2018-05-29 12:34:18 +02:00
Thomas Gelf 2045f98016 IcingaServiceForm: allow to define apply rules...
...based on templates.

fixes #1359
2018-05-28 15:50:18 +02:00
Thomas Gelf 193c575e3a HostServiceBlacklist: small fixes
refs #907
2018-05-25 19:57:52 +02:00
Thomas Gelf c3fd50003a IcingaService: cosmetics, render single hosts...
...with equals, multiple ones as "in array"

refs #907
2018-05-25 19:48:27 +02:00
Thomas Gelf 8073128d0e IcingaServiceForm: add blacklist/delete button...
...and a lot of related boilerplate to get the "blacklist" feature working
2018-05-25 19:11:50 +02:00
Thomas Gelf ba5e595fd0 IcingaService: phpdoc 2018-05-25 19:11:50 +02:00
Thomas Gelf 853cecb14e HostServiceBlacklist: first implementation, schema
...and related changes

refx #907
2018-05-25 19:11:50 +02:00
Thomas Gelf 9c9a5b5b93 GroupMembershipResolver: last inserted ID is int...
...for PostgreSQL - as it should be everywhere :-/

fixes #1500
2018-05-25 13:14:03 +02:00
Thomas Gelf a033e411c6 Sync: preserve _override_servicevars
fixes #1307
2018-05-04 22:14:07 +02:00
Thomas Gelf 6add437dce IcingaCommand: do not allow to delete while in use
fixes #1443
2018-05-04 13:12:23 +02:00
Markus Frosch c2fcd407cc ObjectApplyMatches: Prepare filters only once
So that it can be re-used on multiple objects during sync.
2018-04-27 16:05:39 +02:00
Markus Frosch 0b7bb123cd GroupMembershipResolver: Parse filters before iterating through objects
Massive performance improvement! Up to 10x!
2018-04-27 16:05:39 +02:00
Markus Frosch f6cf1a4245 GroupMembershipResolver: Improve Benchmark output 2018-04-27 16:05:39 +02:00
Thomas Gelf 473bbd40c4 IcingaHostForm: fix premission checks on new Hosts
refs #1451
2018-03-29 16:46:41 +02:00
Thomas Gelf c5375c968b IcingaObjectGroups: add missing Exception use 2018-03-28 17:50:41 +02:00
Thomas Gelf fcbc2db71b IcingaObject: resolve groups for flattened objects
refs #1449
2018-03-28 17:47:48 +02:00
Thomas Gelf 78bb9c706a FlappingSupport: dedicated object extension 2018-02-28 09:24:39 +01:00
Thomas Gelf e02b283157 IcingaObject: remove unused code 2018-02-28 08:56:25 +01:00
Thomas Gelf 1bff61eeb5 SyncRule: just a type hint 2018-02-25 18:19:38 +01:00
Thomas Gelf 41e379b008 IcingaObject: getRenderingZone() must succeed...
...even when no config is given

refs #1394
2018-02-20 15:56:17 +01:00
Thomas Gelf 54a98d3a34 IcingaEndpoint: getDescriptiveUrl() - new helper 2018-02-20 15:36:48 +01:00
Thomas Gelf 081ddf5e85 ImportSource: flip modifier/row application loop
...and fix property modifier application order
2018-01-26 16:06:35 +01:00
Thomas Gelf 8dfe78b8bf ImportSource: reject by key
refs #1369
2018-01-26 13:04:32 +01:00
Thomas Gelf 53432c6d5c ImportModifiers: friendlier errors on PHP 7.x 2018-01-25 13:13:42 +01:00
Thomas Gelf 81053e4efa ImportSource: reset rejection after using a...
...property modifier
2018-01-25 12:53:03 +01:00
Thomas Gelf 8ed76d4888 ImportSource: allow Property Modifiers to reject
fixes #1369
2018-01-25 12:16:49 +01:00
Thomas Gelf 14e5aa8da4 ImportSource: unify duplicate logic
fixes #1370
2018-01-25 10:58:59 +01:00
Markus Frosch 07d830b06f IcingaObject: Render flapping thresholds downwards compatible
Settings are ignored in Icinga < 2.8.0 and a warning is logged.

refs #330
2018-01-15 10:10:33 +01:00
Markus Frosch 4902f694c1 flapping: Migrate to Icinga 2.8.0 flapping properties
Existing property is dropped now, it never was used in director before.

refs #330
2018-01-15 10:10:33 +01:00
Markus Frosch b9190755a6 IcingaObject: Support numeric properties
Similar to intervalProperties
2018-01-15 10:10:33 +01:00
Thomas Gelf 5d52eaefd0 IcingaObject: check for modified properties...
...once again after resolving unresolved related properties.

fixes #1315
2017-12-11 18:31:19 +01:00
Thomas Gelf 9f6771f09e CLI: health check plugin
fixes #1278
2017-11-08 15:31:56 +01:00
Thomas Gelf 6490283647 IcingaService: single objects w/o host must fail
fixes #1236
2017-10-12 17:01:20 +02:00
Thomas Gelf 996918aafa MemoryLimit: dedicated class, tests
fixes #1220
2017-10-10 14:35:32 +02:00
Thomas Gelf 5388520551 FieldLoader: fix 'show based on filter' for...
...CustomVariables of type Array

fixes #983
2017-10-07 17:14:54 +02:00
Thomas Gelf 1c0b06a1f8 GroupMembershipResolver: ignore objects scheduled
...for removal when refreshing group membership cache

fixes #1126
2017-10-04 21:06:22 +02:00
Thomas Gelf c277a5be53 IcingaDependency: just whitespace 2017-09-28 11:02:13 +02:00
Thomas Gelf 2e483fefba IcingaDependency: render parent_service_by_name...
...as a string

fixes #1136
2017-09-28 11:02:13 +02:00
Thomas Gelf 2f78d52c58 IcingaDependency: rule is not a DbObject here
fixes #1137
2017-09-28 11:02:13 +02:00
Thomas Gelf e45962c1b9 various: shorten long line, spacing, readability 2017-09-28 11:02:13 +02:00
Marc DeTrano 708edfdebc Updates: clean code for whitespace/standards...
...issues as reported by Travis. Add requirement for parent and child host
fields when setting up a Dependency Object (these fields are not necessarily
needed for Templates or Apply Rules). Renamed new table field to
'parent_service_by_name'... which is a bit more descriptive or what that
field is intended for.
2017-09-28 11:01:27 +02:00
Marc DeTrano 6bea1eff41 Implement Icinga Dependency Configuration. 2017-09-28 11:01:27 +02:00
Thomas Gelf 07c4d3ceaa IcingaTemplateChoice: helper method for roles...
...and initial support for "main" choice
2017-09-27 20:44:50 +02:00
Thomas Gelf cd2ed5cfae schema, IcingaTemplateChoice: add columns for...
...upcoming features
2017-09-27 20:41:41 +02:00
Thomas Gelf 1e43ca5d99 IcingaObject: add hasBeenRenamed()...
...and a hint for IDE's
2017-09-14 10:20:45 +02:00
Thomas Gelf 3f4903b889 GroupMembershipResolver: skip templates
Motivation: templates are not considered resolved objects
2017-09-13 17:20:02 +02:00
Thomas Gelf f7353b6628 IcingaObject: allow to load Choices by type
fixes #1129
2017-09-12 15:51:33 +02:00
Thomas Gelf 53242894a8 CustomVariables: extend overrides to allow...
...overrides from multiple templates to be merged

fixes #813
2017-09-12 12:19:05 +02:00
Thomas Gelf 804008673a IcingaCloneObjectForm: clone sets with services...
...and fix redirection

fixes #852
2017-09-11 16:02:39 +02:00
Thomas Gelf 424fc31363 IcingaObject: unset imports, will be set later on 2017-09-06 02:27:27 +02:00
Thomas Gelf 6d562eef12 IcingaObject: do not clear imports on merge...
...when merged object has no imports
2017-09-06 01:31:14 +02:00
Thomas Gelf 9cfc6bb46d IcingaCommandArgument: be defensive, format could
...be missing

fixes #1151
2017-09-05 10:22:01 +02:00
Thomas Gelf 7cd307ea53 IcingaCommandArgument: skip default for compact 2017-09-04 12:50:37 +02:00
Thomas Gelf 4c46f07f2e Arguments: externalize, improve code, fix issues 2017-09-03 07:46:04 +02:00
Thomas Gelf 8407f23474 toPlainObject: resolve is boolean
Doesn't change behavior, but null is confusing here.
2017-09-01 10:04:21 +02:00
Thomas Gelf 19e51e15e4 IcingaObject: special treatment for groups
refs #1146
2017-08-31 22:42:25 +02:00
Markus Frosch e9546f68bf Sync: Respect the fields used in filter_expression of the SyncRule
So that you can filter by fields not used in properties, or in property filters.

fixes #1130
refs #876
2017-08-30 16:40:12 +02:00
Thomas Gelf a3ac1b8eef IcingaServiceSet: fix tests 2017-08-28 06:16:00 +02:00
Thomas Gelf 20fe291433 IcingaServiceSet: do not allow for objects without
...a host
2017-08-28 06:09:37 +02:00
Thomas Gelf c2afacc11b IcingaServiceSet: createWhere() look for template
...in case no host_id has been set
2017-08-28 06:09:37 +02:00
Thomas Gelf 2f1d963c1c IcingaObject: ask imports for name list...
...when we already have it available
2017-08-28 06:09:37 +02:00
Thomas Gelf fd400977f2 IcingaObject: do not resolve imports when...
...resolving related objects
2017-08-26 16:17:07 +02:00
Thomas Gelf bab28b1755 IcingaService: force object_type=template when...
...loading a service by name

fixes #1094
2017-08-25 16:10:59 +02:00
Thomas Gelf f8445ca1ef IcingaObject: fix ApiUser preview rendering
fixes #1117
2017-08-25 15:03:12 +02:00
Thomas Gelf 1b160c6c35 IcingaObject: opt in for recursion
fixes #1118
2017-08-25 15:00:07 +02:00
Thomas Gelf 5450a00c78 IcingaService: handle use_agent=n by explicitly...
...rendering command_endpoint = null

fixes #921
fixes #1013
2017-08-25 08:50:38 +02:00
Thomas Gelf f55a672d48 IcingaObject: accept 'disable' on merge()
fixes #1104
2017-08-24 16:35:09 +02:00
Thomas Gelf 15c26b97db IcingaObject: fix "origins" names when showing...
...inherited properties

fixes #1093
2017-08-22 17:47:27 +02:00
Thomas Gelf 69607ada3c SyncRule: switch priority order, migrate DB
fixes #1077
2017-08-22 17:10:49 +02:00
Thomas Gelf 2109d138d5 IcingaTimeperiodRangeForm: delete through the...
IcingaTimePeriod and it's Ranges

fixes #1089
2017-08-21 22:41:37 +02:00
Thomas Gelf a092c5d79e IcingaObjectImports: fix check for modifications
refs #1062
2017-08-21 21:36:21 +02:00
Thomas Gelf 6ba0e8e924 IcingaObject: give unstored import names 2017-08-21 20:33:00 +02:00
Thomas Gelf 0bd2a328ed GroupMembershipResolver: do not fill objects...
...cache when not being told so. Also, fix query order/operator to ensure an
AND is being used.
2017-08-21 08:12:04 +02:00
Thomas Gelf 9adeb65f0c GroupMembershipResolver: support calls from onStore 2017-08-21 08:10:47 +02:00
Thomas Gelf 70b3e966da ImportSource: flip fetch order to stay close to...
...former one
2017-08-20 16:02:47 +02:00
Thomas Gelf 1999de2707 ImportRowModifier: fix class instantiation 2017-08-20 15:17:22 +02:00
Thomas Gelf 3c4d4de633 ImportRowModifier: also use PriorityColumn helper 2017-08-20 15:14:37 +02:00
Thomas Gelf 4c7b940705 PriorityColumn: add new object extension, use...
...it for SyncProperty
2017-08-20 15:04:06 +02:00
Thomas Gelf b21ba5dc54 IcingaHost: add helper methods for Sets, Services 2017-08-18 16:42:56 +02:00
Thomas Gelf bbcdf22466 ImportSource: better IDE hints 2017-08-18 10:48:58 +02:00
Thomas Gelf b364165110 IcingaObject: fix plain export with chosen...
...properties, use new template resolving repository everywhere
2017-08-16 08:11:08 +02:00
Thomas Gelf a495a6ca39 IcingaObjectImports: use new repository for lookup 2017-08-13 23:18:54 +02:00
Thomas Gelf 1356733332 IcingaHost: make sure that an Endpoint has a...
...Db connection
2017-08-11 17:15:08 +02:00
Thomas Gelf 13f33a842b IcingaTemplateResolver: improve benchmark message 2017-08-11 10:07:36 +02:00
Thomas Gelf 496be4fbc8 Sync: respect 'replace' policy on vars...
...with rule policy being set to 'merge'

fixes #864
2017-08-03 10:51:13 +02:00