Markus Frosch
86d2f317ee
IcingaObject: Do not invalidate templateResolver on every setImports()
...
Do not clear templateResolver, but refresh current object with its "new" parents.
refs #11803
2016-10-31 17:21:21 +01:00
Thomas Gelf
e59e2d0c2c
Merge remote-tracking branch 'origin/master'
2016-10-27 16:35:19 +00:00
Markus Frosch
f9f61be7aa
IcingaObject: Allow replaceWith on non-apply Objects
...
This broke with assign_filter changes, we should not throw an error when
the filter is actually null.
replaceWith() re-sets all vars.
refs #12033
2016-10-27 15:46:52 +02:00
Thomas Gelf
d59604bd93
ServiceSet: rework sets, allow for vars and...
...
...all other service properties when adding services to a set
2016-10-25 23:12:23 +00:00
Thomas Gelf
696e63b4ec
Servicesset: add controller, form and table
2016-10-25 23:12:23 +00:00
Thomas Gelf
fa2c360f4c
IcingaObject: fix arguments rendering for external
...
...objects
2016-10-25 02:28:19 +00:00
Thomas Gelf
39be7b2cb0
IcingaObjectLegacyAssignments: rendering for old...
...
...assignments still to be found in our activity log
2016-10-25 00:00:16 +00:00
Thomas Gelf
0d86c24cd8
Huge change, getting rid of legacy assignment...
...
...code. All objects should work with the new code base right now
2016-10-24 03:41:37 +00:00
Thomas Gelf
aeafec37d7
FormDataFilter: simplify HTML, Code and style
2016-10-23 04:23:38 +00:00
Thomas Gelf
6ed24f93da
IcingaObject: render assign_filter property
2016-10-22 07:02:09 +00:00
Thomas Gelf
b7eaab715b
Make explicit calls to renderStringWithVariables
2016-10-22 05:48:09 +00:00
Corentin Ardeois
ddcfb09f58
Handle expressions only for apply objects
...
Expressions will be handled only if the object is an ApplyRule.
Only properties and custom variables are replaced.
refs #11976
2016-10-22 00:15:09 +00:00
Thomas Gelf
fc2890d865
IcingaObject: new helper method for single...
...
...resolved custom vars
2016-10-20 01:37:23 +00:00
Thomas Gelf
98acba9fb4
IcingaTemplateResolver: more tweaking
...
refs #12922
2016-10-14 09:40:01 +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
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
34ed3da3b8
IcingaObject: remove duplicated short name logic
2016-10-12 09:09:28 +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
b7018627a0
IcingaServiceSet: introduce a new object type
2016-10-12 07:19:02 +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
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
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
749f035971
Db/IcingaObject: formatting & style
2016-10-05 18:05:59 +00:00
Thomas Gelf
d1b7083145
IcingaObject: add helper methods for relations
2016-10-05 17:58:48 +00:00
Thomas Gelf
42212661f2
IcingaObject: document 'supports' vars and methods
2016-09-15 18:53:09 +00:00
Thomas Gelf
217fb38517
IcingaObject: implement supportsAssignRules
2016-09-09 09:06:31 +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
56a7cb285d
host/services: show inherited services...
...
...and magically applied ones
2016-08-23 14:18:54 +00:00
Thomas Gelf
e639790d52
IcingaObject: improve type detection
...
fixes #12319
2016-08-09 14:17:57 +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
4c978db3d0
IcingaConfig: allow to toggle legacy renderer
...
refs #12264
2016-08-01 06:59:31 +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
2bf5bdddb5
IcingaObject, imports: more legacy config support
2016-07-28 06:57:27 +00: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
a761bb108b
IcingaService: render dedicated host before imports
...
This fixes issues with object and apply types showing different
behaviour in Icinga 2 when inheriting the very same template.
2016-06-17 11:55:48 +02:00
Thomas Gelf
dc3a2ca999
IcingaObject: split object property rendering
...
Improves readability
2016-06-17 11:44:38 +02:00
Thomas Gelf
5c0ea2c3b0
IcingaObject: be strict on relations
2016-06-16 22:16:55 +02:00
Thomas Gelf
57656f8dd9
IcingaObject: externalize imported object loading
2016-06-16 21:40:22 +02:00
Thomas Gelf
b83bfed186
IcingaObject: fix comments for disabled object...
...
...and switch to multiline comments, they look better in our diffs
fixes #11937
2016-06-13 17:20:44 +02:00
Thomas Gelf
0b92ca922f
IcingaObject: render disabled objects as comments
...
fixes #11922
2016-06-11 00:30:28 +02:00
Thomas Gelf
cb825b5b94
IcingaObject: fix resolveProperty in combination...
...
...with lazy-set properties
2016-05-26 01:35:12 +02:00
Thomas Gelf
b3a1d54870
IcingaObject: fix c&p error, variable name
2016-05-20 09:23:48 +02:00
Thomas Gelf
018713a13f
IcingaObject: smaller methods for import resolvers
2016-05-20 08:36:07 +02:00
Thomas Gelf
64fbdcfeee
IcingaObjectImports: fix null handling
2016-05-20 08:12:46 +02:00
Thomas Gelf
576d62da26
IcingaObject: use resolved zone for apply/tpl
2016-05-10 20:23:45 +02:00
Thomas Gelf
1158409eeb
IcingaObject: fix rendering target and tests
2016-05-02 10:23:32 +02:00
Thomas Gelf
8c02b1e6c5
IcingaObject: fix multi-relation rendering order
2016-04-22 11:12:29 +02:00
Thomas Gelf
f8ef034358
IcingaObject: add render target helpers
2016-04-19 21:29:03 +02:00
Thomas Gelf
e040e84e5b
IcingaObject: add isDisabled helper method
2016-04-18 13:17:47 +02:00
Thomas Gelf
46e230c5ad
IcingaObject: fix occasional error when showing...
...
...resolved properties for applied objects
2016-04-11 11:06:54 +02:00
Thomas Gelf
36c4e51aa0
IcingaObject: fix argument retrieval
2016-04-03 21:27:49 +02:00
Thomas Gelf
9cf3569884
IcingaObject: unresolved properties
2016-03-24 13:37:32 +01:00
Thomas Gelf
a8ec07237d
IcingaObject: provide former assignments for...
...
...the activity log
2016-03-24 11:40:32 +01:00
Thomas Gelf
f8d6af7b3f
IcingaObject: make assignments public
2016-03-24 06:49:19 +01:00
Thomas Gelf
33ff0c77e8
IcingaObjectAssignments: complete re-write
2016-03-24 06:46:13 +01:00
Thomas Gelf
a49f163ca2
IcingaObject: fix argument setter
2016-03-21 10:35:11 +01:00
Thomas Gelf
d7142b307a
IcingaObject: clean up legacy methods
2016-03-20 14:51:18 +01:00
Thomas Gelf
3e016311d6
DirectorActivityLog: improve removal logging
2016-03-20 12:02:45 +01:00
Thomas Gelf
dda16fd0d0
IcingaObject: introduce isObject helper method
2016-03-20 12:00:03 +01:00
Thomas Gelf
5e3fe5e2df
IcingaCommandArguments: refactor large parts
2016-03-18 13:46:06 +01:00
Thomas Gelf
1dbf2e8410
IcingaObject: failsafe helper for related object
2016-03-18 11:43:40 +01:00
Thomas Gelf
8680f04532
IcingaObject: a bunch of timeperiod-related fixes
2016-03-17 23:08:57 +01:00
Thomas Gelf
7546a9db66
IcingaObject: fix unmodified multi rel properties
...
Former object in activity log used to be buggy in case you removed
all relations of a multi-relation properties
2016-03-17 08:27:11 +01:00
Thomas Gelf
b188b9c18d
IcingaObject: a couple of small fixes
2016-03-16 21:46:00 +01:00
Thomas Gelf
03a5708a00
IcingaObject: return booleans in plain objects
2016-03-16 21:34:46 +01:00
Thomas Gelf
2b46eff08f
IcingaObject: add createByType method
2016-03-16 20:27:26 +01:00
Thomas Gelf
61674546d9
IcingaObject: return a list for multi-related
2016-03-16 19:26:28 +01:00
Thomas Gelf
d605bd7b06
IcingaObject: fix full plain for empty multi rel
2016-03-16 15:17:58 +01:00
Thomas Gelf
c7bf68a70a
IcingaObjectMultiRelations: fix store and render
2016-03-16 13:53:34 +01:00
Thomas Gelf
5861788420
IcingaObjectMultiRelations: new abstraction layer
2016-03-16 13:01:55 +01:00
Thomas Gelf
8b903486d3
IcingaObject: support merge for objects with no CV
2016-03-11 13:56:34 +01:00
Thomas Gelf
507dd176cc
IcingaObject: fix lookup loop on lazy loading
2016-03-11 02:41:22 +01:00
Thomas Gelf
7cd2eb415f
FormExtensibleSet: fix nested options (e.g. users)
2016-03-09 09:14:13 +01:00
Thomas Gelf
23333f1b77
IcingaObject: unmodified object should be an object
2016-03-08 21:30:12 +01:00
Thomas Gelf
670b932526
IcingaObject: fix lezy-loading issues
2016-03-08 09:21:59 +01:00
Thomas Gelf
f2d9e1a544
IcingaObject: fix key handling for unresolved props
2016-03-07 18:10:09 +01:00
Thomas Gelf
b3a44bd7dd
IcingaObject: fix 'empty' check for relation property
2016-03-07 18:07:36 +01:00
Thomas Gelf
aee62754ce
IcingaObject: fix resolution of lazy-loaded rels
2016-03-07 17:11:23 +01:00
Thomas Gelf
5350584bec
IcingaObject: lazy-load related objects...
...
...if string name is given
fixes #11301
2016-03-07 02:06:04 +01:00
Thomas Gelf
fb43331379
IcingaObject: add getUrlParams helper
2016-03-06 14:20:05 +01:00
Thomas Gelf
cafd136232
DirectorObjectForm: get ids when resolving object
...
This formerly broke some forms
2016-03-06 10:27:37 +01:00
Thomas Gelf
b5c09caff6
IcingaObject: support sets in hasBeenModified
2016-03-05 16:13:24 +01:00
Thomas Gelf
3460912fea
IcingaObjectImports: fix behaviour, simplify usage
2016-03-05 10:49:37 +01:00
Thomas Gelf
092bb8c3f6
IcingaObjectGroups: simplify setting groups
2016-03-05 10:46:12 +01:00
Thomas Gelf
4e677dbc56
Forms: used templates should not be deleted
2016-03-02 19:29:35 +01:00
Thomas Gelf
8b3d72a04a
library: code style
2016-03-01 04:23:31 +01:00
Thomas Gelf
29b1253bea
IcingaObject: log former related set state
2016-02-29 22:54:46 +01:00
Thomas Gelf
c9a7c9d085
IcingaObject/ExtensibleSet: support toPlainObject
2016-02-29 20:05:38 +01:00
Thomas Gelf
f97e117994
IcingaObject: load and store related sets
2016-02-29 18:57:19 +01:00
Thomas Gelf
47f20c93a3
IcingaObject: render related sets
2016-02-29 18:19:01 +01:00
Thomas Gelf
f9f1298bfd
IcingaObject: allow default for getResolvedProperty
2016-02-28 14:37:13 +01:00
Thomas Gelf
7d9fefd61f
IcingaObject: blacklist "disabled" when inheriting
2016-02-28 14:28:27 +01:00
Thomas Gelf
8bcbf0f45a
IcingaObject/Host/Service: provide interval helpers
2016-02-28 14:21:00 +01:00
Thomas Gelf
3ee9841bc7
IcingaConfigHelper: provide helpers for intervals
2016-02-28 12:40:11 +01:00
Thomas Gelf
4bc5afb2f8
library/Director: fix PSR2 complaints
2016-02-26 11:58:37 +01:00
Thomas Gelf
a3a17df437
IcingaObject: fix host merge test
2016-02-25 19:38:52 +01:00
Thomas Gelf
1261bd93e1
IcingaObject: add merge method, use in Sync
2016-02-25 00:23:27 +01:00
Thomas Gelf
b9ee674d3f
IcingaObject: render assignments (experimental)
2016-02-24 23:59:50 +01:00
Thomas Gelf
fb6518a887
IcingaObject: add awareness for apply object type
2016-02-24 21:37:48 +01:00
Thomas Gelf
4292f31f4f
IcingaObject: generic loadAll support...
...
...also for multi-key objects
2016-02-24 15:18:30 +01:00
Thomas Gelf
6c72eaf176
IcingaObject.php: getPlainUnmodifiedObject for log
2016-02-23 00:33:05 +01:00
Thomas Gelf
1f71def70c
IcingaObject: skipDefaults instead of skipNull
2016-02-23 00:29:51 +01:00
Thomas Gelf
23090c502a
IcingaObject: introduce differsFromDefaultValue
2016-02-23 00:26:39 +01:00
Thomas Gelf
070d05d4a8
IcingaObject: ignore deleted vars for getVars
...
This is used when resolving plain objects
2016-02-22 15:43:59 +01:00
Thomas Gelf
1f869fa001
IcingaObject: fix variable names on setting vars.x
2016-02-22 15:19:26 +01:00
Thomas Gelf
72ffe336be
IcingaObject: allow to directly set dict var key
2016-02-21 10:10:24 +01:00
Thomas Gelf
e8aadbb30b
IcingaObject: fix issue with disabled property
2016-02-17 20:00:48 +01:00
Thomas Gelf
7b6747ab67
IcingaObject: add helper for related objects
2016-02-17 16:03:07 +01:00
Thomas Gelf
5b3b5cbfb8
IcingaObjects: add new "disabled" property
2016-02-16 12:17:50 +01:00
Thomas Gelf
b22f12cf55
IcingaObject: dedicated boolean munging method
2016-02-16 11:46:01 +01:00
Thomas Gelf
88ffc6baf2
Icinga/DbObject: explizit destruction
2016-02-04 16:58:32 +01:00
Thomas Gelf
c62b008df8
IcingaObject: allow mor control over JSON structure
2016-02-03 00:58:13 +01:00
Thomas Gelf
ce44252f8e
IcingaObject: return null for missing relations
2015-12-18 14:25:15 +01:00
Thomas Gelf
1cb47b6d32
IcingaObject: allow for null booleans
2015-12-18 14:23:49 +01:00
Thomas Gelf
313ac50f81
IcingaObject: allow to access relations by key
2015-12-17 20:32:15 +01:00
Thomas Gelf
91250cf0b9
ApiUser: add all tabs, tables, links
2015-12-17 14:58:43 +01:00
Thomas Gelf
922a6d25c0
IcingaObject: add resolve-cache
2015-12-16 14:32:53 +01:00
Thomas Gelf
7f558d1523
IcingaObject: more choices for toPlainObject
2015-12-10 18:41:09 +01:00
Thomas Gelf
75bbf9c7da
IcingaObject: a few more hardcoded class names
2015-12-10 18:40:08 +01:00
Thomas Gelf
d0359683cd
IcingaObject: fix inheritance blacklist application
2015-12-10 17:56:02 +01:00
Thomas Gelf
39532d7173
IcingaObject: use missing ConfigurationError
2015-12-10 13:18:35 +01:00
Thomas Gelf
fa65e9850b
IcingaObject: new methods for plain and json handling
2015-12-10 13:04:34 +01:00
Thomas Gelf
a0f0870566
IcingaObject: improve renderPropertyAsSeconds()
2015-12-10 12:58:47 +01:00
Thomas Gelf
91b486cc66
IcingaObject: add TODO for unhandled situation
2015-12-10 12:53:24 +01:00
Thomas Gelf
79748f0c4c
IcingaObject: provide combined keys for imports
2015-12-10 12:11:54 +01:00
Thomas Gelf
5091db2268
IcingaObject: clean up zone rendering
2015-12-10 11:34:46 +01:00
Thomas Gelf
1116bc4331
IcingaZone: render endpoints
2015-12-10 11:27:28 +01:00
Thomas Gelf
bac3969cdd
IcingaObject: override key in renderRelationProperty
2015-12-09 15:05:31 +01:00
Johannes Meyer
e8c90ebb6b
IcingaObject: Fix that object IcingaHostGroup cannot be found in classByType()
2015-12-07 13:50:48 +01:00
Thomas Gelf
2164c1e2b9
Sync: allow to remove objects
2015-12-04 10:24:54 +01:00
Thomas Gelf
f49f14376b
IcingaObject: recognize argument modifications
2015-12-03 19:41:58 +01:00
Thomas Gelf
3373b67d44
IcingaObject: render 0 seconds as 0, not 0m
2015-12-03 18:05:10 +01:00
Thomas Gelf
d8d12d38b4
IcingaObject: add new helper methods for seconds
2015-12-03 18:01:44 +01:00
Thomas Gelf
3656e8ed98
IcingaObject: generic relation render helper
2015-12-03 17:12:38 +01:00
Thomas Gelf
389fcf2fa6
IcingaObject: allow to unset relations
2015-12-03 15:09:49 +01:00
Thomas Gelf
039542c473
IcingaObject: provide plain object
2015-12-03 14:20:29 +01:00
Thomas Gelf
bc449feeef
IcingaObject: set related properties by name
2015-12-03 14:18:19 +01:00
Thomas Gelf
dabc6de1da
IcingaObject: add userspace filters
2015-12-02 04:04:19 +01:00
Thomas Gelf
d5c20e6e53
IcingaObject: first simple toJson support
2015-12-02 03:08:57 +01:00
Thomas Gelf
ed3624239b
IcingaObject: allow to access arguments
2015-12-02 02:42:14 +01:00
Thomas Gelf
9413c8cdbd
IcingaConfig: do not re-deploy external objects
2015-12-01 14:47:10 +01:00
Thomas Gelf
5287e58fea
IcingaObject: fetch format information for fields
2015-11-14 00:21:42 +01:00
Thomas Gelf
280cd2b7b3
IcingaObject: add helper for booleans
2015-11-13 23:59:26 +01:00
Thomas Gelf
d23149bf3e
IcingaObject: prepare command object access
2015-11-06 09:49:05 +01:00
Thomas Gelf
e833d7be76
IcingaObject: just a newline
2015-10-16 18:41:07 +02:00