ID: 10973
Title: New bakery rule "Set cache age for plugins (UNIX)"
Component: agents
Level: 1
Class: New feature
Version: 1.7.0i1
It is now possible to set a cache age for all UNIX agent plugins
via agent bakery rule.
In the new ruleset "Set cache age for plugins (UNIX)", you can define a
set of a glob style pattern and an interval, that gets applied to all
plugin files (files at /usr/lib/check_mk_agent/plugins on the target hosts)
of the matching agent package and that results in caching the plugin's
agent outputs for the given interval. Additionally, you can decide whether
this set should override interval times from the plugin's dedicated ruleset.
This ruleset can be specified and applied multiple times.
Please note that no verification is done whether the configured intervals are
suitable for the matching plugins. Especially, please be careful when overriding
intervals from the plugin's dedicated rules, as there may be a default/minimal
caching time for performance or other reasons.
ID: 10752
Title: The websphere_mq plugin is now deprecated
Component: Core & setup
Level: 1
Class: New feature
Version: 1.7.0i1
The webphsere_mq plugin is now deprecated in favour of
the ibm_mq plugin. If you use this plugin we recommend
a change to the ibm_mq plugin.
ID: 10313
Title: Fixed check_ping
Component: Checks & agents
Level: 1
Class: Bug fix
Version: 1.7.0i1
The check_ping Check was fixed by setting the path to ping correctly during build.
ID: 10920
Title: Upper and lower levels for liebert_cooling and position are configurable now
Component: Checks & agents
Level: 1
Class: New feature
Version: 1.7.0i1
ID: 10836
Title: HW/SW Inventory views: Declared inventory views can be joined
Component: HW/SW Inventory
Level: 1
Class: New feature
Version: 1.7.0i1
HW/SW inventory views can be declared with {{declare_invtable_view}} in
{{local/share/check_mk/web/plugins/views/MY_FILE_NAME.py}}. After this
declaration a new view with sorters and filters is available.
Example:
C+:
declare_invtable_view(
"invinterface",
".networking.interfaces:",
_("Network interface"),
_("Network interfaces"),
)
C-:
generates the view {{Search Network interfaces}} in the views sidebar below
{{Inventory}}.
Some of these tables may have common columns like {{ID}} but have different
data sources. A new function is introduced in order to join some table-based
views:
C+:
declare_joined_inventory_table_view(
tablename = "invMYMULTITABLE",
title_singular = _("TITLE SINGULAR"),
titl_plural = _("TITLE PLURAL"),
tables = [
"invTABLE1",
"invTABLE2",
...
],
match_by = [
"KEY1",
"KEY2",
...
],
)
C-:
In order to join some table-based views you have to
<ul>
<li>extend the display hints for each table path and</li>
<li>declare own views for each table</li>
</ul>
Display hints:
C+:
inventory_displayhints.update({
".PATH.TO.TABLE1:": {
"title": _("TITLE TABLE1"),
"keyorder": [
"id",
"value_1_1",
"value_1_2",
...
],
"view": "invTABLE1_of_host",
},
".PATH.TO.TABLE1:*.id": {"title": _("ID")},
".PATH.TO.TABLE1:*.value_1_1": {"title": _("Value 1 1")},
".PATH.TO.TABLE1:*.value_1_2": {"title": _("Value 1 2")},
...
".PATH.TO.TABLE2:": {
"title": _("TITLE TABLE2"),
"keyorder": [
"id",
"value_2_1",
"value_2_2",
...
],
"view": "invTABLE2_of_host",
},
".PATH.TO.TABLE2:*.id": {"title": _("ID")},
".PATH.TO.TABLE2:*.value_2_1": {"title": _("Value 2 1")},
".PATH.TO.TABLE2:*.value_2_2": {"title": _("Value 2 2")},
...
})
C-:
Declarations:
C+:
declare_invtable_view(
"invTABLE1",
".PATH.TO.TABLE1:"
_("TITLE TABLE1 SINGULAR"),
_("TITLE TABLE1 PLURAL"),
)
declare_invtable_view(
"invTABLE2",
".PATH.TO.TABLE2:"
_("TITLE TABLE2 SINGULAR"),
_("TITLE TABLE2 PLURAL"),
)
declare_joined_inventory_table_view(
tablename = "invMULTITABLE",
title_singular = _("TITLE MULTITABLE SINGULAR"),
titl_plural = _("TITLE MULTITABLE PLURAL"),
tables = [
"invTABLE1",
"invTABLE2",
...
],
match_by = [
"id",
...
],
)
C-:
The keys in {{match_by}} must be part of each table. Otherwise Checkmk does not
known which rows belong together. Now all stated tables are merged into one and
all columns of both are visible in the new view.
ID: 10874
Title: Notification rules: Fix empty "Notification method" dropdown field
Component: WATO
Level: 1
Class: Bug fix
Version: 1.7.0i1
After choosing a notification plugin a dropdown field appears that can be
used to either select notification creation or cancellation. The first
choice in the dropdown had an empty text in previous 1.6 releases.
ID: 10870
Title: Tags: Fix exception when renaming an existing tag choice
Component: WATO
Level: 1
Class: Bug fix
Version: 1.7.0i1
When editing the ID of a tag choice that is referenced by some other
object, an exception like this could occur in previous versions:
"TypeError: 'OperationReplaceGroupedTags' object has no attribute '__getitem__'".
ID: 10869
Title: Fix potential "Request-URI Too Long" error when editing huge tag groups
Component: WATO
Level: 1
Class: Bug fix
Version: 1.7.0i1
When editing a tag group with a larger number of tag choices an error "Request-URI Too Long"
could appear.
When editing a tag choice that is configured for some rules or hosts, a confirm dialog with
the tile "Your modifications affect some objects" is shown to the user that asks which action
should be taken on the related object. When choosing an action and submitting the form, the
error mentioned above could occur.
ID: 10600
Title: Interface Bonding
Component: Checks & agents
Level: 1
Class: Bug fix
Version: 1.7.0i1
If no master aggregation ID for interface bonding was known, the check plugins
lnx_bonding, windows_os_bonding, windows_intel_bonding and ovs_bonding could crash.
In this case we now use the first slaves aggregation ID as expected value for
all aggregation IDs.