Commit Graph

2694 Commits

Author SHA1 Message Date
Thomas Gelf af2e86d8b8 host/findservice: new route to readonly view 2019-02-10 11:15:05 +01:00
Thomas Gelf 9237d34aa4 SimpleViewRenderer: deal with early errors
fixes #1742
2019-02-12 11:45:52 +01:00
Thomas Gelf 90b31fc6ca BasketSnapshot: fix upload issue
fixes #1782
2019-02-12 11:28:28 +01:00
Thomas Gelf 0139506494 AssignRenderer: fix and test NOT on root level
fixes #1777
2019-02-08 12:08:06 +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 b9c5f94589 IcingaConfigHelper: add missing reserved keywords
fixes #1765
2019-01-23 10:28:29 +01:00
Thomas Gelf 6d46a62085 BasketSnapshot.php: cast objects to an array...
...when uploading a basket
2019-01-22 16:59:20 +01:00
Thomas Gelf 92c05f49a3 ActivityLogTable: filter by host if given
In future we'll have better filtering possibilities, for now this scans all
rows with a matching service name in the table

fixes #1613
2019-01-11 12:24:29 +01:00
Thomas Gelf bb0bdeb737 SyncruleController: provide a preview tab
fixes #1754
2019-01-10 12:11:30 +01:00
Thomas Gelf b1d3bc9b4d Sync, IcingaObjectGroups: avoid generic Exceptions 2019-01-10 12:10:53 +01:00
Klaus Weidenbach 7b189ef3b1 Add PropertyModifierParseURL.
Provide a PropertyModifier for the PHP function parse_url().
2018-12-21 18:44:08 +01:00
Markus Frosch 58c0689005 Import: Improve exception info during storing rows 2018-12-14 09:58:55 +01:00
Thomas Gelf 35318396e8 Basket: do not fail when setting "Custom Selection"
fixes #1733
2018-12-12 10:42:31 +01:00
Thomas Gelf 0c2e3fe1b1 Basket: fix various little issues
fixes #1691
2018-12-10 17:52:56 +01:00
Thomas Gelf b67e0c0017 Basket: add UploadForm
fixes #1731
2018-12-10 15:36:59 +01:00
Markus Frosch 8f09afd31b
Merge pull request #1720 from Icinga/travis
ci: Update travis matrix and vendor test helpers
2018-12-03 11:02:28 +01:00
Thomas Gelf 44af7b3ae3 RestApiClient: do not send Connection: close...
...just throw away the curl handle. Otherwise Icinga v2.9 fails
2018-11-27 19:02:39 +01:00
Markus Frosch 91a62ffbee phpcs: Fix ObjectsController 2018-11-27 11:00:14 +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 264732ba98 Basket: fix adding single objects 2018-11-25 22:05:25 +01:00
Thomas Gelf a3a2b5425b SyncRule: cleanup, remove magic method access 2018-11-24 10:17:18 +01:00
Thomas Gelf 01f82b2d48 RestApiClient: use correct RuntimeException 2018-11-22 08:25:33 +01:00
Thomas Gelf ec11dea8a9 Basket: allow to download for non-primary Instance 2018-11-15 12:50:33 +01:00
Thomas Gelf bb0422c327 Basket: related fixes 2018-11-15 11:14:14 +01:00
Thomas Gelf 4352264b73 ImportSourceCoreApi: import flapping only for 2.8+
fixes #1652
2018-11-14 13:34:39 +01:00
Thomas Gelf 9aab203f59 CoreApi: disconnect after each request for...
...specific Icinga 2 versions

fixes #1695
fixes #1696
2018-11-14 13:25:07 +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 24a7dbcac8 RestApi: remove outdated code, clean up, allow...
...to disconnect curl on demand or after each request
2018-11-14 08:19:25 +01:00
Thomas Gelf ad8a2e04f6 CoreApi: allow to fetch the Icinga Core version 2018-11-14 08:12:58 +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 f3b972e904 Clone..Form: fix for ImportSource and SyncRule 2018-11-08 08:31:38 +01:00
Thomas Gelf cf161f480c SubmitElement: always ignore value 2018-11-06 07:18:34 +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 280ed4430e TemplateController: link non-template commands
fixes #1544
2018-10-30 19:08:18 +01:00
Thomas Gelf 46d3800014 IcingaCommandArgument: allow to change type
fixes #1640
2018-10-30 18:20:08 +01:00
Thomas Gelf dfdc7d327b FilterRenderer: support SimpleQuery
fixes #1670
2018-10-30 18:02:32 +01:00
Thomas Gelf a09bd4df95 TemplatesTable: allow to filter by usage
fixes #1339
2018-10-30 17:55:50 +01:00
Thomas Gelf d8184ce373 ZfQueryBasedTable: only search with wildcards...
...when no wildcard has been given
2018-10-30 16:42:55 +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 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
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