Commit graph

69 commits

Author SHA1 Message Date
Johannes Meyer
49ebbc4cdb Apply state overrides on demand instead of directly
Internally non-process children are only instantiated once.
This means when applying state overrides directly they're
used everywhere and do not differ between the containing
process. State overrides are now applied explicitly and
on demand, decoupling them from children.
2020-07-01 08:54:34 +02:00
Johannes Meyer
0c7fca926f config: Use an extra line to store state overrides
Storing overrides as part of a node's name leads to way too complicated
code. A separate field is not only better for compatibility but also
more straightforward to process.
2020-06-26 14:08:05 +02:00
Christian Menapace
98b6b2c6d0 Add Service Override 2020-06-26 11:32:09 +02:00
Ravi Kumar Kempapura Srinivasa
6cc5eb8e74 Check recursively for Empty BpNodes
In BpNode::recalculateState() the BpNode needs to be recursively checked if its children is empty using BpNode::isEmpty() instead of BpNode::hasChildren().
2020-05-11 11:45:27 +02:00
Ravi Kumar Kempapura Srinivasa
e19612bd4a Extend abstract isEmpty() method to check for empty nodes in child nodes
We need to check recurively whether the BP Nodes contatin only child BpNodes which are empty and set the entire tree to state NODE_EMPTY state in this case.
2020-05-11 11:45:17 +02:00
Ravi Kumar Kempapura Srinivasa
d8567896f2 Fix 'missing node' errors for empty child nodes
Before the child empty nodes where set to missing nodes by BpNode::isMissing().

This has been corrected in this fix by checking if whether a child node is an empty node or not.
2020-05-11 11:44:55 +02:00
Ravi Kumar Kempapura Srinivasa
7de814a4af Set state to NODE_EMPTY in case of empty nodes
In case of empty nodes, the state is set to NODE_EMPTY now.
2020-05-11 11:44:41 +02:00
Ravi Kumar Kempapura Srinivasa
32abce2529 Don't show state-badges for empty nodes
Before, the empty nodes were to be considered as missing nodes. Correspondingly, the counter for missing in BpNode::getStateSummary() was increased if an empty node is encountered.

Now, the empty nodes are not assumed as missing nodes and the counter for missing is not increased for this case.
2020-05-11 11:44:14 +02:00
Eric Lippmann
a2854e8cf4 Use display_name as alias for host and service nodes 2020-02-05 15:01:22 +01:00
Dominik Seidel
1414e76d94 CLI: Add options --blame and --root-cause 2020-02-05 15:01:22 +01:00
Johannes Meyer
fe991d7f58 BpNode: Make sure to sort children alphabetically by default 2019-02-28 08:53:54 +01:00
Johannes Meyer
431a5e0085 Streamline usage of a node's name 2019-02-22 12:26:24 +01:00
Johannes Meyer
00b88055f7 BpConfig: Delay processing of imported configurations
Solves the issue that two processes cannot import each other
2019-02-22 12:26:24 +01:00
Johannes Meyer
2123b41f83 Properly integrate imported nodes
* Fixed navigation flow
* Full tree rendering
2019-02-22 12:26:24 +01:00
Johannes Meyer
505471c519 Node: Introduce $icon property 2019-02-22 12:26:24 +01:00
Johannes Meyer
3ba4842933 BpNode: Use all uppercase for operator names 2019-02-22 12:26:24 +01:00
Johannes Meyer
72f3af9fc9 BpNode: Reset keys when automatically sorting nodes 2019-02-22 12:26:24 +01:00
Johannes Meyer
876a577e85 Don't sort processes in case manual sorting has been applied 2019-02-22 12:26:23 +01:00
Eric Lippmann
7c491496fa Use natcasesort 2018-08-13 13:30:33 +02:00
Eric Lippmann
024d537272
Merge pull request #169 from Icinga/fix/minimum-worst-state
BpNode: Use worst state in minimum state calculation
2018-07-02 17:24:18 +02:00
Markus Frosch
9120449acb BpNode: Use worst state in minimum state calculation
Ensure we use the worst state within a minimum condition, previously we
did use the Xth best.

refs #167
2018-03-20 16:59:13 +01:00
Markus Frosch
98cc43f01b BpNode: Count missing nodes in getStateSummary
Children that are missing should increment the counter, as well as
if no children are present.

So it's easy to find missing nodes following the counters.
2017-06-01 16:51:22 +02:00
Thomas Gelf
ad1ff7af91 BpNode: use loop detection when checking for...
...missing children

fixes  #121
2017-03-21 11:30:49 +01:00
Thomas Gelf
98bd02c164 Node: clear missing when setting state 2017-02-20 15:01:10 +01:00
Thomas Gelf
14e30e4741 BpNode: set missing to unknown before fetching...
...sorting state

refs #105
2017-02-20 14:57:17 +01:00
Thomas Gelf
9750e13234 BpNode, process/show: error for missing children...
...and unknown as state

fixes #105
2017-02-20 14:47:30 +01:00
Thomas Gelf
61fd8caa93 BpNode: add a new helper method 2017-01-27 15:32:08 +01:00
Thomas Gelf
5f6b35906d AddNode: fix creating nested nodes
fixes #13883
2017-01-11 17:38:19 +01:00
Thomas Gelf
22583aa083 BpConfig: renamed from BusinessProcess 2017-01-11 14:09:30 +01:00
Thomas Gelf
149696fb50 BpNode: remove code related to legacy config 2017-01-11 13:40:42 +01:00
Thomas Gelf
9c22289bf3 BpNode: tweak hasInfoUrl() 2017-01-03 11:27:58 +01:00
Thomas Gelf
8bd1e10f95 DeleteNode: quite some rework, provide more...
...possibilities, remove "not implemented" exception
2017-01-03 11:23:05 +01:00
Thomas Gelf
c856a6fc26 BpNode: add comment to better reflect what's...
...going on. We are unknown when state calculation fails, not for empty
processes - related git commit message was misleading
2016-12-16 19:47:36 +01:00
Thomas Gelf
76a526d8dd BpNode: let empty processes be unknown 2016-12-16 19:41:22 +01:00
Thomas Gelf
857913172b BpNode: use modified loop detection everywhere 2016-11-29 11:22:44 +01:00
Thomas Gelf
ca16f22a62 BusinessProcess/Nodes: some cleanup 2016-11-29 11:20:54 +01:00
Thomas Gelf
cbf8db3073 BpNode: free loop detection from side-effects 2016-11-29 11:11:43 +01:00
Thomas Gelf
60b66e89b0 TreeRenderer: new renderer, LOTS of cleanup 2016-11-29 00:34:28 +01:00
Thomas Gelf
e311d086cc BpNode: add id helper 2016-11-28 17:30:27 +01:00
Thomas Gelf
a00fdab37f Cleanup, Url handling improvements, some helpers 2016-11-26 21:18:18 +01:00
Thomas Gelf
8c05ed7277 Test and implement loop detection
fixes #9786
2016-11-24 10:57:30 +01:00
Thomas Gelf
b8df6a8823 BpNode: rename child_nodes to childNode...
...and move method related to children from base Node
2016-11-24 02:40:01 +01:00
Thomas Gelf
afcf42e871 phpcs: some more 2016-11-23 15:17:25 +01:00
Thomas Gelf
ac82187f5b BpNode: fix error for missing children 2016-11-23 15:17:25 +01:00
Thomas Gelf
93fff13209 (Bp)Node: add get/hasMissingChildren method 2016-11-23 15:17:25 +01:00
Thomas Gelf
1e45dabe02 BpNode: getProblemTree and related methods 2015-11-19 14:49:52 +01:00
Thomas Gelf
bf5b3424be BpNode: provide also host state types in summary 2015-10-06 22:35:00 +02:00
Thomas Gelf
1088f877c1 BpNode: fix parent signature 2015-10-06 09:17:16 +02:00
Thomas Gelf
675b74ada9 Node: provide generic helpers 2015-10-06 08:59:22 +02:00
Thomas Gelf
4a790976af Introduce the NOT operator (!)
refs #10315
2015-10-05 16:50:33 +02:00