Commit Graph

2598 Commits

Author SHA1 Message Date
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 eedb6edff0 ControlsAndContent, js: trigger immediate refresh
...on missing WindowId. This fixes an issue for instances with multiple DB
resources
2018-10-08 13:54:18 +02:00
Thomas Gelf 3632eea164 Html: allow for string/int/float as tag content 2018-10-08 06:36:45 +02:00
Thomas Gelf ba47c39c51 BaseFormElement: '' is null for now 2018-10-08 06:36:38 +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 c93657c42e ZfQueryBasedTable: provide hasSearch() 2018-10-06 17:16:34 +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
Thomas Gelf 2b61a0e7c4 CompatController: use default exception 2018-10-01 11:59:02 +02:00
Thomas Gelf 77543371b7 ipl\Html\Form: use value name, not index 2018-10-01 11:59:02 +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
Thomas Gelf bf72c81062
Merge pull request #1639 from Icinga/feature/timeperiod-include-exclude
Add support for Timeperiod include/exclude
2018-09-17 09:10:59 +02:00
Thomas Gelf 095de49570 ipl/Form: set correct action url 2018-09-13 19:38:30 +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 fb4efa303f ipl\Html: Textarea is a FormElement 2018-09-06 01:16:37 +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