Commit Graph

2732 Commits

Author SHA1 Message Date
Thomas Gelf a09bd4df95 TemplatesTable: allow to filter by usage
fixes #1339
2018-10-30 17:55:50 +01:00
Thomas Gelf dce9770dcd ObjectController: fix adding single Host Templates
...to a Configuration Basket
2018-10-30 16:41:49 +01:00
Thomas Gelf f43c74dc8e CommandUsage: do not throw ProgrammingError 2018-10-30 16:41:19 +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 bff93725eb ObjectController: fix "add to basket" for Sets 2018-10-25 08:38:24 +02:00
Thomas Gelf ef0499918f Services: fix multiselection for templates 2018-10-25 08:26:09 +02:00
Thomas Gelf 77cbb1040c GroupMemberTable: should work for services also
refs #1682
2018-10-25 08:21:58 +02:00
Gregory Hargreaves 8e38b1e318 Fixed style issue. 2018-10-22 09:42:33 +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 9b0d4b4d84 Added membership tab to servicegroups now the prerequisites are available for this functionality 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
Gregory Hargreaves c7eb34af97 Fixed Bug in ObjectApplyMatches, hard-coded object length broke filter matching for all but hosts 2018-10-22 09:42:33 +02:00
Gregory Hargreaves a8e6f53f70 Added DynamicApplyMatches implementation to remove hard coded Host implementation in GroupMembershipResolver 2018-10-22 09:42:33 +02:00
Thomas Gelf 6132166513 RemoveLinkForm: allow for multiple instances
fixes #1619
2018-10-16 16:09:53 +02:00
Thomas Gelf 5404e32f6d BasketSnapshot: small fix 2018-10-15 15:16:01 +02:00
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 5d113b3833 BasketController: allow to download JSON via Web 2018-10-15 15:03:57 +02:00
Thomas Gelf bea52a3091 Basket: load by name 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 f0878a9bcd BasketSnapshotTable: split by day - and more 2018-10-15 15:03:57 +02:00
Thomas Gelf 75787911b5 DbObject: fix insert with unprotected autoinc...
...for PostgreSQL
2018-10-15 15:03:57 +02:00
Thomas Gelf 591afd441e BasketSnapshot: be explicit, make special Service
...treatment obvious
2018-10-15 15:03:57 +02:00
Thomas Gelf 1d550cd442 BasketSnapshot: do not export external objects 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 affcc54ba3 DbObject: allow specific objects to change their
...autoinc 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 1cbe6741ae BasketSnapshotTable: show '-' when empty 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 8f3cf85954 ExportInterface: require getUniqueIdentifier() 2018-10-15 15:03:57 +02:00
Thomas Gelf 26630adb0f BasketSnapshot: defined order, respect inheritance
...and more
2018-10-15 15:03:57 +02:00
Thomas Gelf 6e25c05d89 Migrations: cleanup 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 9508cf8acd ImportExport: add ServiceSets 2018-10-15 15:03:57 +02:00
Thomas Gelf 6adc0f7632 DbObjectWithSettings: make sure new ones are...
...sorted
2018-10-15 15:03:57 +02:00
Thomas Gelf 93cbd4f020 Dashboard: introduce "Director" section with...
..."Basket"
2018-10-15 15:03:57 +02:00
Thomas Gelf f4220016d8 Basket: initial import of the main components
refs #1630
2018-10-15 15:03:57 +02:00
Thomas Gelf 35acda4865 ObjectController: fix usage link 2018-10-15 15:03:47 +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 d27615eb57 ConfigHealthItemRenderer: multi-instance support 2018-10-08 13:54:33 +02:00
Thomas Gelf b3afe670c8 ImportRowModifier: no more ConfigurationError 2018-10-08 06:36:27 +02:00
Thomas Gelf 75a0797438 SyncUtils: prefer InvalidArgumentException 2018-10-08 06:35:36 +02:00
Thomas Gelf 0cd333006b Health: no Import/Sync/Jobs are OK 2018-10-08 06:35:28 +02:00
Thomas Gelf db72931c1e Migrations: cleanup 2018-10-06 16:58:13 +02:00
Thomas Gelf e16d7865c7 DbSelectorForm: submission detection, once more 2018-10-06 16:36:01 +02:00
Thomas Gelf 3d26ab127f DbSelectorForm: do not believe to be submitted...
...when another form has been sent
2018-10-06 16:35:49 +02:00
Thomas Gelf 3839ecda50 Health: change UI layout and output ordering 2018-10-06 12:54:11 +02:00
Thomas Gelf fda7acc855 HealthController: show Health Check in the UI
fixes #1669
2018-10-05 16:00:10 +02:00
Thomas Gelf 72998e4307 IcingaObjectFieldLoader: hooked fields should not
...clear defined ones. There used to be collisions

fixes #1667
2018-10-05 15:13:19 +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 dd566dc1be CLI: allow to append/remove from/to Arrays
fixes #1666
2018-10-05 12:10:58 +02:00
Thomas Gelf 33053103e1 IcingaServiceSetTable: do not trust a Servicve Set
...name, as the Template might have been renamed in the meantime - and the
name on the Set "object" has no meaning at all

fixes #1664
2018-10-04 18:30:27 +02:00
Thomas Gelf ea18006819 JobDetails: just a comment 2018-10-04 06:57:09 +02:00
Thomas Gelf 18ab9b4f7c tables: more getId calls removed 2018-10-04 06:56:28 +02:00
Thomas Gelf ac0745445e DirectorObjectForm: use autoinc for ints 2018-10-04 06:54:49 +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 1a0cabf216 ImportSourceHook: no more getId 2018-10-04 06:50:03 +02:00
Thomas Gelf ad46ff9fb0 DbObject: cleanup, phpdoc 2018-10-04 06:49:19 +02:00
Thomas Gelf 4e327ed54d Json: allow null/false 2018-10-04 06:47:50 +02:00
Thomas Gelf 0b341c6db1 ConfigDiff: allow Inline diff, cleanup, css 2018-10-04 06:46:32 +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
Michael Friedrich bb81de8b84 Render Icinga config helpers with safe globals access
globals[key] works, although it wasn't documented how it
behaves in the case when this field doesn't exist.

Previously this has been a dictionary which silently returns
null if the key doesn't exist. With v2.10, globals turned
into a namespace which throws an error if not existing (which is
the correct behaviour).

In order to avoid configuration errors with 2.10, this is changed
into `contains()` which has been sitting in dictionaries since 2014.
So this patch ensures compatibility with older versions as well.
2018-09-27 10:40:58 +02:00
Markus Frosch 926bc2b0c6 legacy: Improve interval rendering 2018-09-20 15:58:39 +02:00
Markus Frosch 67222ef437 legacy: Support service blacklisting 2018-09-20 12:54:15 +02:00
Markus Frosch e2bd821d26
Merge pull request #1642 from Icinga/feature/group-resolve-housekeeping
Add group apply housekeeping and testing
2018-09-18 17:18:16 +02:00
Markus Frosch 7817c3b781 legacy: Allow configuration for file modes 2018-09-18 16:31:21 +02:00
Markus Frosch 93e1a88e10 legacy: Deploy files with proper permissions
So we can use the same logic as for icingaweb2 configs.
2018-09-18 15:10:42 +02:00
Markus Frosch 4675a241a8 Integrate MembershipHousekeeping into Housekeeping 2018-09-18 12:21:19 +02:00
Markus Frosch 7bfe1e03e6 Housekeeping: Add helper to refresh memberships in database
This is usually only done when either object or group changes.
2018-09-18 10:36:45 +02:00
Markus Frosch e46a610b5f GroupMembershipResolver: Add interfaces to be able to check before updating 2018-09-18 10:36:45 +02:00
Markus Frosch 4b03821caf BaseTestCase: Let db be accessed statically
E.g. from setUp and tearDown for class
2018-09-18 09:51:33 +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 039a6c8660 TemplateRepository: Let us clear the instance cache 2018-09-17 14:37:18 +02:00
Thomas Gelf 76e353c9fb IcingaObjectInspection: handle NULL checkresult
fixes #1641
2018-09-17 09:15:24 +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
Thomas Gelf 3ae39af1cb DeploymentLog: deal with entries without checksum
This will allow to keep deployment history while dropping outdated generated
configs
2018-09-12 12:43:01 +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 a1664195f0
Merge pull request #1624 from Icinga/feature/legacy-updates
Improving legacy rendering
2018-09-06 11:44:36 +02:00
Thomas Gelf 2f3f01e1c1 StartupLogRenderer: support non-standard package
* Warning Links are now available when package != director
* Changelog: mention health check change

fixes #1633
2018-09-06 01:15:14 +02:00
Thomas Gelf e853dc40fc ObjectController: hard exit after REST API response
fixes #1314
2018-09-05 22:29:19 +02:00
Thomas Gelf 9cf513f8aa ArrayElementByPosition: phpcs bug 2018-09-05 13:23:19 +02:00
Thomas Gelf 79620849c7 ArrayElementByPosition: new PropertyModifier
fixes #473
2018-09-05 13:11:09 +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 7c58cfdd7b widgets: Prefer using DeploymentApiInterface instead of CoreApi 2018-09-05 12:35:40 +02:00
Markus Frosch 0911910856 DbObject: Don't allow empty id for multi-column objects
This avoids that the user can actually create duplicate objects in the
database. (E.g. for service templates)
2018-09-05 11:41:49 +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 44425d4407 Db: throw original exception when rollback fails 2018-09-04 11:08:37 +02:00
Thomas Gelf 488aad6f4e DirectorDb: fix overridden variable, has no effect
...at least not yet, it would have once access to Director DBs can be restricted
2018-09-04 11:08:37 +02:00
Markus Frosch 2075f2e54a IcingaConfig: Avoid try/except for compatibility with Icinga >= 2.6
try / except was never needed there, because get_host should never
throw an exception. It will be null then.

fixes #1610
2018-08-22 20:41:45 +02:00
Thomas Gelf 3c02f7499f ImportRun: fix problem with some binary checksums
fixes #1556
2018-08-14 09:10:15 +02:00
Thomas Gelf bf68dbcaca IcingaConfig: fix Service Override template name
Got broken by fd372c6 for #1579

fixes #1601
2018-08-14 08:34:41 +02:00
Thomas Gelf d7c92a29bd TemplateTree: do not remove parents matching the
...objects name from the tree

fixes #1602
2018-08-14 00:29:42 +02:00
Thomas Gelf 3ffacc70b6 IcingaServiceSet: do not delete on title click
fixes #1560
2018-08-13 11:21:54 +02:00
Thomas Gelf 657d6a958f WIP: click on service set title row should not...
...remove the set from the related host
2018-08-13 09:53:10 +02:00
Thomas Gelf 49d9ed7ecd IcingaServiceForm: fix blacklist service from set
fixes #1519
2018-08-13 09:52:07 +02:00
Thomas Gelf 2cf3151fdd PropertyModifierRejectOrSelect: fix typo 2018-08-13 08:17:15 +02:00
Thomas Gelf 01b85f5758 IcingaServiceSet: render comment next to Set 2018-08-13 07:52:59 +02:00
Thomas Gelf b5a6bcc143 AutomationActions: disable 'Download JSON'
It's not implemented in the related controller, and too late for 1.5.0

fixes #1572
2018-08-10 14:28:02 +02:00
Markus Frosch 025a3f7390
Merge pull request #1597 from Icinga/bugfix/activitylog-restore
RestoreObjectForm: Fix restore of multi-key and apply
2018-08-10 14:23:57 +02:00
Markus Frosch 679539d5dd IcingaObject: Fix call to RuntimeException 2018-08-10 13:47:15 +02:00
Thomas Gelf 71cc5939d3 CoreApiFieldsTable: fix legacy ipl syntax 2018-08-10 13:35:12 +02:00
Markus Frosch 217e3c1dce Update and improve Linux kickstart script
* Multiple Endpoints
* Default Global Zone is added automatically
* Stable without need for sysconfig

fixes #1585
2018-08-10 10:43:55 +02:00
Alexy Mikhailichenko cde61e122b Typo in IcingaObjectGroups.php
"doesn't exists" -> "doesn't exist"
2018-08-10 08:39:35 +02:00
Markus Frosch f63ee93f71 Turn off autocomplete in JS for suggested elements
Instead of the PHP code, for all input.director-suggest elements
2018-08-10 08:25:10 +02:00
Thomas Gelf fd372c6b62 IcingaConfig: check whether get_host succeeded...
...and warn otherwise

fixes #1595
2018-08-09 16:06:50 +02:00
Markus Frosch 07b07bb26e Fix wrong name in ActivityLog quicksearch
fixes #1408
2018-08-09 13:07:39 +02:00
Thomas Gelf 14a3039f65 controllers, libs: less noise from exceptions 2018-08-08 10:07:39 +02:00
Thomas Gelf 8c30b9c5de HostController, related: tweak Exceptions 2018-08-06 13:50:28 +02:00
Thomas Gelf 505912135d HostServices: mark disabled services
fixes #1548
2018-07-16 09:19:53 +02:00
Thomas Gelf c7a94f2c39 Dependencies: no longer considered experimental 2018-07-16 08:28:13 +02:00
Thomas Gelf ac1ba20ab7 AutomationObjectActionBar: add for Importsourc 2018-07-15 16:02:29 +02:00
Thomas Gelf 31b2326e1e DbObjectWithSettings: fix for unstored objects 2018-07-13 10:56:51 +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 b77bdcbcf4 ImportRunBasedPurgeStrategy: fetch chunked rows
refs #1556
2018-07-04 15:18:43 +02:00
Thomas Gelf f2e6f86d8e PropertyModifierRejectOrSelect: match booleans 2018-07-03 16:56:57 +02:00
Thomas Gelf 06b6356de1 Dashboard: show DB selection only for setups...
...with multiple DBs
2018-06-23 11:17:56 +02:00
Thomas Gelf 88f7dc0d0f controllers, library: small fixes 2018-06-23 09:05:10 +02:00
Thomas Gelf 35815e0dad library: lot's of cleanup 2018-06-19 13:47:19 +02:00
Bruno Mendola c2d54f9de9 Import check commands from Core API
fixes #1527
2018-06-15 16:19:40 +02:00
Thomas Gelf 9069a7f916 Objects, FormLoader: exceptions, exceptions 2018-06-14 14:08:04 +02:00
Thomas Gelf 17321e4a5f ImportExport: return number of imported objects 2018-06-14 13:43:52 +02:00
Thomas Gelf 1ca41c5b10 CloneSyncRuleForm: prepare for multi-db use 2018-06-14 13:41:13 +02:00
Thomas Gelf ee48f28302 CloneImportSourceForm: use the correct field 2018-06-14 13:06:00 +02:00
Thomas Gelf 810e873566 Objects: throw not found 2018-06-14 08:59:48 +02:00
Thomas Gelf 3d1ccf17a3 ActionController: add exception to phpdoc 2018-06-14 08:41:43 +02:00
Thomas Gelf 75268479ca RestApi: cleanup, exceptions, phpdoc 2018-06-14 08:33:11 +02:00
Thomas Gelf 6b67662de7 Command: cleanup 2018-06-13 21:34:27 +02:00
Thomas Gelf 1bc77ad7c6 CloneSyncRuleForm: show a meaningful message 2018-06-12 21:45:29 +02:00
Thomas Gelf 6325798fca ImportSource: make method public for now 2018-06-12 21:45:11 +02:00
Thomas Gelf fc58e506ea CloneImportSource: one more cloning feature 2018-06-12 22:01:34 +02:00
Thomas Gelf b2f97dd2bb Sync: fix phpcs complaints 2018-06-12 21:31:42 +02:00
Thomas Gelf f91c6f211d ObjectPreview: link related objects
fixes #1521
2018-06-12 21:27:18 +02:00
Thomas Gelf df4c3b925c ObjectsController: add missing loadForm
fixes #1518
2018-06-12 20:20:25 +02:00
Thomas Gelf 5fe976e059 SyncRuleForm: initial implementation 2018-06-11 23:13:03 +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 67763dc5a9 ImportExport: add fail-safe import, WIP 2018-06-11 17:16:01 +02:00
Thomas Gelf 98099ad48a DbObjectWithSettings: allow to pass objects 2018-06-11 16:48:20 +02:00
Thomas Gelf cdcf99592b ServiceCommand: allow to delete single services
fixes #719
2018-06-08 22:02:27 +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 ea8452d0e9 ConfigHealthItemRenderer: be fail-safe
Icinga Web 2 should catch errors, but seems that it doesn't
2018-06-08 16:54:04 +02:00
Thomas Gelf d2cfa20385 DirectorDb: push missing changes 2018-06-08 00:07:14 +02:00
Thomas Gelf aaaa8aed0a DbSelectorForm: allow to switch Director database
fixes #1498
2018-06-07 23:50:31 +02:00
Thomas Gelf 885f76715a ActionController: cleanup 2018-06-07 23:37:28 +02:00
Thomas Gelf 450f40b402 IcingaConfig: remove superflous parameter
fixes #1514
2018-06-07 14:33:00 +02:00
Thomas Gelf 7efeab674c (Host)ServiceTable: always show blacklist details
It can affect also single services
2018-06-05 11:06:43 +02:00
Thomas Gelf b475aa841e IcingaConfigHelper: granular macro-rendering
fixes #685
fixes #1272
fixes #1482
2018-06-04 18:18:32 +02:00
Thomas Gelf c5d05454ca RepositoryByObjectHelper: prepare for auth, clean 2018-06-04 08:48:30 +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 c401f5356c HostServiceTables: drop useless group()
fixes #1509
2018-06-01 14:55:14 +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 808a9df13e StartupLogRenderer: parse lines with timestamps
This is required to support Icinga v2.9.0

fixes #1478
2018-06-01 11:34:57 +02:00
Thomas Gelf 31a6ab0cf2 IcingaHostServiceTable, others: cleanup, fix...
...blacklist-styling
2018-05-30 00:45:08 +02:00
Thomas Gelf c2519b65b5 GroupMembershipResolver: cosmetics 2018-05-29 23:45:47 +02:00
Thomas Gelf f3056c6f2c DirectorObjectForm: templates have no choices
fixes #1363
2018-05-29 23:15:17 +02:00
Thomas Gelf cf5b7c7001 CoreApi: old patch, unused code 2018-05-29 22:22:13 +02:00
Thomas Gelf 8c432285e7 Various: stick with default exceptions...
...IDE hints are annoying
2018-05-29 21:31:43 +02:00
Markus Frosch 8b7b9024c4 IcingaConfig: Remove library import from generated config
`library "methods"` was when Director set the actual execution method
for commands.
2018-05-29 17:41:09 +02:00
Thomas Gelf 15729cb28a PropertyModifierJsonDecode: use existing helper 2018-05-29 17:35:34 +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 f88e318dce Merge branch 'feature/sync-cleanup' 2018-05-25 19:51:26 +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 35f1f09b84 Tables: fix host/service blacklist queries 2018-05-25 19:11:50 +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 facaeb8aac Sync: cleanup, improve array handling, split logic
This should for example fix sync for multiple group memberships
2018-05-25 19:11:50 +02:00
Thomas Gelf 5a8c785b7c dipl: align with ipl-html, stop using deprecated
...method Html::escapeForHtml
2018-05-25 19:09:42 +02:00
Thomas Gelf ec0beb5de8 HostServiceRedirector: fix switched urls 2018-05-25 18:20:56 +02:00
Thomas Gelf 29bcfff07f Sync: fix properties for IcingaObject instances 2018-05-25 13:29:32 +02:00
Thomas Gelf bd80862153 Sync: cleanup, improve array handling, split logic
This should for example fix sync for multiple group memberships
2018-05-25 13:29:32 +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 728bbe523e ConfigJob: do not re-deploy the same checksum
fixes #978
2018-05-23 11:31:23 +02:00
Thomas Gelf 14cd540ce9 HostServiceRedirector: add applied service sets 2018-05-23 08:18:57 +02:00
Thomas Gelf 0f4fd471e2 HostServiceRedirector: new implementation for...
...service links. Fallback route and more

fixes #689
2018-05-23 00:47:30 +02:00
Thomas Gelf d5807495a0 TemplateTree: load inheritance for unstored...
...objects even if the given parent is not a template. This happens with fake
objects while managing overrides
2018-05-22 14:40:56 +02:00
Thomas Gelf d8b1207254 Sync: it's not yet possible to let single...
...objects fail

refs #1048
2018-05-22 12:17:22 +02:00
Markus Frosch 49afcd5855 Sync: Only prefetch relations for IcingaObject
So DatalistEntry can be synced

fixes #1048
2018-05-22 11:08:03 +02:00
Thomas Gelf b773b90ae5 JobDetails: fix message "characters are not yet.." 2018-05-17 08:36:39 +02:00
Thomas Gelf 05bc9e5bfc CustomvarTable, SyncRunDetails: small fixes 2018-05-09 13:18:10 +02:00
Thomas Gelf df83c9abad ipl: no more Html::__callStatic, add phpdocs 2018-05-08 19:54:00 +02:00
Thomas Gelf b1fd0bd9ed ObjectTabs: show 'inspect' only for endpoints...
...with an ApiUser reference

fixes #1293
2018-05-08 16:25:38 +02:00
Thomas Gelf df7c77a0f6 ipl-related fixes 2018-05-05 18:29:17 +02:00
Thomas Gelf 988319dcf6 ipl-related: use HtmlDocument instead of Html 2018-05-05 01:25:24 +02:00
Thomas Gelf 955695682d Use BaseHtmlElement and more 2018-05-05 01:11:55 +02:00
Thomas Gelf 4f8c60bb46 various: cleanup, sop using deprecated methods 2018-05-05 00:24:49 +02:00
Thomas Gelf a033e411c6 Sync: preserve _override_servicevars
fixes #1307
2018-05-04 22:14:07 +02:00
Thomas Gelf 99ddb9266b Commands: show usage over templates and objects
fixes #335
2018-05-04 18:02:05 +02:00
Thomas Gelf 6add437dce IcingaCommand: do not allow to delete while in use
fixes #1443
2018-05-04 13:12:23 +02:00
Thomas Gelf 8e4b88195b ObjectsTableCommand: formatting 2018-05-04 12:47:51 +02:00
offsides 38a56f68fe Assign: add "is not set" operator
fixes #1436
2018-05-04 12:42:39 +02:00
Thomas Gelf cd2de241dd Commands: allow to filter by usage
fixes #1480
2018-05-04 11:03:42 +02:00
Thomas Gelf 4c77a32ee0 IcingaConfig: remove hard-coded global zone
Anyways, this line should be obsolete
2018-05-04 08:45:32 +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
Markus Frosch 3b812fab7d Sync: Make sure to prefetch relations for objects
This can avoid a lot of queries for zones, commands, timeperiods.
2018-04-27 16:05:39 +02:00
Markus Frosch c4a95fd64e Sync: Implement Benchmark for the Sync process
Note: This disables redirect-on-success for the forms, so you can see
the benchmark result.
2018-04-27 16:05:39 +02:00
Thomas Gelf fb3dc92b36 ImportRunBasedPurgeStrategy: performance boost...
...for some older MariaDB/MySQL versions
2018-04-27 15:58:13 +02:00
Thomas Gelf 473bbd40c4 IcingaHostForm: fix premission checks on new Hosts
refs #1451
2018-03-29 16:46:41 +02:00
Thomas Gelf 5dab1d3bb8 IcingaHostForm: logic belongs here
refs #1451
2018-03-28 18:38:36 +02:00
Thomas Gelf 8c7897ee46 DirectorObjectForm: do not allow to store...
...IcingaHost objects you wouldn't be allowed to see afterwards

fixes #1451
2018-03-28 18:32:52 +02:00
Thomas Gelf 3e46602802 Json: wrap json_encode to emit errors
refs #1445
2018-03-28 18:16:30 +02:00
Thomas Gelf 2f68489cac DirectorDb: do not fail when unconfigured and...
...not use by Controllers
2018-03-28 17:55:57 +02:00
Thomas Gelf 56c5ac0846 DirectorDb: ConfigurationError has been missing 2018-03-28 17:52:21 +02:00
Thomas Gelf c5375c968b IcingaObjectGroups: add missing Exception use 2018-03-28 17:50:41 +02:00
Thomas Gelf 92535ab702 DbConnection: add isMysql() helper method 2018-03-28 17:49:59 +02:00
Thomas Gelf fcbc2db71b IcingaObject: resolve groups for flattened objects
refs #1449
2018-03-28 17:47:48 +02:00
Da Rold Valentina 08e38f2c75 Hook for custom field in Director form 2018-03-28 15:46:21 +02:00
Heinz Wiesinger 6889c63a69 Fix settings name in PropertyModifierMakeBoolean. 2018-03-16 14:14:21 -04:00
Markus Frosch 1e7f0f962b IcingaObjectInspection: Properly read and handle config_checksum
This adapts behavior from DeploymentLogTable

fixes #1420
2018-03-11 14:20:09 +01:00
Markus Frosch 034319dbe7 ImportedrowsTable: Render complex data types in pre tag
Just like ImportsourceHookTable.

refs #1325
2018-03-11 14:10:50 +01: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 7525a7b0f6 ObjectsTable: allow to filter any type by name
Not used yet, will make it easy to create restrictions like
director/host/filter-by-name = "*.dev.example.com"
2018-02-25 18:15:12 +01:00
Thomas Gelf ad88207d84 ObjectsTable: cleanup 2018-02-25 18:08:40 +01:00
Thomas Gelf d5fe207efd DbObjectWithSettings: sort settings by name 2018-02-25 18:06:12 +01:00
Thomas Gelf 64e1f463a2 Command: allow to override dbResourceName
fixes #1410
2018-02-25 18:03:46 +01:00
Thomas Gelf 22eb5911f0 CustomVariables: readability, IDE hints 2018-02-25 17:58:11 +01:00
Thomas Gelf 45209b99c3 DbObject: remove useless property 2018-02-25 17:45:17 +01:00
Thomas Gelf f5b4769f6e ObjectsCommand: cleanup 2018-02-25 17:44:46 +01:00
Thomas Gelf 3da917a400 IcingaObjectHandler: correctly name methods
fixes #1373
2018-02-25 17:39:51 +01:00
Thomas Gelf 29baa3698e Dashlet: reset stats before getting the first one
fixes #766
2018-02-25 17:30:05 +01:00
Markus Frosch c4e9f7a8b3
Merge pull request #1401 from wols/master
Fix list and fetch help texts
2018-02-21 22:57:34 +01:00
Thomas Gelf bd40160391 IcingaObjectInspection: deal with CheckResults...
...without a command property

fixes #1402
2018-02-21 11:34:19 +01:00
WOLS 47a6ae74b2
Fix list and fetch help texts 2018-02-20 21:58:36 +01:00
Markus Frosch 63a98c05a9 ServiceActions: Show inspect link on all services
Not only services of hosts managed by Director. This aligns behavior
with HostActions itself.
2018-02-20 16:25:58 +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 56f44b9ff1 IcingaObjectInspection: improve Inspect look&feel
fixes #264
2018-02-20 15:40:49 +01:00
Thomas Gelf 54a98d3a34 IcingaEndpoint: getDescriptiveUrl() - new helper 2018-02-20 15:36:48 +01:00
Thomas Gelf ec1b3ff8d1 Health: disconnect from DB on destruction 2018-02-20 15:35:39 +01:00
Thomas Gelf a515e02953 FilterByNameRestriction: test and unify behavior
fixes #1392
2018-02-20 13:45:19 +01:00
Thomas Gelf 47c7c1b5f2 SyncUtils: fix wrong phpdoc 2018-02-20 12:58:07 +01:00
Thomas Gelf e879b02875 KickstartHelper: import Event Commands
fixes #1389
2018-02-20 12:39:37 +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 0056a90414 SyncUtils: allow property names ending with a dot 2018-01-26 13:49:16 +01:00
Thomas Gelf dba98b7c3f PropertyModifierRejectOrSelect: add dedicated NULL
...support

refs #1371
2018-01-26 13:10:18 +01:00
Thomas Gelf 3a1d09cfb1 ImportsourceHookTable: add new classes, deal with
...empty rows
2018-01-26 13:06:54 +01:00
Thomas Gelf 8dfe78b8bf ImportSource: reject by key
refs #1369
2018-01-26 13:04:32 +01:00
Thomas Gelf 765b08f597 Import: apply modifiers only when fetching data 2018-01-26 13:01:39 +01:00
Thomas Gelf 33f04d9e52 PropertyModifierHook: add missing methods, cleanup
refs #1369
2018-01-25 13:14:33 +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 6bb6e3a613 RejectOrSelect: new black/white-listing Import...
...Property Modifier

fixes #1371
2018-01-25 12:52:12 +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
Thomas Gelf 9f6ba150f6 Health: sort results by name 2018-01-25 10:17:08 +01:00
Thomas Gelf 2f3e8c406f HealthCommand: add PluginOutputBeautifier 2018-01-22 10:01:29 +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 6c52a26281 DirectorObjectForm: Add flapping settings
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
Broskavka c825d0b441 Update NamePattern.php 2017-12-14 00:25:49 +01:00
Thomas Gelf 619717903b DirectorObjectForm: commit missing method
refs #1331
2017-12-13 09:46:53 +01:00
Thomas Gelf 062efd9919 NamePattern: fix msg
refs #1331
2017-12-12 15:55:15 +01:00
Thomas Gelf 550959d858 NamePattern: allow to combine multiple patterns
fixes #1331
2017-12-12 15:49:22 +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
mpursley 284c187ee3 Update ChoicesDashlet.php 2017-11-27 01:43:30 +01:00
Dirk Goetz 7fb216db4c PropertyModifier: add capitalize
fixes #427
2017-11-24 11:00:06 +01:00
Dirk Goetz 777f5ff71a PropertyModifier: add urlencode
fixes #1070
2017-11-24 10:29:41 +01:00
Thomas Gelf dbe8aeeed3 ObjectsTableService: do not show set members
fixes #1299
2017-11-23 16:43:52 +01:00
Thomas Gelf 0c4e18533b PropertyModifierXlsNumericIp: new implementation
fixes #1296
2017-11-17 01:32:22 +01:00
Markus Frosch efc36fdbb8 ObjectController: Don't let DeploymentLink break the interface on errors
This can happen whenever the deployment related config of Zones,
Endpoints or ApiUsers is incomplete or missing.

This should not break forms needed to fix the problem.
2017-11-15 12:04:12 +01:00
Thomas Gelf 24515e708f Health: typo 2017-11-10 10:33:03 +01:00
Thomas Gelf 21dff9d6d9 Health: more granular details 2017-11-10 10:19:44 +01:00
Thomas Gelf eb087bc8b2 Health: fix message for pending deployments 2017-11-10 10:15:46 +01:00
Thomas Gelf 78b5cfdbcb Health: fix erronous method call 2017-11-10 10:14:29 +01:00