Commit Graph

2303 Commits

Author SHA1 Message Date
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
Heinz Wiesinger 525b3164c0 vendor: Update php-diff with fixes
Version is based on:
* 3cb3f7ce6b
* and https://github.com/chrisboulton/php-diff/pull/50

Also see SOURCE
2018-04-16 08:59:59 +02:00
David McBride 8e28f7f9c8 Avoid failing when attempting to render NULL column-set
PHP 7.2 is stricter about invoking count() with parameters which
are not countable:

 https://secure.php.net/manual/en/migration72.incompatible.php

This case is triggered in QueryBasedTable, for example when reviewing
the Activity Log:

 count(): Parameter must be an array or an object that implements Countable (QueryBasedTable.php:115)
 #0 [internal function]: Icinga\Application\ApplicationBootstrap->Icinga\Application\{closure}(2, 'count(): Parame...', '/usr/share/icin...', 115, Array)
 #1 /usr/share/icingaweb2/modules/director/library/vendor/ipl/Web/Table/QueryBasedTable.php(115): count(NULL)
 #2 /usr/share/icingaweb2/modules/director/library/vendor/ipl/Html/BaseElement.php(133): dipl\Web\Table\QueryBasedTable->renderContent()
 #3 /usr/share/icingaweb2/modules/director/library/vendor/ipl/Html/Html.php(171): dipl\Html\BaseElement->render()
 #4 /usr/share/icingaweb2/modules/director/library/vendor/ipl/Html/BaseElement.php(105): dipl\Html\Html->render()
 #5 /usr/share/icingaweb2/modules/director/library/vendor/ipl/Html/BaseElement.php(133): dipl\Html\BaseElement->renderContent()
 #6 /usr/share/icingaweb2/modules/director/library/vendor/ipl/Html/Html.php(259): dipl\Html\BaseElement->render()
 #7 /usr/share/icingaweb2/modules/director/library/vendor/ipl/Zf1/SimpleViewRenderer.php(47): dipl\Html\Html->__toString()
 #8 /usr/share/icingaweb2/modules/director/library/vendor/ipl/Zf1/SimpleViewRenderer.php(66): dipl\Zf1\SimpleViewRenderer->render()
 #9 /usr/share/icingaweb2/library/vendor/Zend/Controller/Action/HelperBroker.php(272): dipl\Zf1\SimpleViewRenderer->postDispatch()
 #10 /usr/share/icingaweb2/library/vendor/Zend/Controller/Action.php(518): Zend_Controller_Action_HelperBroker->notifyPostDispatch()
 #11 /usr/share/php/Icinga/Web/Controller/Dispatcher.php(76): Zend_Controller_Action->dispatch('activitiesActio...')
 #12 /usr/share/icingaweb2/library/vendor/Zend/Controller/Front.php(937): Icinga\Web\Controller\Dispatcher->dispatch(Object(Icinga\Web\Request), Object(Icinga\Web\Response))
 #13 /usr/share/php/Icinga/Application/Web.php(389): Zend_Controller_Front->dispatch(Object(Icinga\Web\Request), Object(Icinga\Web\Response))
 #14 /usr/share/php/Icinga/Application/webrouter.php(109): Icinga\Application\Web->dispatch()
 #15 /usr/share/icingaweb2/public/index.php(4): require_once('/usr/share/php/...')
 #16 {main}

Perhaps over-simplistically, this failure can be avoided by first
checking the countability of the relevant value with isset().
2018-04-05 16:55:16 +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 feb80480ea QueryBasedTable: remove a superfluous empty line 2018-02-25 17:47:20 +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 0ae1ed1319 Img: allow for data urls 2018-02-20 14:39:58 +01:00
Thomas Gelf 5a5cd9ba1e BaseElement: easier way to override isVoid 2018-02-20 14:38:32 +01:00
Thomas Gelf 20bcbdccf7 ipl/Attributes: allow a prefix, helps with data-* 2018-02-20 14:36:01 +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