Thomas Gelf
fd400977f2
IcingaObject: do not resolve imports when...
...
...resolving related objects
2017-08-26 16:17:07 +02:00
Thomas Gelf
bab28b1755
IcingaService: force object_type=template when...
...
...loading a service by name
fixes #1094
2017-08-25 16:10:59 +02:00
Thomas Gelf
f8445ca1ef
IcingaObject: fix ApiUser preview rendering
...
fixes #1117
2017-08-25 15:03:12 +02:00
Thomas Gelf
1b160c6c35
IcingaObject: opt in for recursion
...
fixes #1118
2017-08-25 15:00:07 +02:00
Thomas Gelf
5450a00c78
IcingaService: handle use_agent=n by explicitly...
...
...rendering command_endpoint = null
fixes #921
fixes #1013
2017-08-25 08:50:38 +02:00
Thomas Gelf
f55a672d48
IcingaObject: accept 'disable' on merge()
...
fixes #1104
2017-08-24 16:35:09 +02:00
Thomas Gelf
15c26b97db
IcingaObject: fix "origins" names when showing...
...
...inherited properties
fixes #1093
2017-08-22 17:47:27 +02:00
Thomas Gelf
69607ada3c
SyncRule: switch priority order, migrate DB
...
fixes #1077
2017-08-22 17:10:49 +02:00
Thomas Gelf
2109d138d5
IcingaTimeperiodRangeForm: delete through the...
...
IcingaTimePeriod and it's Ranges
fixes #1089
2017-08-21 22:41:37 +02:00
Thomas Gelf
a092c5d79e
IcingaObjectImports: fix check for modifications
...
refs #1062
2017-08-21 21:36:21 +02:00
Thomas Gelf
6ba0e8e924
IcingaObject: give unstored import names
2017-08-21 20:33:00 +02:00
Thomas Gelf
0bd2a328ed
GroupMembershipResolver: do not fill objects...
...
...cache when not being told so. Also, fix query order/operator to ensure an
AND is being used.
2017-08-21 08:12:04 +02:00
Thomas Gelf
9adeb65f0c
GroupMembershipResolver: support calls from onStore
2017-08-21 08:10:47 +02:00
Thomas Gelf
70b3e966da
ImportSource: flip fetch order to stay close to...
...
...former one
2017-08-20 16:02:47 +02:00
Thomas Gelf
1999de2707
ImportRowModifier: fix class instantiation
2017-08-20 15:17:22 +02:00
Thomas Gelf
3c4d4de633
ImportRowModifier: also use PriorityColumn helper
2017-08-20 15:14:37 +02:00
Thomas Gelf
4c7b940705
PriorityColumn: add new object extension, use...
...
...it for SyncProperty
2017-08-20 15:04:06 +02:00
Thomas Gelf
b21ba5dc54
IcingaHost: add helper methods for Sets, Services
2017-08-18 16:42:56 +02:00
Thomas Gelf
bbcdf22466
ImportSource: better IDE hints
2017-08-18 10:48:58 +02:00
Thomas Gelf
b364165110
IcingaObject: fix plain export with chosen...
...
...properties, use new template resolving repository everywhere
2017-08-16 08:11:08 +02:00
Thomas Gelf
a495a6ca39
IcingaObjectImports: use new repository for lookup
2017-08-13 23:18:54 +02:00
Thomas Gelf
1356733332
IcingaHost: make sure that an Endpoint has a...
...
...Db connection
2017-08-11 17:15:08 +02:00
Thomas Gelf
13f33a842b
IcingaTemplateResolver: improve benchmark message
2017-08-11 10:07:36 +02:00
Thomas Gelf
496be4fbc8
Sync: respect 'replace' policy on vars...
...
...with rule policy being set to 'merge'
fixes #864
2017-08-03 10:51:13 +02:00
Thomas Gelf
59d6291fcf
PrefetchCache, IcingaObject: speed up import list
...
...greatly improves REST API performance
2017-08-01 12:48:29 +02:00
Thomas Gelf
118dddf93a
Caches: add Benchmark, some IDE hints for CVar
2017-07-31 16:12:56 +02:00
Thomas Gelf
b2736e1776
ObjectForms: fix weird issues with 'add' forms
2017-07-28 18:46:11 +02:00
Thomas Gelf
d92492d5a1
DirectorActivityLog: use IP when unauthenticated
...
This applies mostly to self service API
2017-07-21 12:06:36 +02:00
Thomas Gelf
cca4092151
Deployment: move logic to dedicated classes
...
Extended DirectorDeploymentLog, new DeploymentInfo class
2017-07-20 08:22:31 +02:00
Thomas Gelf
29d93512e6
Objects/Icinga(Host|Service): fix typo
2017-07-18 13:36:05 +02:00
Thomas Gelf
ea02d0b23c
ImportRowModifier: add missing property
2017-07-14 14:56:22 +02:00
Thomas Gelf
2cdba2aa65
Import and Sync: add description fields
...
fixes #1018
2017-07-14 14:27:05 +02:00
Thomas Gelf
05d8e5bb00
Datalist: Allow to restrict entries by role
...
fixes #1012
2017-07-14 13:21:42 +02:00
Thomas Gelf
2ca7f26b49
SelfService: fix booleans, add new options
...
refs #486
2017-07-14 13:21:42 +02:00
Thomas Gelf
4a0e8df2f2
Host,Service: add check_timeout property
...
fixes #546
2017-07-14 13:21:42 +02:00
Thomas Gelf
27a51ac34c
SelfService: implement powershell-parameters
...
fixes #486
2017-07-14 13:21:42 +02:00
Thomas Gelf
8a8540bc3e
IcingaHost: generate API keys
2017-07-14 13:21:42 +02:00
Thomas Gelf
0ec5ec8197
TemplateChoice: delegate storing members to...
...
...the object, use a single form
2017-07-14 13:21:42 +02:00
Thomas Gelf
126dd29ecc
IcingaObject: work around a resolver issue
2017-07-14 13:21:42 +02:00
Thomas Gelf
6aab867682
GroupMembershipResolver: ignore unstored objects
...
Currently affects tests only
2017-07-14 13:21:42 +02:00
Thomas Gelf
67d802d39a
Host,Service: hide choice property
2017-07-14 13:21:42 +02:00
Thomas Gelf
a9a2295c8a
IcingaObject, Host/Service: add supportsChoices()
2017-07-14 13:21:42 +02:00
Thomas Gelf
2f79920a18
TemplateChoice: small fixes, forms
2017-07-14 13:21:42 +02:00
Thomas Gelf
0b89c222eb
IcingaTemplateChoice: take over code generating...
...
...the choice form element
2017-07-14 13:21:42 +02:00
Thomas Gelf
f7cbe4a3be
IcingaHost: reference to choices
2017-07-14 13:21:42 +02:00
Thomas Gelf
68a22590a8
IcingaTemplateResolver: just a newline
2017-07-14 13:21:42 +02:00
Thomas Gelf
cef947e6fc
IcingaTemplateChoice: new base object, host/service
2017-07-14 13:21:42 +02:00
Thomas Gelf
4f3f4e7f52
IcingaTemplateResolver: implement a reverse index
2017-07-14 13:21:42 +02:00
Thomas Gelf
ac815b14b6
GroupMembershipResolver: fix SQL table alias
2017-07-14 13:21:42 +02:00
Thomas Gelf
18c0ce3c4f
IcingaObject: allow to prefetch related object...
...
...types
2017-07-14 13:21:42 +02:00
Thomas Gelf
875627ead7
ObjectApplyMatches: refactor host-only code
...
refs #897
2017-07-14 13:21:42 +02:00
Thomas Gelf
526492580c
GroupMembershipResolver: refactor from HostGroup
...
This is now a more generic implementation and can serve multiple object types
refs #897
2017-07-14 13:21:42 +02:00
Thomas Gelf
aa3a8987ba
HostGroupMembershipResolver: handle single groups
...
Formerly this worked only with apply rules, now this also respects single host/
group assignments.
fixes #832
2017-07-14 13:21:42 +02:00
Thomas Gelf
5ae7997f9d
Sync: tune membership resolver
...
Also fixes error on host creation
refs #832
2017-07-14 13:21:42 +02:00
Thomas Gelf
45c93b3445
HostGroupMembershipResolver: first implementation
...
refs #832
2017-07-14 13:21:42 +02:00
Thomas Gelf
47bfb2d31d
IcingaObjectImports: add meaningful error...
...
...would have saved me some troubleshooting time
2017-07-14 13:21:42 +02:00
Thomas Gelf
2237272b6b
SyncRule: do not allow to sync unless some...
...
...properties have been defined.
fixes #383
2017-05-03 11:24:22 +02:00
Thomas Gelf
f91dd5fa0e
PropertyModifierCombine: implementation, tests...
...
...and related changes with some documentation
fixes #922
2017-05-03 10:39:49 +02:00
Thomas Gelf
6234648a1f
IcingaEndpoint: work on Zone, not on the id
...
fixes #878
2017-03-29 12:52:54 +02:00
Thomas Gelf
58ba7f9f86
IcingaEndpoint: deploy to where it's Zone is...
...
...to be found
refs #463
2017-03-29 11:41:13 +02:00
Thomas Gelf
3714d2567b
IcingaEndpoint: fix indentation
2017-03-28 20:56:10 +02:00
Thomas Gelf
9f2070dced
IcingaEndpoint: provide getRestApiClient() helper
...
fixes #877
2017-03-28 18:08:27 +02:00
Thomas Gelf
afce89dc98
DirectorActivityLog: log username and ip
...
Logged values are now JSON-encoded
fixes #849
2017-03-15 12:02:08 +01:00
Thomas Gelf
cb9fff90ef
IcingaObject: add new static helper, expose...
...
...existing one
refs #842
2017-03-13 22:03:02 +01:00
Thomas Gelf
bff76dad8e
HostApplyMatches: fix matching for "contains"
...
fixes #803
2017-03-03 09:41:25 +01:00
Thomas Gelf
bfde75a0a2
IcingaServiceSet: import DirectorOverrideTemplate
...
...when rendering services belonging to a set for a single host
fixes #776
2017-02-08 10:04:47 +01:00
Thomas Gelf
d4b769b8d7
IcingaHost: do not render Endpoint and Zone...
...
...for disabled hosts
fixes #741
2017-01-24 09:45:32 +01:00
Thomas Gelf
c75b4fc6b0
DirectorDatafield: phpcs -> SpacingBeforeClose
2017-01-19 13:58:07 +01:00
Thomas Gelf
b08be6ecc0
DirectorDatafield: do not fail on missing command
...
refs #712
refs #731
2017-01-19 13:55:59 +01:00
Thomas Gelf
164b5bd93d
Fields: fix inheriting fields from commands
...
refs #712
refs #731
2017-01-19 13:50:50 +01:00
Thomas Gelf
b7a10d296c
phpcs: mostly new PSR-2 SpacingAfter/Before checks
2017-01-13 20:54:52 +01:00
Thomas Gelf
9e771f2d5a
Fix phpcs complaints
2017-01-13 19:47:54 +01:00
Thomas Gelf
792e58abae
DirectorDatafield: just newlines
2017-01-13 16:39:35 +01:00
Thomas Gelf
f874a79bb4
IcingaObjectFieldLoader: no mandatory field on cmd
...
fixes #12644
2017-01-13 16:05:34 +01:00
Thomas Gelf
40ff51e487
IcingaTemplateResolver: separate concerns...
...
...and make helper accessible
2017-01-13 15:20:04 +01:00
Thomas Gelf
0a9ed6ff39
HostApplyMatches: allow usage for single hosts
...
refs #13849
2017-01-02 10:15:55 +01:00
Thomas Gelf
a9874879dd
TemplateResolver: add new methods for stricter...
...
...path resolution. Also ships related tests
refs #13839
2016-12-30 10:15:25 +01:00
Thomas Gelf
efe6fd35ab
IcingaObject: remove code loading fields...
...
...we now have a dedicated class for this
2016-12-28 12:44:51 +01:00
Thomas Gelf
d4736f4a41
IcingaObject: better way to get resolved props?
2016-12-16 13:21:48 +01:00
Thomas Gelf
241404d9ba
HostApplyMatches: do not skip defaults
...
May avoid errors when working with properties defined only on some of your
hosts
2016-12-16 13:19:02 +01:00
Thomas Gelf
949d6c9b54
IcingaCommandField: one more implementation
2016-12-14 16:36:33 +01:00
Thomas Gelf
5847913987
Fields: add a possibility to show fields based...
...
...on filter rules
2016-12-14 16:36:33 +01:00
Thomas Gelf
4c1ab4dae6
php: just some comments and cleanup
2016-12-13 18:25:14 +01:00
Thomas Gelf
04f9b360da
DirectorDataField: preserve settings in fromDbRow
...
refs #13259
2016-12-13 17:14:58 +01:00
Thomas Gelf
58a64cee78
SyncRule: initialize hasServiceSet
2016-12-13 13:51:41 +01:00
Thomas Gelf
f1a61e2557
ServiceGroup: allow to assign them to services...
...
...via assignment rules
fixes #13415
2016-12-13 09:51:52 +01:00
Thomas Gelf
1acf332f6b
DirectorDataField: whether a field is required...
...
...is a setting
2016-12-07 09:43:16 +01:00
Thomas Gelf
2ea573e338
IcingaVar: use new CustomVar helpers
2016-12-07 08:29:20 +01:00
Thomas Gelf
7dd2ac6b83
IcingaService: enum service vars, not host vars
...
fixes #13359
2016-11-30 09:33:29 +01:00
Thomas Gelf
1e9e15278a
Merge branch 'bugfix/service-set-contraints-13309'
2016-11-30 08:16:47 +01:00
Markus Frosch
4a838ca277
IcingaHostGroup(Legacy): Load zones prefetched
...
refs #13049
2016-11-30 08:12:27 +01:00
Markus Frosch
c2734fd4d4
IcingaHostGroup(Legacy): Render assigned groups to all zones
...
So we still can support hosts with direct groups.
refs #13049
2016-11-30 08:12:27 +01:00
Markus Frosch
aaeca533fc
IcingaConfig/IcingaObject(Legacy): Render dummy notification settings
...
So we avoid warnings about nothing configured.
refs #13049
2016-11-30 08:12:27 +01:00
Markus Frosch
3a8cad2486
IcingaServiceSet: Check if object_name is unique for templates
...
refs #13309
2016-11-28 15:32:41 +01:00
Thomas Gelf
d5131f7fac
Arguments: always render += instead of =
...
This allows to extend existing arguments
fixes #12941
2016-11-15 17:57:02 +01:00
Markus Frosch
4e5dfb097e
IcingaService(Legacy): Fix duplicated rendering of apply
...
refs #13049
2016-11-15 10:52:03 +01:00
Markus Frosch
b40cfd5f05
IcingaHostGroup(Legacy): Fix member rendering with correct attribute
...
refs #13049
2016-11-14 15:36:55 +01:00
Markus Frosch
5ee911ef7c
IcingaObject(Legacy): Fix event_handler rendering
...
refs #13049
2016-11-14 15:32:14 +01:00
Markus Frosch
d4c3be0bf5
IcingaHostGroup|IcingaService(Set): Fix legacy config file extension
...
refs #13049
2016-11-14 15:28:52 +01:00
Thomas Gelf
913d934762
IcingaObject: introduce getSingleResolvedProperty()
...
Motivation: getResolvedProperty() has the effect that objects will fully
resolve all inherited properties, vars and fields. This is overkill in
situations where only a few resolves properties are needed and has quite
an influence on overall rendering performance.
Over time we might completely fade out that part of our resolving logic
as it predates current cache implementations. Meanwhile, we keep two
methods for two (internal) purposes.
2016-11-14 13:25:26 +01:00
Markus Frosch
116016bbfc
HostApplyMatches: Raise memory_limit for bigger caches
...
refs #13049
2016-11-11 11:49:37 +01:00
Markus Frosch
a8a9278806
IcingaHostGroup(legacy): Render assign to a hostgroup_member list
...
Supporting active-passive and masterless, by writing multiple versions of the object.
refs #13049
2016-11-11 11:49:37 +01:00
Markus Frosch
31520a7d21
IcingaService: Don't even try to render service_set related services
...
refs #12891
2016-11-11 11:49:37 +01:00
Markus Frosch
1a51e55563
Merge branch 'feature/better-import-table'
2016-11-11 11:30:56 +01:00
Markus Frosch
8b5689545c
Sync(Rule): Allow to sync services of a ServiceSet
...
This extends the destination key pattern for Sync.
refs #12891
2016-11-11 11:06:01 +01:00
Markus Frosch
ddd59ab274
IcingaServiceSet: A simple key identifies a ServiceSet (template)
...
refs #12891
2016-11-11 11:06:01 +01:00
Markus Frosch
39538a3f33
SyncRule: Support hasCombinedKey for serviceSet
...
refs #12891
2016-11-11 10:44:22 +01:00
Thomas Gelf
eb1f1a2c33
doc/testing: fix syntax
2016-11-10 20:03:29 +01:00
Markus Frosch
b4cb6f8ccb
ImportRun: Add access to ImportSource
2016-11-09 14:20:35 +01:00
Thomas Gelf
5bae792901
IcingaTemplateResolver: ignore multicolumn key...
...
...objects on refresh (for now)
fixes #13081
2016-11-08 16:27:44 +01:00
Thomas Gelf
1a311bc9a9
IcingaServiceSet: ignore empty sets when rendering
...
fixes #13079
2016-11-08 16:23:16 +01:00
Markus Frosch
e116e36051
IcingaService(legacy): Test for not null
...
refs #13049
2016-11-07 14:12:30 +01:00
Markus Frosch
314b0675ee
HostApplyMatches: Prefetch Hostgroups for resolving
...
refs #13049
2016-11-07 14:12:06 +01:00
Thomas Gelf
068d38fddc
IcingaService(v1): render single service apply...
...
...fully resolved to all matching hosts respecting their rendering zone
2016-11-07 13:34:20 +01:00
Thomas Gelf
7e749da982
IcingaServiceSet: implement target zone for...
...
...resolved v1 apply rules
2016-11-07 12:42:27 +01:00
Thomas Gelf
2c1f745c4e
IcingaService: render service_description for v1
2016-11-07 11:38:02 +01:00
Thomas Gelf
482f48ee1e
IcingaServiceSet: cleanup, shift responsability...
...
...for service_set_id property cleanup
refs #13049
2016-11-04 20:31:01 +01:00
Thomas Gelf
ba7d350a8c
HostApplyMatches: resolve services and -sets...
...
...for Icinga v1.x
refs #13049
2016-11-04 19:56:56 +01:00
Thomas Gelf
87fe623d11
DbObject: help IDE, render newline after a...
...
...disabled v1 object
2016-11-04 19:52:21 +01:00
Markus Frosch
7fc0da6e21
LegacyDeploymentApi: Add deployment Api for Icinga 1.x
...
refs #13049
2016-11-04 16:12:33 +01:00
Markus Frosch
003a100b9c
IcingaConfig(Legacy): Add deployment mode for Icinga 1 config
...
refs #13049
2016-11-04 10:28:11 +01:00
Thomas Gelf
a656ca4067
IcingaService: correctly prefix host properties
...
fixes #13040
2016-11-03 20:02:51 +01:00
Thomas Gelf
ef9ef52124
IcingaService: provide assignment properties
...
fixes #12731
fixes #13038
fixes #12073
2016-11-03 16:35:27 +01:00
Markus Frosch
199a46abcb
IcingaObject(Legacy): Render check_command when inherited, but ARGn is set
...
refs #12919
2016-11-03 14:16:07 +01:00
Markus Frosch
1d7cfa343e
IcingaHost(Legacy): Render alias with renderLegacyCustomExtensions
...
refs #12919
2016-11-03 13:46:16 +01:00
Markus Frosch
6b9d23cdd5
IcingaObject(legacy): Render check_command with ARGn from customvars
...
refs #12919
2016-11-03 13:41:44 +01:00
Markus Frosch
b9e4162635
IcingaObject(legacy): Fix alignLegacyProperties for long attributes
...
refs #12919
2016-11-03 13:41:44 +01:00
Markus Frosch
3f53285566
IcingaObjectMultiRelations(Legacy): add toLegacyConfigString
...
refs #12919
2016-11-03 13:41:44 +01:00
Markus Frosch
a804874a54
IcingaConfigRenderer(Legacy): Update classes for interface change
...
refs #12919
2016-11-03 13:41:44 +01:00
Markus Frosch
1502dd9c90
IcingaObject(Legacy): Render display_name as alias
...
With the execption of Host and Service.
refs #12919
2016-11-03 13:41:44 +01:00
Markus Frosch
f2ff967b07
IcingaTimeperiodRanges(Legacy): Implement toLegacyConfigString
...
refs #12919
2016-11-03 13:41:44 +01:00
Markus Frosch
ab7d0fb085
IcingaObject(Legacy): Render legacy customvars
...
refs #12919
2016-11-03 13:41:44 +01:00
Markus Frosch
1e70cface0
IcingaObject(Legacy): Render directly added groups
...
refs #12919
2016-11-03 13:41:44 +01:00
Markus Frosch
a8179507dc
IcingaObject(Legacy): Make getLegacyObjectType public
...
refs #12919
2016-11-03 13:41:44 +01:00
Markus Frosch
ffa5da86c9
IcingaCommand(Legacy): Fix type and render command_line
...
refs #12919
2016-11-03 13:41:44 +01:00
Markus Frosch
1cedc64c5a
IcingaObject(Legacy): Properly comment a disabled object
...
refs #12919
2016-11-03 13:41:44 +01:00
Markus Frosch
a2151fd9d1
IcingaObject(Legacy): Add getLegacyObjectType function
...
So the type rendered to the object header can get overwritten.
refs #12919
2016-11-03 13:41:44 +01:00
Markus Frosch
802b923df6
IcingaConfig: Add v1-masterless config format
...
Do not render a passive checkable to the master zone then.
refs #12919
2016-11-03 13:41:44 +01:00
Markus Frosch
31a321e13e
IcingaObject(legacy): Add flag to render only supported objects
...
refs #12919
2016-11-03 13:41:44 +01:00
Markus Frosch
2e2f4739c7
IcingaObject(legacy): Only render passive objects for checkables
...
Also simplify renderToLegacyConfig.
refs #12919
2016-11-03 13:41:44 +01:00
Thomas Gelf
468a2719a7
DirectorActivityLog: optionally log to file/syslog
...
fixes #12976
2016-11-02 18:40:43 +01:00
Thomas Gelf
ee0def7d2b
Lots of files: make IDE users happy
2016-11-01 18:28:36 +01:00
Markus Frosch
2b227a356b
IcingaObjectGroups: Respect PrefetchCache
2016-10-31 17:21:21 +01:00
Markus Frosch
672a45b26e
IcingaObject: loadAllByType should respect PrefetchCache
2016-10-31 17:21:21 +01:00
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
22802114ac
IcingaService: do not disable services twice
...
fixes #13017
2016-10-31 12:36:45 +00:00
Thomas Gelf
78903553e9
IcingaService: disable services belonging to a...
...
...single disabled host
fixes #12049
2016-10-29 22:06:52 +00:00
Thomas Gelf
a4ef711ef0
SyncProperty: simplify code and form
...
fixes #12700
2016-10-29 21:25:42 +00:00
Thomas Gelf
d2f359e3e3
UserGroup: do not provide assign_filter property
...
fixes #13007
2016-10-28 23:29:33 +00:00
Thomas Gelf
5fc9aabd3e
ImportSource: fix syntax error
2016-10-27 19:47:02 +00:00
Thomas Gelf
c10ad0e3a2
ImportSource: allow to transfer nested keys
2016-10-27 19:01:49 +00:00
Thomas Gelf
66e5158ccc
Dashboard: replace it with a modular one
...
fixes #12997
2016-10-27 17:58:31 +00: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
f09560a89e
IcingaServiceSet: simplify code
2016-10-25 23:12:23 +00:00
Thomas Gelf
7f34e4bdf3
IcingaServiceSet: improve work with imports
2016-10-25 23:12:23 +00:00
Thomas Gelf
354d12946a
IcingaServiceSet: render custom vars
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
6a45d9507d
IcingaServiceSet: remove legacy resolving methods
...
They have been used once we had no imports
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
ad7c5bc997
IcingaHost: fix tests
2016-10-25 00:30:12 +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
6e83a4fd5b
IcingaObjectGroup: provide groups for assign rules
2016-10-24 21:55:02 +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
88a741a8d0
IcingaService: introduce assign_filter property
2016-10-22 07:02:09 +00:00
Thomas Gelf
6ed24f93da
IcingaObject: render assign_filter property
2016-10-22 07:02:09 +00:00
Thomas Gelf
9349ba0f2a
FormDataFilter: new implementation for assignments
...
First prototype
2016-10-22 07:02:09 +00:00
Thomas Gelf
9ba6116091
IcingaService: support and test speciall object...
...
...name variants with apply for
2016-10-22 06:54:53 +00:00
Thomas Gelf
1f660b514a
IcingaServiceForm: allow empty name for apply rule
2016-10-22 06:09:10 +00:00
Thomas Gelf
5b4e7509f4
Just a couple of phpcs complaints fixed
2016-10-22 06:08:52 +00:00
Corentin Ardeois
3e30d34098
Use `config` variable in apply for rules
...
* use `config` instead of `value` in apply for rules
* update documentation
refs #11976
2016-10-22 06:07:57 +00:00
Corentin Ardeois
e7bd4343b5
Add support for Apply for rules in services
...
Apply for rules are defined through `apply_for` property
Only Array custom variables will be eligible in apply_for dropdown.
API Example:
```bash
./director-curl POST director/service?name=my_service '{"apply_for": "for (checked_tcp_port in host.vars.checked_tcp_ports)" }'
```
Will render as:
```
apply Service "my_service" for (checked_tcp_port in host.vars.checked_tcp_ports) {
...
}
```
Feature: https://dev.icinga.org/issues/11976
Depends-On: https://github.com/Icinga/icingaweb2-module-director/pull/20
refs #11976
2016-10-22 06:00:54 +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
a9b3b2f47a
IcingaObjectImports: fix compatibility issue
...
fixes #12951
2016-10-20 19:17:52 +00:00
Thomas Gelf
fc2890d865
IcingaObject: new helper method for single...
...
...resolved custom vars
2016-10-20 01:37:23 +00:00
Thomas Gelf
76936c7efb
IcingaTemplateResolver: fix resolver for unstored...
...
...objects
refs #12938
2016-10-20 01:32:52 +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
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
Thomas Gelf
cf4dccc817
Notification: add fields support
...
fixes #12642
2016-10-13 14:34:25 +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
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
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
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
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
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
e9a570e96d
Sync: fix sync & purge for datalistEntry objects
2016-10-05 17:45:25 +00:00
Marc DeTrano
348cb1aa63
IcingaCommandArgument: allow expressions in set_if
...
fixes #12153
2016-09-23 15:18:58 +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
407a387dab
DirectorDatalistEntry: add shouldBeRemoved...
...
...fixes sync for DatalistEntries
fixes #12715
2016-09-12 21:41:15 +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
2c7c54a15d
IcingaConfig: improve override constant usage
2016-09-08 20:24:54 +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
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
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
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
a4813e8046
PropertyModifierHook: allow modifiers to deal...
...
...with arrays
refs #12236
2016-08-30 07:53:10 +00:00
Thomas Gelf
58441b88ad
IcingaService: use string helper for assignments
2016-08-27 08:46:46 +00:00
Thomas Gelf
b6d59b9aca
IcingaCommand: fix skip_key handling
...
refs #11554
refs #11918
2016-08-26 07:00:45 +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
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
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
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
Markus Frosch
73b1863e1a
SyncRule: Allow disabling purge
2016-07-26 14:03:52 +02:00
Thomas Gelf
439757d464
IcingaHost: introduce API keys
2016-07-26 09:52:55 +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
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
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
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
354392d216
ImportRun: allow to fetch specific keys
2016-07-13 21:37:31 +02:00
Thomas Gelf
70c4d06a42
Sync: move key-related logic to SyncRule
2016-07-13 19:59:04 +02:00
Thomas Gelf
d4a680a6b9
ImportRun: take over specific logic from Db
2016-07-13 10:19:03 +02:00
Thomas Gelf
1f5f34cea5
IcingaObjectGroups,Imports: add some manual GC...
...
...to work around PHP issues
2016-06-30 09:34:27 +02:00
Thomas Gelf
9210441178
DirectorActivityLog: fix loadLatest()
2016-06-28 12:11:13 +02:00
Thomas Gelf
820d6ce197
ImportSource: fix hasChanges variable
2016-06-28 10:10:15 +02:00
Thomas Gelf
38fec2c3d5
ImportSource: set last_attempt on every attempt
2016-06-26 16:00:43 +02:00
Thomas Gelf
afaaf5760d
SyncRule: proxy expected modifications
2016-06-25 23:02:36 +02:00
Thomas Gelf
9387b92da1
SyncRule: introduce purge strategies
2016-06-24 17:07:00 +02:00
Thomas Gelf
39cf0a5fb8
ImportSource: there is no end_time in ImportRun
2016-06-24 17:01:47 +02:00
Thomas Gelf
20197e1c9c
ImportRun: fix prepared query
2016-06-24 17:00:44 +02:00
Thomas Gelf
57c760bca9
ImportSource: add helper methods able to fetch...
...
...the latest run or the latest run before a specific timestamp as an object
2016-06-24 11:48:54 +02:00
Thomas Gelf
9ae70a4377
ImportRun: provide historic run as a standalone...
...
...object
2016-06-24 11:47:45 +02:00
Thomas Gelf
a9b7861473
SyncRule: provide current runId
2016-06-24 08:36:12 +02:00
Thomas Gelf
516c519af9
SyncRule: add various helper methods
2016-06-23 23:14:12 +02:00
Thomas Gelf
676b5b5efe
SyncRule: fix misleading error when running...
...
...as a Job
2016-06-23 22:36:38 +02:00
Thomas Gelf
c9ef9fe91a
IcingaCommand: fix EventCommand header
...
fixes #12010
2016-06-22 23:58:09 +02:00
Thomas Gelf
8ac5d954e9
DirectorJob: fix timeperiod handling
2016-06-17 14:23:03 +02:00
Thomas Gelf
6665d6d80f
ConfigJob: fix dealing with currently active config
2016-06-17 13:20:15 +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
d042f8d599
IcingaObjectImports: fix adding objects
2016-06-16 21:20:11 +02:00
Thomas Gelf
53872a4e76
DirectorJob: really run jobs
2016-06-16 14:25:35 +02:00
Thomas Gelf
3ad56d3a98
DirectorDeploymentLog: allow to fetch config...
...
...checksum for a specific stage name. Implemented getConfigChecksumForStageName
for this.
2016-06-16 14:19:45 +02:00
Thomas Gelf
2eeafbb5d1
IcingaNotification: it's "interval"...
...
...db field is notification_interval as we avoid reserved wowrds in our schema
fixes #11938
2016-06-15 08:53:04 +02:00
Thomas Gelf
1370ec7312
IcingaNotification: use ConfigurationError
2016-06-13 17:42:02 +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
e3c08c242b
IcingaTemplateResolver: initial import
...
Should help to accomplish various template resolving tasks
2016-06-12 11:19:06 +02:00
Thomas Gelf
bbdf981b99
IcingaNotification: render "to" after object name
...
fixes #11924
2016-06-10 12:43:58 +02:00
Thomas Gelf
3b8b41c3f6
IcingaCommand: allow lowercase drives (e.g. c:)
...
fixes #11906
2016-06-11 00:41:35 +02:00
Thomas Gelf
0b92ca922f
IcingaObject: render disabled objects as comments
...
fixes #11922
2016-06-11 00:30:28 +02:00
Thomas Gelf
cc9f5037f4
IcingaNotificationForm: enforce & render apply to
...
fixes #11895
2016-06-09 23:49:02 +02:00
Thomas Gelf
7dfadf1951
IcingaHost: fix parent zone for agent zone in a...
...
...satellite zone
2016-05-26 01:36:20 +02:00
Thomas Gelf
cb825b5b94
IcingaObject: fix resolveProperty in combination...
...
...with lazy-set properties
2016-05-26 01:35:12 +02:00
Thomas Gelf
984f28bfdc
DirectorActivityLog: allow to loadLatest()
2016-05-25 15:23:57 +02:00
Thomas Gelf
e79e123e19
DirectorDeploymentLog: add helper methods...
...
...dealing with related configs
2016-05-25 15:04:00 +02:00
Thomas Gelf
fa978902c7
DirectorJob: add run helper, support timeperiods
2016-05-25 12:28:07 +02:00
Thomas Gelf
44e2c73f79
IcingaNotification: add apply_to column
2016-05-24 17:42:17 +02:00
Thomas Gelf
4291f6425e
IcingaService: fake isApplyRule for host templates
2016-05-20 15:21:29 +02:00
Thomas Gelf
b3a1d54870
IcingaObject: fix c&p error, variable name
2016-05-20 09:23:48 +02:00
Thomas Gelf
9eb9d65bef
IcingaHost: pass Config to zone lookup
2016-05-20 08:51:57 +02:00
Thomas Gelf
1c79807500
IcingaObjectGroups: keep id when cloning groups
...
Before this fix we lost autoincrement ids on clone, resulting in
ill-constructed queries on deletion
fixes #11508
2016-05-20 08:47:07 +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
9b731641c4
IcingaCommand: correctly render notification cmds
2016-05-19 17:04:28 +02:00
Markus Frosch
839527a2e1
IcingaObjectImports: set modified on clear
...
Imports could not have been set empty because of this
2016-05-19 16:34:07 +02:00
Thomas Gelf
480e80709a
IcingaService: simplify command endpoint rendering
...
host.name doesn't work as of #11786 . host_name should be fine for
templates, objects and apply rules. I therefore also dropped the
exception for service objects with use_agent and host_id.
2016-05-19 16:06:06 +02:00
Thomas Gelf
2007dee6c0
IcingaCommandArgument: add replaceWith method
2016-05-19 15:09:08 +02:00