Thomas Gelf
6a54e00402
MultiEdit: code cleanup, add custom var support
...
fixes #12465
fixes #12906
fixes #11614
2016-10-14 17:17:07 +00:00
Thomas Gelf
69237b8ae9
MultiEditForm: first shot, provides imports
...
refs #12465
2016-10-14 13:46:06 +00:00
Thomas Gelf
732ebae339
ActionController: provide a singleTab helper
2016-10-14 13:46:06 +00:00
Thomas Gelf
41c4448685
QuickTable: provide multiselect feature
...
refs #11614
2016-10-14 13:46:06 +00:00
Thomas Gelf
6f46e6b496
YesNo: new boolean-like form fields
...
fixes #12927
2016-10-14 13:39:43 +00:00
Thomas Gelf
98708e6496
Forms: better error handling
...
fixes #12926
2016-10-14 13:35:30 +00:00
Thomas Gelf
2df7144240
TemplateResolver: no more false alarms...
...
...when multiple paths lead to the same template
refs #11803
2016-10-14 11:26:41 +00:00
Thomas Gelf
558ea82203
IcingaRelatedObject: fix syntax, add comment...
...
...stating that this is unfinished
2016-10-14 10:40:29 +00:00
Thomas Gelf
cfbf40147c
IcingaObjectImports: simplify code
2016-10-14 10:33:46 +00:00
Thomas Gelf
041fd52174
FieldLoader, TemplateResolver: more cleanup
...
A few fixes related to modified imports for unstored objects
refs #12922
2016-10-14 09:59:08 +00:00
Thomas Gelf
98acba9fb4
IcingaTemplateResolver: more tweaking
...
refs #12922
2016-10-14 09:40:01 +00:00
Thomas Gelf
61f3ffff7e
TemplateResolver: deal with unstored modified...
...
...imports property
fixes #12922
2016-10-14 09:12:05 +00:00
Thomas Gelf
e04acbc55f
IcingaObjectFieldLoader: do not fail on emtpy...
...
...parents
2016-10-14 08:33:58 +00:00
Thomas Gelf
913c2687b6
IcingaObjectFieldLoader: first implementation
...
Should already replace all former functionality
refs #12904
2016-10-13 21:25:03 +00:00
Thomas Gelf
0d930efb46
IcingaObject: add new resolving helper methods
...
This for example allows to get a single inherited var and their origin
2016-10-13 21:25:03 +00:00
Markus Frosch
f527e31b14
Merge branch 'bugfix/endpoint-remove-import-12920'
...
fixes #12920
2016-10-13 16:54:34 +02:00
Markus Frosch
cc61831258
DirectorObjectForm: Allow form to select if imports are required
...
refs #12920
2016-10-13 16:37:49 +02:00
Thomas Gelf
cf4dccc817
Notification: add fields support
...
fixes #12642
2016-10-13 14:34:25 +00:00
Thomas Gelf
71b3459540
DirectorDatafieldForm: allow to wipe all related...
...
...custom variables when removing a field
fixes #12916
2016-10-13 14:02:51 +00:00
Thomas Gelf
0e45429196
ObjectForm: do not allow to choose type...
...
...when one is already given
2016-10-13 11:55:53 +00:00
Thomas Gelf
c1afda4392
IcingaObject: do not fail when rendering objects...
...
...without imports support
fixes #12618
2016-10-13 11:11:35 +00:00
Thomas Gelf
e99568fffc
DirectorObjectForm: add unique error message...
...
...without adding an error in case we detect a loop. Also improve
resolve cache invalidation and clean up old imports-related code
refs #11803
2016-10-12 15:23:54 +00:00
Thomas Gelf
05f991c585
IcingaObject: no loop detection on unstored...
...
...objects
refs #11803
2016-10-12 14:26:44 +00:00
Thomas Gelf
7993724dcb
IcingaTemplateResolver: detect and throw nesting..
...
...errors
fixes #11803
2016-10-12 14:16:19 +00:00
Thomas Gelf
0a26b94e7c
IcingaObjectMultiRelations: fix service relations
...
...for sets
2016-10-12 09:11:05 +00:00
Thomas Gelf
34ed3da3b8
IcingaObject: remove duplicated short name logic
2016-10-12 09:09:28 +00:00
Thomas Gelf
cb533f5668
IcingaConfig: deploy service sets
2016-10-12 09:04:08 +00:00
Thomas Gelf
c044de89de
SyncPropertyForm: allow to sync m:n relations
2016-10-12 08:59:42 +00:00
Thomas Gelf
9e1cea0119
IcingaObject: fix v1 rendering for some properties
...
Mostly relations, no timeout, still ugly
2016-10-12 08:31:22 +00:00
Thomas Gelf
e096ec9ec5
IcingaServiceSets: allow to set imports
2016-10-12 08:30:10 +00:00
Thomas Gelf
f2f04c44e8
ServiceSet: add CLI command, fix key
2016-10-12 07:31:00 +00:00
Thomas Gelf
b7018627a0
IcingaServiceSet: introduce a new object type
2016-10-12 07:19:02 +00:00
Thomas Gelf
8faa572098
PropertyModifierDnsRecords: re-order form fields
2016-10-11 16:02:50 +00:00
Thomas Gelf
785746fb26
GroupMembershipCache: fix messed up properties
...
fixes #12887
2016-10-11 15:26:31 +00:00
Thomas Gelf
c4da25ef25
IcingaCommandArgument: render set_if without format
...
Icinga DSL support was introduced in 348cb1aa6
and works fine, but breaks
rendering of legacy arguments with set_if_format = NULL. This should default
to 'string', as we should IMO not force NOT NULL in the DB in this case.
refs #12153
fixes #12886
2016-10-11 09:45:11 +00:00
Thomas Gelf
380fb0afe9
GroupMembershipCache: add missing property
...
fixes #12884
2016-10-10 19:15:34 +00:00
Markus Frosch
df36071c9c
IcingaService: single objects should respect...
...
...their host's zone where not overriden by a service template
fixes #11988
2016-10-10 10:57:24 +00:00
Thomas Gelf
82c5b10eef
Db: do not let the db adapter handle binary...
...
...data as this causes problems with Postgres and quoteBinary
2016-10-09 13:47:37 +00:00
Thomas Gelf
38eaf4036b
IcingaHost: agent-related hint for legacy config
2016-10-09 13:27:38 +00:00
Thomas Gelf
e96db8b296
IcingaObject: move duplicate logic to common func
2016-10-09 13:15:05 +00:00
Thomas Gelf
cf063180d2
IcingaObject: start to dry out relation-related...
...
...code. Still weird and hard to understand because of lazy-loading,
can only get better. All this is required to be able to render objects
having obsolete dependencies in our activity log
2016-10-09 12:48:13 +00:00
Thomas Gelf
1bc4a397a8
CustomVariableCache: optionally use digest()...
...
...for PostgreSQL in case pgcrypto is installed. Also add related hint to the
installation documentation
2016-10-09 12:43:04 +00:00
Thomas Gelf
6f12663756
PrefetchCache: lot's of improvements
...
This commit enables the prefetch cache per default when rendering configs
and adds the following features:
* prefetch all kinds of Icinga object inheritance (imports)
* prefetch group memberships
* prefetch custom variables
* render vars with the same checksum only once
Roughly measured performance boost with a large real-life config, renders three
times faster as it did before. Might be even more for those suffering from high
latencies when accessing their DB remotely and/or on a slow storage.
fixes #12876
2016-10-09 12:41:06 +00:00
Thomas Gelf
42aef0105d
DbObject: exists() should respect prefetch...
...
...also for negative lookups
refs #12876
2016-10-08 19:34:59 +00:00
Thomas Gelf
c0a8c49d4f
show/activitylog: fallback rendering for hosts...
...
...with obsolete parents, that have been removed in the meantime
2016-10-06 16:29:50 +00:00
Thomas Gelf
081ea72497
KickstartHelper: handle renamed zones...
...
...when triggered multiple times
2016-10-06 16:20:25 +00:00
Thomas Gelf
2c071e215d
CustomVariableNumber: tolerant float comparison
2016-10-06 16:19:08 +00:00
Thomas Gelf
749f035971
Db/IcingaObject: formatting & style
2016-10-05 18:05:59 +00:00
Thomas Gelf
70b8a9ea02
DirectorObjectForm: improve Exception error message
2016-10-05 18:03:07 +00:00
Thomas Gelf
d1b7083145
IcingaObject: add helper methods for relations
2016-10-05 17:58:48 +00:00
Thomas Gelf
e9a570e96d
Sync: fix sync & purge for datalistEntry objects
2016-10-05 17:45:25 +00:00
Thomas Gelf
c859055221
CustomVariables: unset var if set to plain null
...
...but still allow for Null variables
2016-10-05 17:20:25 +00:00
Thomas Gelf
db0662b554
PropertyModifierDnsRecords: new property modifier
2016-10-03 15:28:41 +00:00
Marc DeTrano
348cb1aa63
IcingaCommandArgument: allow expressions in set_if
...
fixes #12153
2016-09-23 15:18:58 +00:00
Thomas Gelf
d8f02c8974
DataTypeDirectorObject: do not force 'require'
2016-09-23 14:07:33 +00:00
Thomas Gelf
542f1faf76
DataType: new DirectorObject data type
...
Allows one to choose from a list of objects, filling string or array
vars
fixes #11998
2016-09-23 13:30:47 +00:00
Thomas Gelf
3383b97e69
IcingaRelatedObject: new helper class
2016-09-16 21:56:35 +00:00
Thomas Gelf
42212661f2
IcingaObject: document 'supports' vars and methods
2016-09-15 18:53:09 +00:00
Thomas Gelf
a17fc32b41
PropertyModifierToInt: new property modifier
2016-09-14 19:35:51 +00:00
Thomas Gelf
407a387dab
DirectorDatalistEntry: add shouldBeRemoved...
...
...fixes sync for DatalistEntries
fixes #12715
2016-09-12 21:41:15 +00:00
Thomas Gelf
04cae6f8f8
DirectorObjectForm: fix forgotten variable
2016-09-09 21:38:49 +00:00
Thomas Gelf
f52cd5ea77
DirectorDatafield: simplify usage
2016-09-09 21:32:26 +00:00
Thomas Gelf
217fb38517
IcingaObject: implement supportsAssignRules
2016-09-09 09:06:31 +00:00
Markus Frosch
a90595a004
IcingaHostGroup: Add apply statements
2016-09-09 08:32:42 +00:00
Thomas Gelf
29231ef8c8
config/deployments: collect uncollected stages...
...
...if any when refreshing the history
refs #11979
2016-09-09 07:21:32 +00:00
Thomas Gelf
efd0b50052
CustomVariable: reset 'deleted' when re-setting...
...
...a value
2016-09-08 22:40:07 +00:00
Thomas Gelf
2c7c54a15d
IcingaConfig: improve override constant usage
2016-09-08 20:24:54 +00:00
Thomas Gelf
646a7dc067
IcingaConfig: workaround for no host in service
2016-09-08 20:13:45 +00:00
Thomas Gelf
b2b189c425
IcingaServiceForm: support use_var_overrides...
...
...even for single host-assigned services
2016-09-08 18:43:25 +00:00
Thomas Gelf
b47c7be3d5
IcingaService: add use_var_overrides
2016-09-08 15:01:19 +00:00
Thomas Gelf
defb8c50c2
CustomVariables: improve readability
2016-09-08 13:55:13 +00:00
Thomas Gelf
999019ba16
IcingaService: make sure to have a db connection
...
...when rendering, as we require settings
2016-09-08 13:30:37 +00:00
Thomas Gelf
31b716a7db
CustomVariableDictionary: implement isset
2016-09-08 13:18:55 +00:00
Thomas Gelf
b8fb0d4267
IcingaConfig: host-generated services should...
...
...respect new overrides
2016-09-08 13:07:04 +00:00
Thomas Gelf
d44c06fce0
IcingaService: do not hardcode override template
2016-09-08 12:08:30 +00:00
Thomas Gelf
8dd7fcd13b
IcingaHost, IcingaServiceForm: fix parse error...
...
...on PHP < 5.5
2016-09-08 11:32:41 +00:00
Thomas Gelf
4f4b6eb63a
IcingaService: allow host vars to override vars...
...
...for applied services
refs #12546
2016-09-08 10:45:02 +00:00
Thomas Gelf
8171bb8c04
IcingaHost: add methods dealing with overridden...
...
...service vars
2016-09-08 09:54:23 +00:00
Thomas Gelf
4cd399e059
IcingaConfigHelper: use string-based sort for...
...
...dictionary fields to make PHP 5.x and PHP 7.x produce the same output.
refs #12591
2016-09-07 20:44:03 +00:00
Thomas Gelf
e58a70613c
IcingaConfig: do not render v2-related helpers...
...
...for legacy config
2016-09-05 19:34:14 +00:00
Thomas Gelf
687f2aff1c
Settings: delete NULL-value settings
2016-09-05 19:16:58 +00:00
Thomas Gelf
0242d8d411
Settings: allow to retrieve stored value
2016-09-05 19:15:12 +00:00
Thomas Gelf
1144b5d55f
DirectorObjectForm: fix legacy range field
2016-09-05 18:52:22 +00:00
Thomas Gelf
83031c1349
Cli\ObjectCommand: allow multiple objects...
...
...as a parameter for clone and delete
2016-09-05 18:37:00 +00:00
Thomas Gelf
138f5d2aed
Cli\Command: allow other modules to extend this...
...
...class
2016-09-05 15:55:26 +00:00
Thomas Gelf
029907f01f
TimePeriodRange: ranges should be more generic...
...
...as they will not only be used in timeperiods
2016-08-31 16:23:23 +00:00
Thomas Gelf
6427b22621
IcingaConfigHelper: fix numeric dictionary key...
...
...rendering and add related tests
fixes #12591
2016-08-30 12:15:48 +00:00
Thomas Gelf
11f41edd13
PropertyModifierJoin: tell about array support
...
fixes #12236
2016-08-30 07:55:07 +00:00
Thomas Gelf
a4813e8046
PropertyModifierHook: allow modifiers to deal...
...
...with arrays
refs #12236
2016-08-30 07:53:10 +00:00
Thomas Gelf
a64e36b111
Settings: remove all legacy getSettings calls
2016-08-30 07:52:48 +00:00
Thomas Gelf
336257680c
Settings: remove settings logic from DB...
...
...and keep helper method for easy instantiation
2016-08-27 13:20:03 +00:00
Thomas Gelf
58441b88ad
IcingaService: use string helper for assignments
2016-08-27 08:46:46 +00:00
Thomas Gelf
77c915c897
DirectorObjectForm: normalize command field values...
...
...with special data types even when filled at services level
fixes #12400
fixes #11692
fixes #11477
2016-08-26 13:48:44 +00:00
Thomas Gelf
5355558519
DirectorObjectForm: place failed command fields...
...
...into the correct display group
2016-08-26 13:34:57 +00:00
Thomas Gelf
b6d59b9aca
IcingaCommand: fix skip_key handling
...
refs #11554
refs #11918
2016-08-26 07:00:45 +00:00
Thomas Gelf
9750d4f637
IcingaConfigHelper: do not quote safe keys
...
Why? It looks better. Sex sells, you know. And Rune asked for it.
Additionally, we now write empty dictionaries on a single line
fixes #12447
2016-08-25 20:44:43 +00:00
Thomas Gelf
601e182b15
IcingaConfigHelper: extend reserved words list
2016-08-25 11:26:14 +00:00
Thomas Gelf
9fb547a849
IcingaCommand/TimePeriod: use internalized templates
...
Icinga 2.5 moved a few default templates from ITL to the core itself and
deprecated directly setting execute & similar properties. This change will
break config deployment for 2.4.x environments without 'include <itl>', but
this would rarely be the case.
This commit also changed how we work with inherited properties to render the
right object type based on 'execute' if none is set (but got inherited).
fixes #12443
fixes #12543
2016-08-25 10:16:00 +00:00
Thomas Gelf
b8b047a1e4
ImportSourceCoreApi: allow to import user groups
...
fixes #11511
2016-08-24 14:15:40 +00:00
Thomas Gelf
84b035ec24
objects/tree: enable autorefresh...
...
...and some coding style fixes
fixes #12451
2016-08-23 15:11:42 +00:00
Thomas Gelf
56a7cb285d
host/services: show inherited services...
...
...and magically applied ones
2016-08-23 14:18:54 +00:00
Thomas Gelf
73bdfb3ecd
IcingaObjectImports: keep passed objects in set()
...
This reduces lookups and avoids failures when unstored objects are
involved
2016-08-23 14:08:51 +00:00
Thomas Gelf
e639790d52
IcingaObject: improve type detection
...
fixes #12319
2016-08-09 14:17:57 +00:00
Thomas Gelf
50c67ceda2
Cli\ObjectCommand: fix type lookup for groups
...
fixes #12319
2016-08-05 14:44:57 +00:00
Thomas Gelf
89d8536a92
IconHelper: start to separate concerns in forms
...
One new small helper class for this purpose
2016-08-05 12:49:11 +00:00
Thomas Gelf
14b5e74bb2
DirectorObjectForm: skip timeperiod range params...
...
...on redirect after removal. TimeperiodRange::getOnDeleteUrl would
be a better place for this, but I do not like that solution either :p
fixes #12316
2016-08-04 18:29:18 +00:00
Corentin Ardeois
5bdd219533
Allow override of blacklisted properties
...
It is now a separate class attribute which can be overridden.
2016-08-04 15:07:26 +00:00
Thomas Gelf
54643fe5cd
IcingaArguments: fix argment removal for forms
...
fixes #11536
2016-08-01 11:06:52 +00:00
Thomas Gelf
52e412002f
IcingaCommandArgumentForm: store command, not args
...
refs #11536
2016-08-01 10:45:47 +00:00
Thomas Gelf
6258230fdb
IcingaArguments: test and fix modification tracking
...
This fixes related behaviour when working on CLI, API or through
Sync Rules - but not web forms
refs #12266
2016-08-01 09:31:10 +00:00
Thomas Gelf
4c978db3d0
IcingaConfig: allow to toggle legacy renderer
...
refs #12264
2016-08-01 06:59:31 +00:00
Thomas Gelf
7655ad451a
ConfigDiff: more context, fix diff with empty
...
fixes #12262
fixes #12263
2016-08-01 06:49:39 +00:00
Thomas Gelf
ce1c6f3099
Objects: simplify default rendering zone handling
...
For existing installations this should only affect Timeperiods, as
they will now prefer the global zone. Also some custom zone settings
might now take effect while they have formerly been ignored.
fixes #12252
2016-07-28 15:44:42 +00:00
Thomas Gelf
0d36d56cbb
JsonDecode: provide a new property modifier
...
fixes #12251
2016-07-28 14:56:16 +00:00
Thomas Gelf
2bf5bdddb5
IcingaObject, imports: more legacy config support
2016-07-28 06:57:27 +00:00
Thomas Gelf
85b14c9961
IcingaLegacyConfigHelper: add new helper class
2016-07-27 10:21:38 +00:00
Markus Frosch
73b1863e1a
SyncRule: Allow disabling purge
2016-07-26 14:03:52 +02:00
Thomas Gelf
193e860beb
Db\Migration: use query for OPTIMIZE, not exec
...
This is required as OPTIMIZE returns data
2016-07-26 13:43:18 +02:00
Thomas Gelf
f6c1a9f0f7
CoreApi: shorten startup log
...
Everything more than 60k is absolutely insane
fixes #12231
2016-07-26 13:14:14 +02:00
Thomas Gelf
439757d464
IcingaHost: introduce API keys
2016-07-26 09:52:55 +02:00
Thomas Gelf
398312a0e4
IcingaConfig: accept legacy config objects/files
2016-07-22 18:15:22 +02:00
Thomas Gelf
4e083d7d40
CustomVariables: use array notation for keys...
...
...with special characters
2016-07-22 18:09:02 +02:00
Thomas Gelf
fffa6a5f3b
CLI: add clone functionality
...
fixes #12203
2016-07-22 02:14:11 +02:00
Thomas Gelf
9c9516834c
PropertyModifierSplit: allow null when empty
...
fixes #12060
2016-07-21 23:39:33 +02:00
Thomas Gelf
1555d049f2
DirectorDeploymentLog: use predefined aliases...
...
...to avoid problems with too much intelligence in deeper db
abstraction layers
2016-07-21 13:12:45 +02:00
Thomas Gelf
c2f3609cc6
DirectorObjectForm: provide event command for...
...
...hosts and services
fixes #12117
fixes #12126
2016-07-20 17:53:19 +02:00
Thomas Gelf
9a6320c2f4
ImportSource: use target_property for transforms
2016-07-20 15:21:07 +02:00
Thomas Gelf
f12e4b2033
ImportSource: provide applyModifiers helper method
2016-07-20 14:25:18 +02:00
Thomas Gelf
29564ab742
ImportSource: take over duplicated transform logic
2016-07-20 14:19:20 +02:00
Thomas Gelf
eca707bb9d
SyncUtils: use missing exception class
2016-07-20 13:44:01 +02:00
Thomas Gelf
d90bb05ca2
ImportRowModifier: provide target_property...
...
...also adjust the related form
refs #11949
2016-07-20 13:41:16 +02:00
Thomas Gelf
38bf19eb92
ImportSource: take over modifier loading logic
2016-07-20 13:40:43 +02:00
Thomas Gelf
225e9beec6
ImportRowModifier: reduce instantiated objects
2016-07-20 12:59:02 +02:00
Thomas Gelf
2ff722e4d2
PropertyModifierMakeBoolean: new property modifier
...
fixes #12184
2016-07-20 12:28:40 +02:00
Thomas Gelf
e58c31ab63
ImportRunBasedPurgeStrategy: do not fetch no rows
2016-07-19 06:18:52 +02:00
Thomas Gelf
15acbb5290
IcingaObject::replaceWith: implement preserve...
...
...and add related tests, as this is a tricky one
2016-07-14 17:06:48 +02:00
Thomas Gelf
56257c1c0f
Sync: implement purge with nested keys
2016-07-14 12:18:57 +02:00
Thomas Gelf
354392d216
ImportRun: allow to fetch specific keys
2016-07-13 21:37:31 +02:00
Thomas Gelf
34e57d5160
ImportRunBasedPurgeStrategy: use source key pattern
...
fixes #12059
2016-07-13 21:10:37 +02:00
Thomas Gelf
70c4d06a42
Sync: move key-related logic to SyncRule
2016-07-13 19:59:04 +02:00
Thomas Gelf
465740c37c
Sync: move helper methods to SyncUtils
2016-07-13 13:52:15 +02:00
Thomas Gelf
d4a680a6b9
ImportRun: take over specific logic from Db
2016-07-13 10:19:03 +02:00
Markus Frosch
f863a9b223
WIP: Add templates tab for all objects
...
Exceptions are global types, and those who can't import.
2016-07-07 09:05:33 +02:00
Markus Frosch
c73be6b976
QuickTable: Ignore _dev parameter for the filter
2016-07-07 08:57:45 +02:00
Thomas Gelf
cf424aa8ba
IcingaConfig: workaround for GC issues...
...
...affecting RHEL/CentOS 7
fixes #12063
2016-06-30 12:17:32 +02:00
Thomas Gelf
6178ca8320
DbObject: allow to clear all caches
2016-06-30 12:07:33 +02:00
Thomas Gelf
172bdd6f6b
IcingaConfig: provide helper method for activity...
...
...related configs, use in deployment job
2016-06-30 10:57:35 +02:00
Thomas Gelf
f288ddaf95
CustomVariables: allow to instantiate from cache
2016-06-30 10:42:52 +02:00
Thomas Gelf
b09c4f8ef0
Db/Cache: first step to externalize lookup caches
2016-06-30 10:34:34 +02:00
Thomas Gelf
1f5f34cea5
IcingaObjectGroups,Imports: add some manual GC...
...
...to work around PHP issues
2016-06-30 09:34:27 +02:00