Commit Graph

2817 Commits

Author SHA1 Message Date
Thomas Gelf 6cd50fb392 BackgroundDaemon: log reload and make some...
...methods public
2020-06-06 22:26:56 +02:00
Thomas Gelf 98aafeb535 PropertyModifierRejectOrSelect: change wording
fixes #2134
2020-06-06 22:06:10 +02:00
Markus Frosch 50521bdecb ImportSourceRestApi: Add header and deeper extract_property
Allows a user to add additional headers, e.g. by setting a specific `Accept` or any authentication header.

Also `extract_property` now has a logic for deeper keys like "result.objects", "key.deeper_key.very_deep"
2020-06-06 19:17:02 +02:00
Thomas Gelf cea6d4b456 ExtensibleSetElement: show inherited values
fixes #1310
2020-04-21 11:24:32 +02:00
Thomas Gelf fd80344d79 BackgroundDaemonState: reduce API 2020-04-20 22:57:09 +02:00
Thomas Gelf 80f9ea29b5 BasketForm: allow Notification Templates 2020-04-09 14:59:52 +02:00
Thomas Gelf 63e3a69611 BackgroundDaemonDetails: support RPC info 2020-04-07 11:50:49 +02:00
Eric Lippmann db97470a48 Fix host templates not usable with hostgroup restrictions
Before, for new hosts the code checked whether the host is part of any
restricted hostgroup only if the host's groups got modified directly.
I honestly don't know how that should be possible, since one can't add
host groups directly if restricted.
Now, for new hosts the code checks whether the resolved host groups
match at least one of the restricted host groups.
2020-03-20 10:32:22 +01:00
Thomas Gelf bf0653d238 CoreApi: unify config URL encoding 2020-03-10 00:08:43 +01:00
Thomas Gelf 391edf5f19 ImportSourceLdap: use paged result
fixes #2019
2020-03-09 10:19:14 +01:00
Thomas Gelf 04557aad1c IcingaObjectResolver: clone filter, use helper 2020-02-12 15:08:51 +01:00
Thomas Gelf 15b52a323c AssignFilterHelper: fix error message 2020-02-12 14:52:03 +01:00
Thomas Gelf f7403f43d0 IcingaObjectResolver: use import lists
Fixes an issue with nested inheritance
2020-02-12 13:56:41 +01:00
Thomas Gelf babae3e068 IcingaObjectResolver: support PostgreSQL 2020-02-12 10:59:38 +01:00
Thomas Gelf 421f47d08d IcingaObjectResolver: new for ServicesetController 2020-02-12 10:41:58 +01:00
Thomas Gelf 66fdeec923 DeploymentHook: fix typo, keep compatibility 2020-01-21 20:08:35 +01:00
Thomas Gelf 81ad26fcab DirectorObjectForm: support dbResourceName
fixes #2064
2020-01-17 12:09:33 +01:00
Thomas Gelf 54ec11aec2 Window: workaround for bug in web >= 2.6.3
fixes #2063
2020-01-17 11:58:28 +01:00
Thomas Gelf b75aac7323 PropertyModifierHook: allow to clone rows
fixes #2060
2020-01-17 11:32:04 +01:00
Thomas Gelf d0a01e2102 Implement ListToObject Property Modifier
fixes #2062
2020-01-17 11:01:17 +01:00
Thomas Gelf c12a6baeea Sync: implement update-only policy
fixes #2059
2020-01-17 09:01:25 +01:00
Thomas Gelf f0b96674c9 Import: distinct fetch from store in benchmark 2020-01-10 12:36:13 +01:00
Thomas Gelf 2ef30f5f12 various: formatting, cleanup 2020-01-10 12:33:54 +01:00
Thomas Gelf a7c21743b9 ImportSource: loaded modifiers should be an Array
fixes #2053
2020-01-09 14:15:50 +01:00
Thomas Gelf 668012ac64 ImportSource: allow an imported object with no...
...modifiers to remove existing ones
2020-01-09 14:14:34 +01:00
Thomas Gelf e59bbc1a4d ImportSource: increment modifier counter on import
This fix has no impact on the restored data, but avoids useless
re-creation of the very same property modifiers on restore (in case
there is more than one)
2020-01-09 14:08:52 +01:00
Thomas Gelf 0c2ba62c0b DirectorDatalistEntry: fix Exception namespace
This removes an unused dependency on ext-http

refs #2054
2020-01-09 09:05:27 +01:00
Thomas Gelf 4e54177bfe ObjectsTableEndpoint: show an object type column
fixes #2050
2019-12-18 11:39:43 +01:00
Thomas Gelf 3e98d828e5 OverriddenVarsResolver: externalize lookup logic
This now also takes into account properties overridden on intermediate
Host templates
2019-12-04 12:36:47 +01:00
Mantis Development 596e352761 use sprintf() for InvalidArgumentException 2019-11-28 23:40:43 +01:00
Thomas Gelf be8c1101f2 travis: use phpcs 3.5.2 2019-11-28 07:13:22 +01:00
Thomas Gelf 2a8a641117 ObjectsController: apply search for REST API too
fixes #1889
2019-11-06 13:27:43 +01:00
Thomas Gelf db99a30fa1 ObjectSetTable: search in service names too
fixes #1873
2019-11-06 13:11:31 +01:00
Thomas Gelf 50315d8714 ImportSource: fix cloning
fixes #2005
fixes #1997
2019-11-05 16:50:56 +01:00
Thomas Gelf bbe55f28b6 config: Allow to disable the Director UI
fixes #2007
2019-10-31 15:45:36 +01:00
Thomas Gelf 3996efc3cf IcingaNotification: render service_name
fixes #2006
2019-10-31 15:27:37 +01:00
Christian Jonak 0dfa6a7ba3 Allow ArrayByElementPosition modifier to filter by key name
Fix double brackets


Allow ArrayByElementPosition modifier to filter by key name


Fix double brackets
2019-10-30 15:40:11 +01:00
Thomas Gelf ece50a0947 InspectPackages: new feature
fixes #1995
2019-10-17 03:18:00 +02:00
Thomas Gelf 5dab744b81 Health: do not complain about new jobs...
...that have never been triggered and are not due right now

fixes #1994
2019-10-16 14:49:04 +02:00
Thomas Gelf 1b5ed9699d Db\Migrations: warn about downgrades
fixes #1992
2019-10-16 11:28:29 +02:00
Thomas Gelf c8a3681fa4 CoreApi: more specific type-hint 2019-10-16 10:54:59 +02:00
Thomas Gelf a8db367718 DaemonDb: emit locked status 2019-10-16 07:22:58 +02:00
Thomas Gelf 6ca14a58b0 PropertyModifier: multibyte-safe upper/lowercase
fixes #710
2019-10-14 15:07:45 +02:00
Thomas Gelf d0a29d4716 CloneSyncRuleForm: do not fail
fixes #1982
2019-10-14 14:24:33 +02:00
Thomas Gelf 2c000d4160 DaemonDb: emit 'connecting', fix event name 2019-10-12 17:29:52 +02:00
Thomas Gelf 88e8408a7b GroupMemberTable: allow multi-select for hosts
fixes #1973
2019-10-03 09:44:51 +02:00
Thomas Gelf 3d0497d003 BackgroundDaemonState: move to widgets 2019-10-02 19:55:26 +02:00
Thomas Gelf 660aaf6293 BackgroundDaemon: remove obsolete properties 2019-10-02 19:27:52 +02:00
Thomas Gelf bc1b1e3d29 IcingaObjectgFieldLoader: fix whitespace 2019-10-02 09:59:07 +02:00
Valentina Da Rold 633f4802f0 Correctly manage fields categories whe loading forms 2019-10-02 09:48:30 +02:00
Valentina Da Rold 2d73aad9d1 Add PHPDoc to getCategory function 2019-10-02 09:47:51 +02:00
Valentina Da Rold 062b290ca8 Add category name to datafield and hooks 2019-10-01 18:15:02 +02:00
Valentina Da Rold 575fa88518 Group fields based on category in object fields 2019-10-01 17:43:04 +02:00
Valentina Da Rold 0fbe693544 Use category_name as id in DirectorDatafieldCategory 2019-10-01 16:57:35 +02:00
Valentina Da Rold 90c7bf0dc1 Add DataFieldCategoryController, Tabs and Table 2019-10-01 16:57:10 +02:00
Valentina Da Rold 5e81f0c88c Add Data Field Category Dashlet 2019-10-01 16:56:02 +02:00
Valentina Da Rold 50c477acce Create DirectorDatafieldCategory for DirectorDatafield 2019-10-01 15:33:42 +02:00
Thomas Gelf 7a95f430bf DaemonDb: trigger restart on schema change
fixes #1964
2019-09-30 08:48:55 +02:00
Thomas Gelf 4ba2c21ce9 JobRunner: use modified logproxy 2019-09-29 08:59:23 +02:00
Thomas Gelf cec4b7b57b BackgroundDaemon: mention emitted component level 2019-09-29 08:53:35 +02:00
Thomas Gelf 79243f660a JobRunner: unify log messages 2019-09-29 08:53:04 +02:00
Thomas Gelf aef10a5f80 BackgroundDaemon: set first ready, then running 2019-09-29 08:52:13 +02:00
Thomas Gelf ab8c8b041d IcingaNotification: render host_id as host_name
Does not affect apply rules, just those who enforce host_id via sync
2019-09-27 15:10:31 +02:00
Thomas Gelf 26c272bba9 ImportedrowsTable: sort by correct key column
fixes #1924
fixes #1925
2019-09-25 16:29:44 +02:00
Thomas Gelf dad3b76d50 ProvidedHook/Monitoring: translate links
fixes #1945
2019-09-25 15:55:23 +02:00
Thomas Gelf 95d68aefeb IcingaService: enforce zone for apply rules
fixes #1621
fixes #1634
2019-09-25 14:36:45 +02:00
Thomas Gelf a540a716c2 ImportSource: raise limits when running
fixes #1954
2019-09-25 13:09:57 +02:00
Thomas Gelf f15be1d6d8 DaemonDb: just an empty line, phpcs complains 2019-09-25 12:20:38 +02:00
Thomas Gelf 4ee3ef2fd9 Daemon: new implementation 2019-09-25 12:10:08 +02:00
Thomas Gelf 7f79842ddf DeploymentForms: warn about Icinga issue #7530
fixes #1958
2019-09-24 14:45:51 +02:00
Thomas Gelf 34a38e1f32 RestApiRespons: show part of the result on parse...
...errors
2019-09-22 17:07:22 +02:00
Thomas Gelf 2e29188020 DbObject: logId should show autoinc id in case...
...nothing else is present
2019-09-20 03:39:12 +02:00
Thomas Gelf 7a2a406edb Housekeeping: fix PostgreSQL queries
fixes #282
fixes #12
2019-09-20 02:04:41 +02:00
Thomas Gelf 6d781e09e3 ConfigController: fix search in id-range filtered
...activities

fixes #1381
2019-09-20 01:37:47 +02:00
Thomas Gelf 42ea7a5a05 IcingaHost: explicitly delete related Service/Sets
fixes #623
2019-09-20 00:59:17 +02:00
Thomas Gelf 75b78c5ddb BasketSnapshot: do not double-filter
fixes #1854
2019-09-20 00:44:54 +02:00
Thomas Gelf 906f1b3616 BasketSnapshot: ignore missing objects
fixes #1940
2019-09-20 00:26:57 +02:00
Thomas Gelf ecf56ff1a7 ImportSource: fix property modifier handling when
...restoring baskets

fixes #1949
2019-09-20 00:13:09 +02:00
Thomas Gelf 3f984af534 IcingaServiceSetServiceTable: fix headers for ipl 2019-09-19 23:48:59 +02:00
Thomas Gelf a93d743e8c DbObjectWithSettings: also call setter if just...
...a setter and no getter exists
2019-09-19 23:27:53 +02:00
Thomas Gelf 10be27c9a3 DbObject: provide methods checking for getters...
...and setters
2019-09-19 23:27:06 +02:00
Thomas Gelf 2cfd072739 Basket: sort table, form element 2019-09-19 17:42:29 +02:00
Thomas Gelf f24276ce88 PropertyModifierHook: overridable exportSettings()
fixes #1948
2019-09-19 17:24:31 +02:00
Thomas Gelf 142e3f2c43 PropertyModifierGetPropertyFromOtherImportSource
fixes #1947
2019-09-19 16:49:57 +02:00
Thomas Gelf 5304be4ec0 Core*Table: work with ipl, no header w/o content 2019-09-16 11:30:53 +02:00
Thomas Gelf de2ad48c4f TemplateUsageTable: fix ipl compatibility 2019-09-16 11:16:42 +02:00
Thomas Gelf 1e893e1bc7 DbObject: make key name obvious when setting...
...an invalid property
2019-09-16 10:45:14 +02:00
Thomas Gelf 686f168ee3 ObjectsTableEndpoint: merge arrays, it fails with
...with ipl
2019-09-12 00:15:33 +02:00
Thomas Gelf 961c089170 ExtensibleSet: try to fix problem with nightly PHP 2019-09-11 23:43:41 +02:00
Thomas Gelf 606d71501e Use ipl, try to keep dipl compatibility 2019-09-11 23:02:39 +02:00
Thomas Gelf dbc4699042 Merge branch 'next' 2019-09-11 22:44:27 +02:00
Thomas Gelf 73227bda0f ObjectsTable: style 2019-09-11 22:40:56 +02:00
Thomas Gelf 0e0bc3fb5d various: some little fixes 2019-09-11 22:36:36 +02:00
Thomas Gelf 04f0dc51f1 Widget/Lists: add widget missing in ipl/incubator 2019-09-11 22:35:02 +02:00
Thomas Gelf e1565c9990 Revert "Merge branch 'next'"
This reverts commit f45f925e5e, reversing
changes made to 90c07943e4.

This was too early, need to check for incubator
2019-09-06 09:54:03 +02:00
Thomas Gelf 17f8ef1dd0 Use ipl, try to keep dipl compatibility 2019-09-06 09:48:11 +02:00
Thomas Gelf 7d7c4defdf DirectorJob: do not throw NotFound 2019-09-01 14:27:48 +02:00
Thomas Gelf eaf0a5e92d CoreApi: accept versions prefixed with 'r' 2019-09-01 14:06:11 +02:00
Thomas Gelf d1a06c11cf DataTypeDatalist: set default target type "string" 2019-08-07 14:12:47 +02:00
Thomas Gelf 3c5fa1610c DataTypeDatalist: fix query involving roles
fixes #1885
2019-07-10 18:01:47 +02:00
Thomas Gelf a97f31e657 StoredPassword: new element type -> hidden strings
fixes #1872
2019-07-10 13:11:58 +02:00
Thomas Gelf aad07b3d1d IcingaDependency: fix form and rendering 2019-07-09 10:36:57 +02:00
Thomas Gelf 01f2666ff2 IcingaDependency: drop parent_service_var 2019-07-09 10:36:57 +02:00
Thomas Gelf bb9105e370 IcingaDependency: allow for arrays 2019-07-09 10:36:57 +02:00
Thomas Gelf 05d5152e6f IcingaDependency: cleanup, shorten custom logic 2019-07-09 10:36:57 +02:00
Thomas Gelf adace00df4 Dependency: prepare var rendering, cleanup 2019-07-09 10:36:57 +02:00
Thomas Gelf 8f4a93dd08 IcingaDependency: properties for changed schema 2019-07-09 10:36:57 +02:00
Thomas Gelf 4413a44d65 IcingaServiceForm: allow to set check_command...
...for Service Apply rules, given that admin permissions have been granted.
This also fixes the problem that inherited command names haven't been shown.

fixes #1899
2019-07-08 16:27:44 +02:00
Thomas Gelf 4597ce2836 Text: new form element type, catch type issues
fixes #1200
2019-07-08 15:01:53 +02:00
Markus Frosch e101416b5d ExtensibleSet: Migrate also integers to an array 2019-07-04 13:26:44 +02:00
Bernhard Friedreich 8f871f4afa Fixed phpcs warning else if to elseif 2019-07-04 12:54:48 +02:00
Bernhard Friedreich 03519c25e8 Add action bar with download as json option for service apply rules and templates
related to issue #1811
2019-07-04 12:54:48 +02:00
Gino 64d0d8b618 Fix ambiguous host_id field 2019-07-04 12:16:01 +02:00
Eric Lippmann d9b75c4a86 pgsql: Fix unexpected removal of current deployment
The director automatically removes uncollected deployments if they're
older than the running one. Deployments are uncollected if Icinga 2 did
not write a status file or startup log (yet). This happens when you
manage to ship a deployment while Icinga 2 is already preparing to
restart with a deployed configuration. It also removes deployments
which were forgotten by Icinga 2 because of bugs in previous versions.

If there are uncollected deployments, the check whether they are older
than the running one is based on string comparison of the deployments'
start time. While this works for MySQL and MariaDB where the output of
timestamps is always ISO, it may fail for PostgreSQL because there the
output format is configurable. If the output format is set to report
the day first, the string comparison "fails" and removes every first
deployment of a month:

Deployment timestamp: 01-JUN-19 00:03:37 -07:00
Running timestamp: 31-MAY-19 23:54:53 -07:00

The string comparison now reports the deployment as older than the
running one and removes it.

The fix is as easy as to use timestamps for the comparison.
2019-07-01 15:04:19 +02:00
Thomas Gelf f9ee098f06 ArrayCustomVariablesFilter: accept lists with...
..."Array" target data type

fixes #1241
2019-06-11 11:39:54 +02:00
Thomas Gelf 77bc311c42 DataTypeDatalist: allow strict list item to be...
...NULL at the beginning - or with wrong values. Otherwise the first one
would be chosen
2019-05-29 08:53:49 +02:00
Thomas Gelf 0d405cba98 SyncruleCommand: show number of expected changes
Sample output when there are changes:

    icingaweb2@web:~$ icingacli director syncrule check --id 36
    There are pending changes for this Sync Rule. You should  trigger a new Sync Run.
    Expected modifications: 2x create, 0x modify, 0x delete
    icingaweb2@web:~$ echo $?
    1

...when there are no changes:

    icingaweb2@web:~$ icingacli director syncrule check --id 34
    This Sync Rule is in sync
    icingaweb2@web:~$ echo $?
    0

...and when something failes:

    icingaweb2@web:~$ icingacli director syncrule check --id 32
    This Sync Rule failed: No data has been imported for "Benutzergruppen aus Nagios" yet
    icingaweb2@web:~$ echo $?
    2

fixes #1849
2019-05-27 17:46:43 +02:00
Thomas Gelf cc15cae34a Basket: allow to add external commands and...
...command templates
2019-05-27 17:27:18 +02:00
Thomas Gelf 5839945101 Basket: fix nesting error when modifying baskets 2019-05-27 13:40:27 +02:00
Thomas Gelf 6bf1c30c2f Sync: use string keys for object_name 2019-05-22 17:06:24 +02:00
Markus Frosch 4b68d68554 ActivityLogInfo: Fix loading newProperties for deleted objects
refs #1816
2019-05-21 12:32:46 +02:00
Thomas Gelf 3e80115692 DataTypeDatalist: fix typo 2019-05-20 11:06:08 +02:00
Thomas Gelf a80bdd833e ExtensibleSet: fix exception parameters 2019-05-20 11:04:56 +02:00
Thomas Gelf a14ab4d8a1 ExtensibleSet: do not override validators 2019-05-06 21:25:44 +02:00
Thomas Gelf db8895ae10 DataTypeDatalist: allow to customize behavior
Available options:
* strict: select box
* suggest_strict: auto-completion, allow only list values
* suggest_optional: Allow for values not on the list
* suggest_extend: Extend the list with new values

fixes #1846
2019-05-06 21:25:44 +02:00
Bernhard Friedreich 7177d489ec Fix wrong links for hosts/apply rules based on <something> (#1864) 2019-05-06 21:24:09 +02:00
Thomas Gelf d68c0a0c03 ApplyRulesTable: fix non-service tables...
...as they have no apply_for column

fixes #1866
2019-05-06 21:22:12 +02:00
Bernhard Friedreich 08266a4b92 Sort list of applied services by object_name (#1862) 2019-05-06 19:43:26 +02:00
Thomas Gelf 644853f7a0
Merge pull request #1860 from Icinga/feature/apply-exists
Implement AssignFilterHelper to improve apply/assign matching
2019-05-06 17:07:36 +02:00
Markus Frosch 767296ce6a Display apply_for in apply listings 2019-05-06 14:38:17 +02:00
Markus Frosch 83245f2dd4 IcingaHostAppliedServicesTable: Fix assign rendering 2019-05-06 14:33:07 +02:00
Markus Frosch 4037e22709 Implement AssignFilterHelper to improve apply/assign matching
* is set / is not set - fixes #1483 fixes #1387
* case-insensitive matching when using wildcards '*'
  like match() in Icinga 2
2019-05-06 14:19:29 +02:00
Markus Frosch 92f2f9f44d IcingaConfig: Deprecate magic_apply_for as config feature
fixes #1850
2019-04-30 12:41:53 +02:00
Markus Frosch 7153d8059b
Ensure MySQL data supports timezones (#1840)
Ensure MySQL data supports timezones
2019-04-24 15:18:52 +02:00
Markus Frosch 72d9d47a1b Migrations: Disable max_execution_time on apply 2019-04-24 15:04:08 +02:00
Thomas Gelf 099c53a008
Merge pull request #1843 from gianlucapiccolo/deploy-hook
Add deployment hooks
2019-04-24 13:38:43 +02:00
Gianluca Piccolo 4a4808eea5 Add deployment hooks 2019-04-24 12:17:31 +02:00
Thomas Gelf 6bcb4a461e CoreApi: fix method call 2019-04-24 11:21:16 +02:00
Thomas Gelf da909907fd IcingaMultiEditForm: use IcingaObjectFormHook 2019-04-24 11:20:40 +02:00
Thomas Gelf cdb500134d IcingaObjectFormHook: new generic hook 2019-04-23 18:16:35 +02:00
Thomas Gelf db6deb2a72 QuickForm: allow to call callbacks on success 2019-04-18 17:29:46 +02:00
Markus Frosch a30a28a7a1 Sync: Purge TemplateRepository cache before sync 2019-04-17 10:47:43 +02:00
Markus Frosch 6d3702a893 PrefetchCache: Purge any object cache on forget or initialize 2019-04-17 10:47:16 +02:00
Markus Frosch ef41022a73 IcingaArguments: Mark arguments for removal when setting empty
Without the fix arguments will remain untouched in DB, but appear to be removed in activity log.

fixes #1829
2019-04-15 16:35:40 +02:00
Thomas Gelf 904ec7c435 ScheduledDowntimes: Hosts with Services, optional
schema, form, rendering

fixes #1831
2019-04-12 12:12:32 +02:00
Thomas Gelf 70618169f1 ObjectsTabs: fix tabs for Choices 2019-04-12 11:58:09 +02:00
Thomas Gelf 91fc186077 ScheduledDowntimes: remove templates for now 2019-04-11 11:17:58 +02:00
Thomas Gelf 8106a6ab6e ScheduledDowntime, Form, activity: tweak links 2019-04-11 08:58:19 +02:00
Thomas Gelf 9a21ace300 IcingaObject: scheduled downtime awareness
This is not optimal, but that's how it works right now
2019-04-11 02:53:31 +02:00
Thomas Gelf 54b62c7179 ApplRulesTable: allowto link with names 2019-04-11 02:53:31 +02:00