Branch: refs/heads/master
Home:
https://github.com/tribe29/checkmk
Commit: 944adeb17e689c61c9d8933ca59e99dba0b6ab95
https://github.com/tribe29/checkmk/commit/944adeb17e689c61c9d8933ca59e99dba…
Author: Joerg Herbel <joerg.herbel(a)tribe29.com>
Date: 2020-08-25 (Tue, 25 Aug 2020)
Changed paths:
A .werks/11361
M checkman/lnx_if
M checks/if.include
R checks/lnx_if
M cmk/base/config.py
M cmk/base/plugins/agent_based/lnx_if.py
M cmk/base/plugins/agent_based/utils/interfaces.py
M cmk/gui/plugins/wato/check_parameters/if.py
M inventory/lnx_if
R tests/unit/checks/generictests/datasets/lnx_if_no_ethtool_regression.py
R tests/unit/checks/generictests/datasets/lnx_if_regression.py
R tests/unit/checks/generictests/datasets/lnx_if_states_regression.py
R tests/unit/checks/generictests/datasets/lnx_if_tunnel_regression.py
M tests/unit/checks/test_generic_legacy_conversion.py
R tests/unit/checks/test_legacy_lnx_if.py
M tests/unit/cmk/base/plugins/agent_based/test_lnx_if.py
A tests/unit/cmk/base/plugins/agent_based/utils/test_interfaces.py
Log Message:
-----------
11361 Reworking of discovery rulesets for network interfaces and switch ports
Title: Reworking of discovery rulesets for network interfaces and switch ports
Class: feature
Compatible: incomp
Component: checks
Date: 1596798161
Edition: cre
Knowledge: undoc
Level: 2
Version: 1.7.0i1
Up to now, the discovery of network interfaces and switch ports was controlled by
two main rules: "Network Interface and Switch Port Discovery" (discovery of
single
interfaces) and "Network interface groups" (grouping of interfaces). With this
werk,
we integrate "Network interface groups" into "Network Interface and Switch
Port
Discovery" and rework the latter. The rule "Network interface groups" is
now deprecated
and not applied any more.
The reworked discovery ruleset is split into three parts: the configuration of the
discovery of single interfaces, the configuration of interfaces groups and conditions
which determine to which interfaces this rule applies. In the following, we explain the
changes in more detail.
<ul>
<li>In the first part, you can activate or deactivate the discovery of single
interfaces.
You can also configure the way monitored interfaces are represented, i.e., by index, by
description or by alias.</li>
<li>The second part offers the option to group interfaces. Here, you can specify the
names
of the groups and they way the corresponding services display their members in the
service
output (again, by index, by description or by alias). Contrary to before, there is no
separate
option any more to define interface groups on clusters, since this option was anyway
redundant.
</li>
<li>The third part of the rule determines to which interfaces this rule applies. You
can choose
to apply this rule to all interfaces or you can set conditions such as a regular
expression
matching the interface description or a set of port types. Each interface will first
determine
the set of rules which actually applies to this interface and then merge these rules
together,
whereby rules higher up in the hierarchy (e.g. rules in subfolders) overwrite rules
further
below.</li>
<li>Note that due to the point above, this rule is a somewhat special case compared
to other
rulesets in checkmk. Usually, the conditions for a rule to apply are exclusively
configured in
the section "Conditions". However, here, you can set additional,
interface-specific conditions,
which offer a finer control over the discovery process.</li>
</ul>
This change is incompatible. It affects the following checks:
<tt>aix_if</tt>, <tt>brocade_optical</tt>,
<tt>emc_vplex_if</tt>, <tt>esx_vsphere_counters</tt>,
<tt>fritz</tt>, <tt>hitachi_hnas_fc_if</tt>,
<tt>hp_msa_if</tt>, <tt>hpux_if</tt>, <tt>if</tt>,
<tt>if64</tt>, <tt>if64adm</tt>, <tt>if64_tplink</tt>,
<tt>if_brocade</tt>, <tt>if_fortigate</tt>,
<tt>if_lancom</tt>, <tt>lnx_if</tt>,
<tt>mcdata_fcport</tt>, <tt>netapp_api_if</tt>,
<tt>statgrab_net</tt>, <tt>ucs_bladecenter_if</tt>,
<tt>vms_if</tt>, <tt>winperf_if</tt>.
For users monitoring interface groups, this change is definitely incompatible. They have
to migrate
their current rules for grouping interfaces from the now deprecated ruleset "Network
interface
groups" to the new discovery ruleset. Note that there is no option any more to
discover interface
groups <i>instead of</i> the corresponding single interfaces. To reproduce
this behavior, configure
your interfaces groups and switch off the discovery of single interfaces for the group
members.
After migrating the grouping rules, these users have to re-discover the services of
affected hosts.
For all others users monitoring network interfaces, this change might be incompatible.
Generally,
any already discovered interface services will continue to work. However, depending on the
user-
defined rules from the (now reworked) ruleset "Network Interface and Switch Port
Discovery", some
interface services might vanish upon re-discovery or new interface services might appear.
In such
cases, users have to adapt the new, reworked versions of their user-defined rules.
Finally, it is worth nothing that the new ruleset offers the option to match all
interfaces, which
allows for simplifying some rules. In particular, users might be able to simplify rules
where all
interface port types and states are selected.
This change also migrates the check plugin lnx_if to the new API.
CMK-5085
Change-Id: Ib2e70ac1196f90375fbb52dc2c7e0a17449763ee
Commit: cb2864a381e58a38f933b5b66e16876c657549ef
https://github.com/tribe29/checkmk/commit/cb2864a381e58a38f933b5b66e16876c6…
Author: Joerg Herbel <joerg.herbel(a)tribe29.com>
Date: 2020-08-25 (Tue, 25 Aug 2020)
Changed paths:
M cmk/base/api/agent_based/register/section_plugins.py
M cmk/base/api/agent_based/type_defs.py
M cmk/base/data_sources/snmp.py
M cmk/snmplib/type_defs.py
M tests/unit/cmk/base/api/agent_based/register/test_section_plugins.py
M tests/unit/cmk/base/data_sources/test_snmp_data_source.py
A tests/unit/cmk/snmplib/test_snmp_type_defs.py
Log Message:
-----------
Dynamically compute SNMP detection specifications based on
discovery rules
This change adds the option to dynamically compute SNMP detection
specifications based on user-defined discovery rulesets. This is not
an official part of the new API and its usage requires explicit API
violations. However, there are checks (for example interface checks)
which rely on this legacy functionality.
CMK-5181
Change-Id: I55788bdb9fc514cc3011c4fe99404c914c0cba66
Commit: ba0d99df762a060bcf8281e0c8d4329af7253a8a
https://github.com/tribe29/checkmk/commit/ba0d99df762a060bcf8281e0c8d4329af…
Author: Mathias Laurin <mathias.laurin(a)tribe29.com>
Date: 2020-08-25 (Tue, 25 Aug 2020)
Changed paths:
M tests/unit/cmk/base/data_sources/test_data_sources.py
Log Message:
-----------
Linting overlooked(?) by Gerrit
Change-Id: I0eb4a7110dcf56f964a482d5411704acbd0aa467
Commit: bb1f7ee60f8f80254314c022b8f67257d8488f8b
https://github.com/tribe29/checkmk/commit/bb1f7ee60f8f80254314c022b8f67257d…
Author: Mathias Laurin <mathias.laurin(a)tribe29.com>
Date: 2020-08-25 (Tue, 25 Aug 2020)
Changed paths:
M cmk/base/automations/check_mk.py
M cmk/base/data_sources/_abstract.py
M cmk/base/data_sources/_data_sources.py
M cmk/base/data_sources/agent.py
M cmk/base/data_sources/ipmi.py
M cmk/base/data_sources/piggyback.py
M cmk/base/data_sources/programs.py
M cmk/base/data_sources/snmp.py
M cmk/base/data_sources/tcp.py
M cmk/base/discovery.py
M cmk/base/inventory.py
M cmk/base/modes/check_mk.py
M tests/unit/cmk/base/data_sources/conftest.py
M tests/unit/cmk/base/data_sources/test_agent.py
M tests/unit/cmk/base/data_sources/test_cmd_caching.py
M tests/unit/cmk/base/data_sources/test_host_sections.py
M tests/unit/cmk/base/data_sources/test_ipmi_management_board_data_source.py
M tests/unit/cmk/base/data_sources/test_piggy_back_data_source.py
M tests/unit/cmk/base/data_sources/test_program_data_source.py
M tests/unit/cmk/base/data_sources/test_snmp_data_source.py
M tests/unit/cmk/base/data_sources/test_tcp_data_source.py
Log Message:
-----------
Rename DataSource -> Checker
Automated, mechanical renaming:
ack --python -l DataSource | xargs sed -i 's/DataSource/Checker/g'
and yapf.
CMK-5244
Change-Id: I442a05a24dcae25e3f219c1b63d73037b38d39f8
Commit: c4891ab2c3cb7961a934f9224508574cf524313b
https://github.com/tribe29/checkmk/commit/c4891ab2c3cb7961a934f9224508574cf…
Author: Mathias Laurin <mathias.laurin(a)tribe29.com>
Date: 2020-08-25 (Tue, 25 Aug 2020)
Changed paths:
M cmk/base/checking.py
M cmk/base/core_nagios.py
M cmk/base/data_sources/_data_sources.py
M cmk/base/data_sources/fetcher_configuration.py
M cmk/base/discovery.py
M cmk/base/dump_host.py
M cmk/base/inventory.py
M tests/unit/cmk/base/data_sources/test_host_sections.py
Log Message:
-----------
Rename make_sources -> make_checkers
Automated, mechanical renaming:
ack --python -l make_sources | xargs sed -i 's/make_sources/make_checkers/g'
CMK-5244
Change-Id: Ie25c11ae74947a5f56114883e881fb794911034c
Compare:
https://github.com/tribe29/checkmk/compare/e2f5b9869643...c4891ab2c3cb