[ZBXNEXT-1850] resolve trigger dependencies on hosts only Created: 2013 Jul 22 Updated: 2015 Jun 30 |
|
Status: | Open |
Project: | ZABBIX FEATURE REQUESTS |
Component/s: | API (A), Server (S) |
Affects Version/s: | 2.0.4 |
Fix Version/s: | None |
Type: | Change Request | Priority: | Trivial |
Reporter: | Dmitry Samsonov | Assignee: | Unassigned |
Resolution: | Unresolved | Votes: | 7 |
Labels: | nested, templatelinking, triggerdependencies | ||
Remaining Estimate: | Not Specified | ||
Time Spent: | Not Specified | ||
Original Estimate: | Not Specified |
Attachments: | zabbix_dependencies_problem.jpg |
Description |
Hello! When I add such dependency I get error: Not all templates are linked to "pci slots". Is it a bug or am I doing something wrong? |
Comments |
Comment by Oleksii Zagorskyi [ 2013 Jul 23 ] |
See: After reading issue description I'm not sure I can understand correctly template linkage |
Comment by Dmitry Samsonov [ 2013 Jul 23 ] |
I can't see any inconsistency with documentation and specification you have provoded, but it still fails. |
Comment by Dmitry Samsonov [ 2013 Jul 23 ] |
Red arrow on the image is the trigger I am trying to add: |
Comment by richlv [ 2013 Jul 24 ] |
this is not possible as "template pci slots" would have trigger t2 that would depend on trigger t1 from "template server alive", but "template pci slots" is not linked to "template server alive", thus you would get a dependency on a non-existent trigger. seems to work as expected |
Comment by Dmitry Samsonov [ 2013 Jul 24 ] |
If we remove template "pci slots" (and link "ethernet controllers" directly to "HostsA"), then I can create dependency from template "ethernet controllers" to template "server alive", but they also are not linked. To conclude: 1-level templates may have trigger with dependency to any other not linked template, but 2 level templates may not. Seems to be wrong, isn't it? |
Comment by richlv [ 2013 Jul 24 ] |
no, that seems to be correct. in that case both "template ethernet controllers" and "template server alive" are linked to "template HostsA", and trigger dependency has the trigger to rely on. think about it this way - if t2 on "template pci slots" ends up depending on t1... there is no t1 on "template pci slots" |
Comment by Dmitry Samsonov [ 2013 Jul 24 ] |
Why is it a problem? It's just a template, just as "ethernet controllers". It is normal to deny to add hosts to just one template if there are triggers with dependencies to another templates. But templates do not count triggers, so why it should be a problem to have templates with just a half of dependency? |
Comment by richlv [ 2013 Jul 24 ] |
"template ethernet controllers" is the originating template for t1. anything linked to it must have all dependencies, too - that would be t1 in this case. it does not matter whether it is template or host, it's a configuration data consistency question, nothing to do with trigger evaluation etc when we link something to a template which has a dep to another template, we resolve that dependency locally, which is not possible in this case |
Comment by Dmitry Samsonov [ 2013 Jul 25 ] |
I don's see any reasons to resolve that dependency locally for templates, because we already has inconsistent dependency in template "ethernet controllers" for example. |
Comment by Dmitry Samsonov [ 2013 Aug 05 ] |
Will this report be considered as problem? |
Comment by richlv [ 2013 Aug 05 ] |
theoretically, we could consider trigger dependencies only when resolving them on hosts and ignore while we are still in templates. |
Comment by Dmitry Samsonov [ 2013 Aug 05 ] |
Thank you. |
Comment by George Machitidze [ 2014 Mar 22 ] |
This is REALLY annoying and VERY useful thing - there are many services that depend on each-other and we don't want to create separate templates for all hosts and copy everything we need just to make triggers work. Possible solution is to: |
Comment by Janne Korkkula [ 2014 Nov 14 ] |
I agree. The simplest case: almost all of our hosts have a basic template linked which includes the icmppingsec simple check and an appropriate trigger. We'd like to depend on that trigger for other checks. This cannot be done, neither is there any useable workaround, because: |