Branch: refs/heads/master
Home: https://github.com/tribe29/checkmk
Commit: 90c05bcb92f8b4959e59b4b88d66234952002d80
https://github.com/tribe29/checkmk/commit/90c05bcb92f8b4959e59b4b88d6623495…
Author: Mathias Laurin <mathias.laurin(a)tribe29.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M cmk/base/data_sources/_abstract.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 tests/unit/cmk/base/data_sources/test_agent.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_snmp_data_source.py
M tests/unit/cmk/base/data_sources/test_tcp_data_source.py
Log Message:
-----------
Move summarize logic to summarizer
CMK-5419
CMK-5450
Change-Id: I204ebab3d0f2a19a570689fdd1df1cfee14cc129
Commit: 18c54630f7fd3cccb3c443c9deffc16c0385ad5d
https://github.com/tribe29/checkmk/commit/18c54630f7fd3cccb3c443c9deffc16c0…
Author: Mathias Laurin <mathias.laurin(a)tribe29.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M cmk/base/automations/check_mk.py
M cmk/base/checking.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/test_agent.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:
-----------
Delegation API in Configurator
We now let the configurator (that we should now rename) handle
all the data source tasks via delegation. This way, we obtain a
relatively simple API where the user must only know and use the
Configurator classes.
Actually, we are nearly back to the original API but with more
some renaming left to do and a more flexible design that
> prefer[s] composition over i̵n̵h̵e̵r̵i̵t̵a̵n̵c̵e̵ god class and 🍝
CMK-5450
Change-Id: I52ee354b1929790e723e99870e7d5871dc37bfcd
Commit: b9c79761d24432a858b18b0bcab4f4587b9cfbda
https://github.com/tribe29/checkmk/commit/b9c79761d24432a858b18b0bcab4f4587…
Author: Lars Michelsen <lm(a)tribe29.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M cmk/fetchers/controller.py
M cmk/utils/paths.py
M tests/testlib/__init__.py
M tests/unit/cmk/fetchers/test_controller.py
M tests/unit/cmk/utils/test_paths.py
Log Message:
-----------
Introduce and start populating helper config directory
* Add the core helper config directory that will be the base directory
for all core helper configuration files. The layer below this
directory will be versioned using the config serial.
* Move the fetcher config to that directory
* Simplify some tests along the way (paths can be patched globally for
all unit tests with testlib.fake_version_and_paths(). So there is no
need for test individual path patching and reimport.
CMK-5444
Change-Id: I456029b2f336c9ce495ae4929fc79a2c2bf0ba16
Commit: f161884f1366874a1a9ed5c954692f16dacd068a
https://github.com/tribe29/checkmk/commit/f161884f1366874a1a9ed5c954692f16d…
Author: Lars Michelsen <lm(a)tribe29.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M cmk/base/config.py
M cmk/base/core_config.py
M tests/unit/cmk/base/test_config.py
M tests/unit/cmk/base/test_core_config.py
Log Message:
-----------
Generalize helper config generation handling
Extract the helper config versioning from `PackedConfigStore`.
* The packed config store is now only caring about reading and writing
the versioned packed config file.
* The packed config file is moved to core_helper_config_dir
(`var/check_mk/core/helper-config/[serial]/precompiled_check_config.mk`)
* The versioning of the helper config has been moved to the new
`HelperConfig` class. It's `create` method is a context manager that cares
about a) creating the helper config directory and creating the "latest"
symlink in case the config was created without issue.
Change-Id: Ic1931046eb349bd90717424acf144f3b09a19269
Commit: 5489016174e65d8007af4d29a47712ab728c3295
https://github.com/tribe29/checkmk/commit/5489016174e65d8007af4d29a47712ab7…
Author: Lars Michelsen <lm(a)tribe29.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M cmk/base/core_config.py
M cmk/base/core_nagios.py
Log Message:
-----------
Simplify core config creation
We recently removed all call sites that created only parts of the core
and core helper configs. The previous `create_config` and `precompile`
steps can now be merged to a single `create_config` step.
Change-Id: Ib1abc3d30cfc334e05019e74f72251efc3739316
Commit: 2330a4d397c6254198cfce8e7fca317e6048fabf
https://github.com/tribe29/checkmk/commit/2330a4d397c6254198cfce8e7fca317e6…
Author: Lars Michelsen <lm(a)tribe29.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M cmk/base/config.py
M cmk/base/core_config.py
M cmk/base/core_nagios.py
M cmk/fetchers/controller.py
M cmk/utils/fetcher_crash_reporting.py
M cmk/utils/type_defs.py
M tests/unit/cmk/base/test_config.py
M tests/unit/cmk/base/test_core_config.py
M tests/unit/cmk/fetchers/test_controller.py
Log Message:
-----------
Rework typing of config serial
Instead of int / Optional[int] for representing the config serial
we now use the following types:
LATEST_SERIAL: Final[Literal["latest"]] = "latest"
ConfigSerial = NewType("ConfigSerial", str)
OptionalConfigSerial = Union[ConfigSerial, Literal["latest"]]
These are based in cmk/utils/type_defs.py. All other changes are
mechanical changes to use these new types.
Change-Id: If531d7eb139392d43d5fa1577d3721a760403675
Commit: 4f4171cbefba8e610418d7316faeec1174f5070e
https://github.com/tribe29/checkmk/commit/4f4171cbefba8e610418d7316faeec117…
Author: Lars Michelsen <lm(a)tribe29.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M cmk/base/config.py
M cmk/base/core_config.py
M cmk/base/core_nagios.py
Log Message:
-----------
Transport config serial through call stack
The config serial is now gathered once in `_create_core_config` and
propagated down to all phases of the helper config creation where it is
needed.
We can now clearly see which parts of the helper config don't care about
the serial at the moment. This will be extended in a subsequent commit.
Change-Id: I3b55dc1e1636ccb0b91bbe28ac7a6218500d2d63
Commit: c98b065149ff8e5a47d040d0bc93dfa0d596ce06
https://github.com/tribe29/checkmk/commit/c98b065149ff8e5a47d040d0bc93dfa0d…
Author: Lars Michelsen <lm(a)tribe29.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M cmk/base/config.py
M cmk/utils/paths.py
M tests/unit/cmk/utils/test_paths.py
Log Message:
-----------
Move more helper config parts to versioned path
The autochecks and discovered host labels are now also versioned
in the var/check_mk/core/helper_config path.
CMK-5444
Change-Id: Ib95c2ff7d0a0e817e9e7df8f1f26fca3d0dc59ef
Compare: https://github.com/tribe29/checkmk/compare/049433c47cb3...c98b065149ff
Branch: refs/heads/master
Home: https://github.com/tribe29/checkmk
Commit: 049433c47cb34cb3130e046b82f45e77635ec7db
https://github.com/tribe29/checkmk/commit/049433c47cb34cb3130e046b82f45e776…
Author: Óscar Nájera <oscar.najera(a)tribe29.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M cmk/gui/plugins/metrics/timeseries.py
Log Message:
-----------
Skip empty metric lines for custom graphs
When applied filters for a combined metric inside a custom graph produce no
result. The custom graph must skip the metric definition list and the later
the timeseries calculator must skip the rendered curve as it has no data.
Change-Id: I55828a127b2e141e2c1cae7bbc5ee345f0e4e5fd
Branch: refs/heads/master
Home: https://github.com/tribe29/checkmk
Commit: e7ac72c3efa7b46b61d4be896f8e94a4c1debdd6
https://github.com/tribe29/checkmk/commit/e7ac72c3efa7b46b61d4be896f8e94a4c…
Author: Moritz Kiemer <moritz.kiemer(a)tribe29.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M cmk/base/api/agent_based/register/_config.py
M cmk/base/checking.py
M cmk/base/core_nagios.py
M cmk/base/data_sources/_data_sources.py
M cmk/base/discovery.py
Log Message:
-----------
get_relevant_raw_sections: always use all inventory plugins
Dealing with inventory plugins is currently fundamentally
different from check plugins in that we always use all of
them, if an inventory is performed.
The argument now reflects that.
Change-Id: I4f30e9c8de21936e7ec3c88c3473c8372ba9341f
Commit: 8c1984b08968cc05f4fefac5a2ea611f84398aef
https://github.com/tribe29/checkmk/commit/8c1984b08968cc05f4fefac5a2ea611f8…
Author: Moritz Kiemer <moritz.kiemer(a)tribe29.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M cmk/base/data_sources/snmp.py
M cmk/snmplib/snmp_scan.py
M tests/unit/cmk/base/data_sources/test_snmp_data_source.py
M tests/unit/cmk/lib/test_snmplib_snmp_scan.py
Log Message:
-----------
snmp_scan: un-name tuple for easier (de)-serialization
Change-Id: Ib604c74e095203c97e2965d6f3cc513435c594c0
Commit: 79c6f8aee09f534fa2dd6d8d71ef1bf53110963b
https://github.com/tribe29/checkmk/commit/79c6f8aee09f534fa2dd6d8d71ef1bf53…
Author: Moritz Kiemer <moritz.kiemer(a)tribe29.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M cmk/base/api/agent_based/register/inventory_plugins_legacy.py
A tests/unit/cmk/base/plugins/agent_based/test_inv_lnx_block_devices.py
A tests/unit/cmk/base/plugins/agent_based/test_inv_oracle_systemparameter.py
A tests/unit/cmk/base/plugins/agent_based/test_inv_perle_chassis.py
A tests/unit/cmk/base/plugins/agent_based/test_inv_prtconf.py
M tests/unit/conftest.py
R tests/unit/inventory/test_inv_lnx_block_devices.py
R tests/unit/inventory/test_inv_oracle_systemparameter.py
R tests/unit/inventory/test_inv_perle_chassis.py
R tests/unit/inventory/test_inv_prtconf.py
Log Message:
-----------
migrate inventory test
Change-Id: I867ece761f57037f95517a8ccfc49ed298143a60
Compare: https://github.com/tribe29/checkmk/compare/22658573a8db...79c6f8aee09f
Branch: refs/heads/master
Home: https://github.com/tribe29/checkmk
Commit: 3a2d86cc90493cc0623f206959b3565fb0825696
https://github.com/tribe29/checkmk/commit/3a2d86cc90493cc0623f206959b3565fb…
Author: Óscar Nájera <oscar.najera(a)tribe29.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M cmk/gui/http.py
Log Message:
-----------
Avoid repetition in http request
- str and unicode types are now the same in python3. Put them together.
- ascii is a test on character set after decoding
- Use mandatory_parameter to enforce values found
Change-Id: I019a64d762419a5a8d4c2bf67fe283c6976d1eee
Commit: 3d5c1b32e27edcc29bbd535dd0a5d927f0474f9b
https://github.com/tribe29/checkmk/commit/3d5c1b32e27edcc29bbd535dd0a5d927f…
Author: Óscar Nájera <oscar.najera(a)tribe29.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M cmk/gui/plugins/visuals/wato.py
Log Message:
-----------
Clean Wato Filter available choices
- Empty string is the root(Main directory) it is the base choice. The main
folder as a filter means an unconstrained search and thus is equivalent to
not setting the filter because filtering it not local to folder but to
the top of hierarchy. To avoid confusion between the then equivalent
Choices ("", "") and ("", "Main directory"), the first is removed.
- The recursive scan for folders in available is simplified
CMK-5156
Change-Id: Ia8515ed26cd01087cbe6964fca98ee24dd8c9949
Commit: 22658573a8dbfabae7a71615a6ec79ea852200c3
https://github.com/tribe29/checkmk/commit/22658573a8dbfabae7a71615a6ec79ea8…
Author: Óscar Nájera <oscar.najera(a)tribe29.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M cmk/gui/visuals.py
M tests/unit/cmk/gui/test_visuals.py
Log Message:
-----------
Include in context only non-empty filters
WARNING: Test behavior is changed. Expected empty filter to be discarded.
CMK-5156
Change-Id: Ib86ca6320bed7adf8aaaf622c5b0ea697184d2b6
Compare: https://github.com/tribe29/checkmk/compare/83440a06fd77...22658573a8db
Branch: refs/heads/master
Home: https://github.com/tribe29/checkmk
Commit: 83440a06fd77ab994fbd6eeadfe5ccbc2d4776cb
https://github.com/tribe29/checkmk/commit/83440a06fd77ab994fbd6eeadfe5ccbc2…
Author: Mathias Laurin <mathias.laurin(a)tribe29.com>
Date: 2020-09-15 (Tue, 15 Sep 2020)
Changed paths:
M cmk/base/automations/check_mk.py
M cmk/base/checking.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/snmp.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/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_snmp_data_source.py
M tests/unit/cmk/base/data_sources/test_tcp_data_source.py
Log Message:
-----------
Error handling: check & summarize
We wrap the argument to `check()` (aka `parse()` + `summarize()`) into
our `Result` type in order to encapsulate the error handling at the
appropriate level.
`fetch()` is missing as Result there needs to be serialized.
Furthermore, starting with `check()` lets us fix the API and remove
parts of the unnecessary complexity in the next commits.
CMK-5419
Change-Id: Iceca2a231b9cfc070083ce084ebb5b991e1bca1b
Branch: refs/heads/master
Home: https://github.com/tribe29/checkmk
Commit: 651e7523e2d3e73994dea9e00acf0d353954a8ad
https://github.com/tribe29/checkmk/commit/651e7523e2d3e73994dea9e00acf0d353…
Author: Lars Michelsen <lm(a)tribe29.com>
Date: 2020-09-14 (Mon, 14 Sep 2020)
Changed paths:
M cmk/base/core_config.py
M cmk/base/nagios_utils.py
Log Message:
-----------
Fix Nagios core config creation in some cases
When the automatically created nagios.cfg in tmpfs is not available,
because the core was just switched or the tmpfs is not mounted, the
Nagios core config creation failed since a recent change, because
do_check_nagiosconfig() is now called in more situations, were it
simply can not succeed. Skip calling it in case the nagios.cfg is
not available
Change-Id: Id075de284c116293e2401f4fd920a1ac92bd268a
Branch: refs/heads/master
Home: https://github.com/tribe29/checkmk
Commit: 61c825174b380a467fa0b582c64916aa7f1cf823
https://github.com/tribe29/checkmk/commit/61c825174b380a467fa0b582c64916aa7…
Author: Sven Panne <sven.panne(a)tribe29.com>
Date: 2020-09-14 (Mon, 14 Sep 2020)
Changed paths:
A livestatus/src/MacroExpander.cc
A livestatus/src/MacroExpander.h
M livestatus/src/Makefile.am
R livestatus/src/OffsetStringHostMacroColumn.cc
R livestatus/src/OffsetStringHostMacroColumn.h
R livestatus/src/OffsetStringMacroColumn.cc
R livestatus/src/OffsetStringMacroColumn.h
R livestatus/src/OffsetStringServiceMacroColumn.cc
R livestatus/src/OffsetStringServiceMacroColumn.h
M livestatus/src/TableHosts.cc
M livestatus/src/TableServices.cc
A livestatus/src/test/test_MacroExpander.cc
R livestatus/src/test/test_OffsetStringMacroColumn.cc
Log Message:
-----------
Disentangled macro expansion from column access logic.
CMK-5194
Change-Id: I13c6d04281d4b3ad284dd506ead2809ca27c84a6
Branch: refs/heads/master
Home: https://github.com/tribe29/checkmk
Commit: 3b77c25984b1c87ff7f7f068bb8dce41b467800d
https://github.com/tribe29/checkmk/commit/3b77c25984b1c87ff7f7f068bb8dce41b…
Author: Lars Michelsen <lm(a)tribe29.com>
Date: 2020-09-14 (Mon, 14 Sep 2020)
Changed paths:
M tests/testlib/__init__.py
M tests/unit/checks/generictests/datasets/docker_node_disk_usage_raw_text.py
M tests/unit/checks/generictests/datasets/docker_node_disk_usage_regression.py
M tests/unit/checks/generictests/datasets/docker_node_info_centos6_regression.py
M tests/unit/checks/generictests/datasets/docker_node_info_no_output.py
M tests/unit/checks/generictests/datasets/docker_node_info_raw_text.py
M tests/unit/checks/test_generic_legacy_conversion.py
M tests/unit/cmk/base/data_sources/test_cmd_caching.py
M tests/unit/conftest.py
Log Message:
-----------
Check plugin loading fixtures not loading automatically anymore
These fixtures must not be used automatically! They significantly slow
down the initialization of all our unit tests, especially when only
executing a small subset of the tests. We have to be more specific.
This functionality was moved to the top-level conftest.py in 195238faf7d
with the intention to prevent plugins from being loaded multiple times.
The scope of this fixture is preventing that. This is fine.
But the autouse is not OK.
Since we have now removed "automatic loading of all checks", there were
some additional cleanups needed to make the tests work again.
Change-Id: Icd03cc0160d36e9204d88e378f0804a44ba290fe
Branch: refs/heads/master
Home: https://github.com/tribe29/checkmk
Commit: 1caaeb505fdfb55df57470db42228cbd78aff95e
https://github.com/tribe29/checkmk/commit/1caaeb505fdfb55df57470db42228cbd7…
Author: Lars Michelsen <lm(a)tribe29.com>
Date: 2020-09-14 (Mon, 14 Sep 2020)
Changed paths:
A .werks/11491
M cmk/base/nagios_utils.py
Log Message:
-----------
11491 FIX Nagios: Fix broken config reason displaying
This issue is only affecting Checkmk installations that use the Nagios core.
In case a configuration error occurs, the reason for this issue should be displayed
in the console or the GUI like this: "When Validating Nagios configuration...ERROR: REASON".
However, since release v1.6.0p4 the output of the config validation was not shown to the user.
Instead this text was shown instead: "Validating Nagios configuration...ERROR: Configuration Error: local variable 'cmk' referenced before assignment"
Change-Id: I3e870684d1c7ce7c6e45f4b4ee370a436d02b9f2
Commit: 0e43b2d1938e0bbc766604114718624e8d56a3e3
https://github.com/tribe29/checkmk/commit/0e43b2d1938e0bbc766604114718624e8…
Author: Lars Michelsen <lm(a)tribe29.com>
Date: 2020-09-14 (Mon, 14 Sep 2020)
Changed paths:
M cmk/base/core_config.py
Log Message:
-----------
Fix broken Nagios config restore recently
Change-Id: Ia99b5dcb0446afe18df4cae4270427ae4f5fa9f4
Compare: https://github.com/tribe29/checkmk/compare/7fecda465aa6...0e43b2d1938e