Ravi Kumar Kempapura Srinivasa
1a0ddfb08b
Add IcingaDB MySQL backend in businessprocess
...
IcingaDB MySQL backend is added to the businessprocess module to obtain information regarding monitored nodes.
ref #276
2022-02-03 16:54:01 +01:00
Johannes Meyer
940abdada6
Use the plug icon to indicate objects in downtime
2021-12-17 13:10:19 +01:00
Johannes Meyer
fcadf2d6b4
Use Web 2's form style
2021-12-17 13:10:19 +01:00
Johannes Meyer
4d7df037d3
Drop Component\StateBall and use ipl\Web\Widget\StateBall instead
2021-12-17 13:10:19 +01:00
Johannes Meyer
9958885a90
Drop vendor lib php-diff
2021-12-15 16:07:39 +01:00
Johannes Meyer
dde924e2b4
ConfigDiff: Utilize new php-diff library
2021-12-15 16:07:39 +01:00
Johannes Meyer
ad2ea6f8c5
NodeTile: Add plural support to the Children label
...
closes Icinga/L10n#18
2021-12-13 15:28:50 +01:00
Dirk Goetz
608842aeaa
Add some AuditHooks
...
refs #289
2021-03-31 16:37:11 +02:00
Kotove
3cd3427e74
Add downtime flag into export results ( #286 )
2020-10-23 09:22:55 +02:00
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
a8149a1983
ui: Use rule widget to show real state transformation instead
...
Showing the override rules only in tree view but not in tile
view is one problem. Another one however are rules for all
states which then are difficult to decipher while not providing
much benefit.
The flash to indicate the real state also is not intuitive enough.
That's why this change combines both widgets in a single one. This
makes it more clear what the actual state is, what happened to it,
and does not cobble the view with too much state balls.
2020-06-26 14:11:40 +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
Johannes Meyer
8f868d79c9
NoDuplicateChildrenValidator: Don't detect a no-change as duplicate
2020-06-26 11:20:14 +02:00
Johannes Meyer
67a7687606
NodeAction: Force parsing objects as associative arrays during unserialization
2020-06-26 11:18:28 +02:00
Eric Lippmann
346ace79d0
Merge pull request #282 from Icinga/fix/handled-node-rendering
...
Fix rendering of state-balls for critical-handled nodes
2020-05-27 08:25:47 +02:00
Ravi Kumar Kempapura Srinivasa
49bc0dd363
Use the correct state-balls for critical/down-handled nodes in TreeRenderer::render()
...
Use the state-balls that are added for critical/down-handled nodes in TreeRenderer::render(), in case the nodes are critical/down and handled.
2020-05-27 08:23:41 +02:00
Ravi Kumar Kempapura Srinivasa
b3686906a5
Use the correct state-balls for critical/down-handled nodes in NodeTile::render()
...
Use the state-balls that are added for critical/down-handled nodes in NodeTile::render(), in case the nodes are critical/down and handled.
2020-05-27 08:23:16 +02:00
Ravi Kumar Kempapura Srinivasa
b39d953fee
Fix tile rendering for Bp nodes with unconfirmed deleted monitored nodes
...
Earlier in NodeRemoveAction the states were recalculated for the BpNodes. Hence, the state for parent nodes with unconfirmed deleted monitored nodes (host/service) is set to Unknown. This results in incorrect tile rendering for the parent nodes. Therefore, any call to methods which recalculate the states are removed.
fix #279
2020-05-19 16:42:09 +02:00
Ravi Kumar Kempapura Srinivasa
1bc6bf6236
Use gray tiles and state-balls for the entire branch of empty BpNode
...
The node state is recursively calculated in case the node contains only BpNodes as its children and are empty. The gray tiles and state-balls are used for the entire branch if the children are empty.
2020-05-11 11:45:33 +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
51c7fdf6c9
Fix 'Trying to access a missing business process node <$name>'
...
If the imported node is empty or was deleted at a later time, then in NodeTile::render() $link should not be rendered. Also, NodeTile::addDetailsAction() should not add a `href` to this tile.
2020-05-11 11:45:05 +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
e533ff95f5
Introduce NODE_EMPTY state for empty nodes
...
An empty node state called `NODE_EMPTY` has been introduced with a value of 128 in class `Node`, and this state has been mapped to value *0* in structure `$stateToSortStateMap`.
2020-05-11 11:44:30 +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
Johannes Meyer
d2d64365b6
php-diff: Don't use curly braces for string offset access
2020-02-27 10:41:54 +01:00
Eric Lippmann
a06fba34b3
Remove abstract function Node::__construct()
2020-02-27 10:08:16 +01:00
Ravi Kumar Kempapura Srinivasa
f5166f4348
Fix 'vsprintf(): Too few arguments' unexisting imported node exception
...
If the imported node does not exist, no arguments is passed to BpConfig::addError() by ImportedNode::createFailedNode(). Added 'if' condition in BpConfig::addError() in case no arguments are passed to vsprintf.
refs #234
2020-02-26 15:09:17 +01:00
mdkamijo
3ffbce0709
Make it possible to delete imported nodes ( #248 )
...
It is possible to import process nodes from other processes. But there
are no way, via the GUI, to remove the imported process nodes from the
current process/process node.
This commit makes it possible to remove imported process nodes, no matter
where which process they comes from.
2020-02-26 14:53:34 +01:00
Eric Lippmann
5395b42bab
Fix URL param overrides upon rendering
...
Before, we used setParams() instead of with() to populate the parameters
which is especially problematic with imported nodes where the config
paramter got overriden for every subsequent node.
fixes #228
2020-02-26 14:18:40 +01:00
Eric Lippmann
125bf37ba8
Fix superfluous base target overrides
...
* Fix drill down of the tile/tree action icon links
* Set base target only on parent containers
This also fixes the dashboard integration where we only override the
base target of the div.tiles containers.
fixes #243
2020-02-26 14:17:39 +01:00
Johannes Meyer
4e6e1f0819
Node: Add __unbound__ parent node in getPaths() if there are no parents
...
fixes #245
2020-02-26 13:47:24 +01:00
Johannes Meyer
144bcdf852
Remove space after reference operators
2020-02-26 09:19:31 +01:00
Eric Lippmann
a2854e8cf4
Use display_name as alias for host and service nodes
2020-02-05 15:01:22 +01:00
Dominik Seidel
8ef1dfcbdc
CLI: Add options --downtime-is-ok and --ack-is-ok
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
7d199a94ea
RenderedProcessActionBar: Re-introduce Config link for subprocess nodes
...
Having to navigate a level up to edit the currently showing process is tedious,
to say the least.
refs #78
2019-02-28 15:15:11 +01:00
Johannes Meyer
b932fa8415
TreeRenderer: Open info urls in a new tab
...
refs #187
2019-02-28 11:19:13 +01:00
Johannes Meyer
c5d3127303
Storage: Properly escape and unescape names with operators
...
fixes #205
2019-02-28 10:58:06 +01:00
Johannes Meyer
cad29d4d32
NodeTile: Add current path to the add action url
...
fixes #212
2019-02-28 09:12:38 +01:00
Johannes Meyer
fe991d7f58
BpNode: Make sure to sort children alphabetically by default
2019-02-28 08:53:54 +01:00
Johannes Meyer
2a82b326fe
TreeRenderer: Use the correct action urls for imported nodes
...
refs #209
2019-02-28 08:19:37 +01:00
Johannes Meyer
a941052efa
NodeTile: Don't show action links for imported nodes
...
refs #209
2019-02-28 07:48:42 +01:00
Johannes Meyer
885064b577
Provide links to jump to an imported node's source configuration
...
refs #209
2019-02-28 07:48:35 +01:00
Johannes Meyer
670a29e5f7
Breadcrumb: Show a node's state
2019-02-26 13:15:14 +01:00
Johannes Meyer
3431540700
NodeTile: Don't use a node's identifier if it's the same config anyway
2019-02-25 14:23:41 +01:00
Johannes Meyer
eaf5b85538
Change how imported nodes are recognized
...
Since configurations are cached this cannot be done by using
a flag. Instead the rendering and path aggregation are now able
to distinguish nodes themselves.
2019-02-25 13:58:18 +01:00
Johannes Meyer
40538c51ce
LegacyStorage: Add cache to avoid parsing configurations multiple times
2019-02-25 12:42:52 +01:00
Johannes Meyer
6f3ffe48e2
BpConfig: Only list each involved configuration once
2019-02-25 08:19:39 +01:00
Johannes Meyer
6ae4cf745c
RenderedProcessActionBar: Don't allow to unlock imported nodes
2019-02-22 14:41:53 +01:00
Johannes Meyer
cacc24f501
NodeAddChildrenAction: Really import nodes if instructed to do so
2019-02-22 14:30:06 +01:00
Johannes Meyer
0d262bf0d0
Renderer: Don't fail while generating ids for unbound nodes
2019-02-22 14:11:03 +01:00
Johannes Meyer
75a3d1fd5e
LegacyConfigParser: Restore ability to defer referenced process initialization
2019-02-22 12:26:24 +01:00
Johannes Meyer
40c406ac9e
TreeRenderer: Render the info_url action where all other action urls are
2019-02-22 12:26:24 +01:00
Johannes Meyer
1529ec4602
NodeTile: Hash ids the same way as in the tree view
2019-02-22 12:26:24 +01:00
Johannes Meyer
e36e918d32
RenderedProcessActionBar: Use term "Node" instead of "Process"
...
A process is also a node but a node not necessarily a process.
2019-02-22 12:26:24 +01:00
Johannes Meyer
a1bb91a999
js: Remove redundant handling for non-node tiles
2019-02-22 12:26:24 +01:00
Johannes Meyer
728d4cb2ae
TreeRenderer: Show the correct icon for monitored nodes at the root level
2019-02-22 12:26:24 +01:00
Johannes Meyer
c73cd65f6f
js: Correctly identify a node's parent in case of first level sub-trees
2019-02-22 12:26:24 +01:00
Johannes Meyer
673135c0f3
Don't redirect after a successful move action but refresh
2019-02-22 12:26:24 +01:00
Johannes Meyer
718a4305b4
NodeController: Show all processes affected by an impact
...
refs #143
2019-02-22 12:26:24 +01:00
Johannes Meyer
6cdaa48f68
TileRenderer: Use the correct action urls for imported nodes
2019-02-22 12:26:24 +01:00
Johannes Meyer
c19854d05c
TileRenderer: Make the navigation through imported nodes fluent
2019-02-22 12:26:24 +01:00
Johannes Meyer
f0162278d6
BpConfig: Process node imports in hasNode() and getNode()
2019-02-22 12:26:24 +01:00
Johannes Meyer
42642c88d6
BpConfig: Flag imported configurations
2019-02-22 12:26:24 +01:00
Johannes Meyer
431a5e0085
Streamline usage of a node's name
2019-02-22 12:26:24 +01:00
Johannes Meyer
8465bc0bc3
LegacyConfigParser: Establish parent-child relationships
...
This replaces commit d1f32c5 as this is the more efficient
and proper solution.
refs #134
2019-02-22 12:26:24 +01:00
Johannes Meyer
e0529ee844
Revert "Node: Aggregate parents if none are registered yet"
...
This reverts commit d1f32c59f1 .
2019-02-22 12:26:24 +01:00
Johannes Meyer
2799eff860
lib: Temporarily integrate the StateBall from ipl\Web\Widget
2019-02-22 12:26:24 +01:00
Johannes Meyer
a9ed7f66a4
Breadcrumb: Show a configuration's name again, "Root" is too vague
2019-02-22 12:26:24 +01:00
Johannes Meyer
7a8c48c7e8
Fix a few style issues
2019-02-22 12:26:24 +01:00
Johannes Meyer
df7e72398d
RenderedProcessActionBar: Make the mode toggle a single anchor
...
It's a toggle, there's no need for two distinct urls. Even more
important, there's no need for two different click areas.
2019-02-22 12:26:24 +01:00
Johannes Meyer
a681d7e393
Fix that imported nodes have no state, once and for all
2019-02-22 12:26:24 +01:00
Johannes Meyer
aa8f070a00
BpConfig: Don't die due to circular references
2019-02-22 12:26:24 +01:00
Johannes Meyer
1a36e4d94a
LegacyConfigRenderer: Don't render import sub-nodes
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
0194f9afe9
tree: Don't allow to change imported nodes
...
The remaining ui and navigation flow doesn't
incorporate differing bp configurations
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
fb8c3c5a33
Redesign breadcrumbs
2019-02-22 12:26:24 +01:00
Johannes Meyer
fba4235a6a
TileRenderer: Fix invalid call to attributes()
2019-02-22 12:26:24 +01:00
Johannes Meyer
5fe4983c3c
ActionBar: Add toggle to switch between tile- and tree-view
2019-02-22 12:26:24 +01:00
Johannes Meyer
f58e1844a1
ActionBar: Remove h1 and adjust link labels
2019-02-22 12:26:24 +01:00
Johannes Meyer
494027710b
ActionBar: Restyle and move link to add new processes
2019-02-22 12:26:24 +01:00
Johannes Meyer
d880291c02
TreeRenderer: Restructure node layout
2019-02-22 12:26:24 +01:00
Johannes Meyer
bb62fe7048
TreeRenderer: Properly render sub-processes if viewed individually
2019-02-22 12:26:24 +01:00
Johannes Meyer
35fe4cb943
Tree-/TileRenderer: Use a literal bool for data-sortable-disabled
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
fe8f4d8c15
js: Don't permit to create loops
2019-02-22 12:26:24 +01:00
Johannes Meyer
493328ff20
Make moving non-root tiles working again
2019-02-22 12:26:24 +01:00
Johannes Meyer
b795d278ee
TreeRenderer: Properly render empty processes
2019-02-22 12:26:24 +01:00
Johannes Meyer
93a2589909
NodeMoveAction: Interpret $from as index and not as display value
2019-02-22 12:26:24 +01:00
Johannes Meyer
bc03569765
Properly handle display values when performing other actions than moving nodes
2019-02-22 12:26:24 +01:00
Johannes Meyer
f022c0f101
NodeMoveAction: Properly handle unbound nodes
2019-02-22 12:26:24 +01:00
Johannes Meyer
98f2ed8f48
TreeRenderer: Remove obsolete placeholder element
2019-02-22 12:26:24 +01:00
Johannes Meyer
ec14a7dbe1
NodeMoveAction: Properly check display values
2019-02-22 12:26:24 +01:00
Johannes Meyer
0d0ac5381e
NodeApplyManualOrderAction: Also include non-toplevel processes
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