Commit Graph

2406 Commits

Author SHA1 Message Date
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
Markus Frosch f19a41d11a php-diff: Fix undefined offset in Array Renderer
See https://github.com/chrisboulton/php-diff/pull/51
2018-05-29 17:22:52 +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 3673daaa3c Html: allow to wrap elements, needed for forms 2018-05-23 08:30:37 +02:00
Thomas Gelf 799a332c22 Html\Attributes: callbacks for setters and getters 2018-05-23 08:22:06 +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 319b000407 ipl: phpdoc, cleanup 2018-05-06 09:08:37 +02:00
Thomas Gelf 01c3a553ba ipl: drop obsoleted components 2018-05-05 18:49:58 +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 f1480359da ipl: even more changes 2018-05-05 01:04:25 +02:00
Thomas Gelf 4f8c60bb46 various: cleanup, sop using deprecated methods 2018-05-05 00:24:49 +02:00
Thomas Gelf 403df971a1 dipl: align with ipl, first step 2018-05-05 00:18:45 +02:00
Thomas Gelf be0d41459f ipl: code cleanup 2018-05-04 22:55:24 +02:00
Thomas Gelf 30c6bf1b95 ipl: relax attribute name checks 2018-05-04 22:54:48 +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
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