Commit Graph

2540 Commits

Author SHA1 Message Date
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