Branch: refs/heads/master
Home: https://github.com/tribe29/checkmk
Commit: 525fda8d85704b84a914a678bfb4d92b892e19f2
https://github.com/tribe29/checkmk/commit/525fda8d85704b84a914a678bfb4d92b8…
Author: Timotheus Bachinger <timotheus.bachinger(a)tribe29.com>
Date: 2020-09-17 (Thu, 17 Sep 2020)
Changed paths:
M cmk/base/api/agent_based/inventory_classes.py
M cmk/base/api/agent_based/register/_config.py
M cmk/base/api/agent_based/register/export.py
M cmk/base/api/agent_based/register/inventory_plugins.py
M cmk/base/api/agent_based/register/inventory_plugins_legacy.py
M cmk/base/api/agent_based/type_defs.py
M cmk/base/plugins/agent_based/agent_based_api/v1/type_defs.py
M tests/unit/cmk/base/api/agent_based/register/test_inventory_plugins_register.py
M tests/unit/cmk/base/api/agent_based/test_inventory_classes.py
M tests/unit/inventory/test_generic_legacy_conversion_inv.py
Log Message:
-----------
Clean up inventory classes
* Make Attributes and TableRows NamedTuples
* Remove ABCInventoryGenerated and all inheritance sites
* Adapt API accordingly
CMK-5456
Change-Id: I8a55ba91b3f6319699a1a572dfd0e0e5fc15fded
Commit: 229823a5a60e5d5f91f14f74cc9ee990885e4c27
https://github.com/tribe29/checkmk/commit/229823a5a60e5d5f91f14f74cc9ee9908…
Author: Timotheus Bachinger <timotheus.bachinger(a)tribe29.com>
Date: 2020-09-17 (Thu, 17 Sep 2020)
Changed paths:
M cmk/base/api/agent_based/register/inventory_plugins_legacy.py
M cmk/base/api/agent_based/type_defs.py
M cmk/base/inventory.py
M cmk/base/plugins/agent_based/agent_based_api/v1/type_defs.py
M cmk/base/plugins/agent_based/inv_checkmk.py
M cmk/base/plugins/agent_based/inv_if.py
Log Message:
-----------
InventoryGenerator -> InventoryResult
CMK-5456
Change-Id: Iae803ea0a2a09adb67b8e99ebe25f0074c4fdc1f
Compare: https://github.com/tribe29/checkmk/compare/f8dd55cadcde...229823a5a60e
Branch: refs/heads/master
Home: https://github.com/tribe29/checkmk
Commit: d1420dfbd6b47248eafee6fbf319bb27b47f9a26
https://github.com/tribe29/checkmk/commit/d1420dfbd6b47248eafee6fbf319bb27b…
Author: Jonas Kluger <jonas.kluger(a)tribe29.com>
Date: 2020-09-17 (Thu, 17 Sep 2020)
Changed paths:
M cmk/gui/figures.py
Log Message:
-----------
ntop: add type hints
Change-Id: I4ad8974505ac31c0d2c0cd60dff6502965e211c2
Commit: f8dd55cadcdebeeaace9ce26df11d12510bb48fc
https://github.com/tribe29/checkmk/commit/f8dd55cadcdebeeaace9ce26df11d1251…
Author: Mathias Laurin <mathias.laurin(a)tribe29.com>
Date: 2020-09-17 (Thu, 17 Sep 2020)
Changed paths:
M cmk/base/checkers/_checkers.py
M cmk/base/checking.py
M cmk/base/discovery.py
Log Message:
-----------
List[FetcherMessage] -> Sequence[FetcherMessage]
We were passing `List[FetcherMessage]` around but users never used the
protocol or modified the container.
We therefore use a simplier, read-only, and covariant
container: `Sequence`.
Change-Id: I1e85b5686e3b6696640c856702ed61018afc3d1f
Compare: https://github.com/tribe29/checkmk/compare/a0fcbce2da74...f8dd55cadcde
Branch: refs/heads/master
Home: https://github.com/tribe29/checkmk
Commit: 9678c0e6db7f1b8f69652d63978bff8605395632
https://github.com/tribe29/checkmk/commit/9678c0e6db7f1b8f69652d63978bff860…
Author: Lars Michelsen <lm(a)tribe29.com>
Date: 2020-09-17 (Thu, 17 Sep 2020)
Changed paths:
M cmk/base/core_config.py
M tests/unit/cmk/base/test_core_config.py
Log Message:
-----------
Increase the core helper config serial
To bring the versioned helper configuration to life, the Config-Serial
must be incremented each time the core configuration is created.
This is done with this commit.
We now have the todo left that we need to cleanup the outdated helper
config directories. This will follow soon.
CMK-5463
Change-Id: I28f6ab94e068f82596f564232dfae256e563f06b
Commit: 470a13258ff4ec508679785802c89cc6f7936cdb
https://github.com/tribe29/checkmk/commit/470a13258ff4ec508679785802c89cc6f…
Author: Simon Jess <simon.jess(a)tribe29.com>
Date: 2020-09-17 (Thu, 17 Sep 2020)
Changed paths:
M cmk/gui/plugins/config/base.py
M cmk/gui/plugins/wato/support.py
M tests/unit/cmk/gui/watolib/test_watolib.py
Log Message:
-----------
License Usage: Add global setting 'Support login details'
Change-Id: I717b30c41688ff9775659ed5a7adcce5f37a47a8
Compare: https://github.com/tribe29/checkmk/compare/d6f2ca332184...470a13258ff4
Branch: refs/heads/master
Home: https://github.com/tribe29/checkmk
Commit: d6f2ca332184873a284f8cc6cb31d816b2a84199
https://github.com/tribe29/checkmk/commit/d6f2ca332184873a284f8cc6cb31d816b…
Author: Mathias Laurin <mathias.laurin(a)tribe29.com>
Date: 2020-09-16 (Wed, 16 Sep 2020)
Changed paths:
M cmk/fetchers/controller.py
M tests/unit/cmk/fetchers/test_controller.py
Log Message:
-----------
Make byte FetcherHeader more byte-like
`bytes`, like many sequences in Python, define `__add__()`. We do the
same here. This adds some syntactic sugar for serializing the data.
CMK-5419
Change-Id: I676682ed9a9f2e28f054e1a779ecddda34f3b64c
Branch: refs/heads/master
Home: https://github.com/tribe29/checkmk
Commit: 78b057e15033de9e60b695187dff75fa948746a6
https://github.com/tribe29/checkmk/commit/78b057e15033de9e60b695187dff75fa9…
Author: Mathias Laurin <mathias.laurin(a)tribe29.com>
Date: 2020-09-16 (Wed, 16 Sep 2020)
Changed paths:
M cmk/fetchers/controller.py
M tests/unit/cmk/fetchers/test_controller.py
Log Message:
-----------
Change FetcherHeader internal representation to bytes
The payload is now in bytes. It makes sense to have the header in bytes
as well. Moreover, typing is slightly safer as we do not need to
convert numbers to string and string to numbers. The code is also
slightly simpler.
It should also be easier to maintain and extend as we need at least one
more field for the error handling.
CMK-5450
Change-Id: I2dc68cd82e9db7ffc6a71c1d7e93363735b2ac54
Commit: c77b561990767836bec91f95e79006abed972919
https://github.com/tribe29/checkmk/commit/c77b561990767836bec91f95e79006abe…
Author: Mathias Laurin <mathias.laurin(a)tribe29.com>
Date: 2020-09-16 (Wed, 16 Sep 2020)
Changed paths:
M cmk/fetchers/controller.py
M tests/unit/cmk/fetchers/test_controller.py
Log Message:
-----------
Add PayloadType field to FetcherHeader
The new field allows us to disambiguate the type of the payload. This
shall help us deserialize errors.
CMK-5419
Change-Id: I38ca07fca260f5114f10977f72dbeec495181dd3
Compare: https://github.com/tribe29/checkmk/compare/5f7e0dd0eb7f...c77b56199076
Branch: refs/heads/master
Home: https://github.com/tribe29/checkmk
Commit: 988d26dfedd72a1a50faeef4207bc3f96979a964
https://github.com/tribe29/checkmk/commit/988d26dfedd72a1a50faeef4207bc3f96…
Author: Lars Michelsen <lm(a)tribe29.com>
Date: 2020-09-16 (Wed, 16 Sep 2020)
Changed paths:
M cmk/base/checkers/_abstract.py
M cmk/base/checkers/snmp.py
M cmk/base/checkers/tcp.py
M cmk/base/decorator.py
M cmk/base/exceptions.py
M cmk/base/ip_lookup.py
M cmk/fetchers/_base.py
M cmk/fetchers/snmp.py
M cmk/fetchers/tcp.py
M cmk/utils/exceptions.py
M tests/unit/cmk/base/checkers/test_snmp_data_source.py
Log Message:
-----------
Moved host IP address validation to fetchers
The fetcher config creation was previously raising an
MKIPAddressLookupError in case the config creation could not gather an
resolve an IP address for one of the configured hosts. This lead to a
complete termination of the config creation.
Instead of during config creation, this validation has to be done right
before contacting the host. This change is exactly doing this.
Now the fetcher will raise an exception in the correct moment like this:
```
MKIPAddressLookupError('Failed to lookup IP address and no explicit IP address configured')
```
What's left todo is to handle this exception correctly. This will be
fixed soon with the general error handling changes.
CMK-5295
Change-Id: I78ea68d01aef90d937edb0d7ee21991ee31ee11c
Commit: 2bb52302e5250f0553174e8a91b50ff516d44b92
https://github.com/tribe29/checkmk/commit/2bb52302e5250f0553174e8a91b50ff51…
Author: Mathias Laurin <mathias.laurin(a)tribe29.com>
Date: 2020-09-16 (Wed, 16 Sep 2020)
Changed paths:
M cmk/base/checkers/_abstract.py
M cmk/base/checkers/agent.py
M cmk/base/checkers/snmp.py
M tests/unit/cmk/base/checkers/test_agent.py
Log Message:
-----------
Consolidate persistant sections handling
The handling was split between Checker and HostSections. We move
everything into HostSections.
This should allow us to get rid of the Checker classes that have no
meaning anymore.
CMK-5450
Change-Id: Id911de649b5a76d79d9e937ceaccc25587cf29b3
Commit: 931b9e32dbb85f2579629e9c00cdae6e458233b0
https://github.com/tribe29/checkmk/commit/931b9e32dbb85f2579629e9c00cdae6e4…
Author: Mathias Laurin <mathias.laurin(a)tribe29.com>
Date: 2020-09-16 (Wed, 16 Sep 2020)
Changed paths:
M cmk/base/checkers/_abstract.py
M cmk/base/checkers/agent.py
M cmk/base/checkers/snmp.py
M cmk/base/cpu_tracking.py
M cmk/base/modes/check_mk.py
M tests/unit/cmk/base/checkers/conftest.py
M tests/unit/cmk/base/checkers/test_agent.py
M tests/unit/cmk/base/checkers/test_cmd_caching.py
M tests/unit/cmk/base/checkers/test_host_sections.py
M tests/unit/cmk/base/test_cpu_tracking.py
Log Message:
-----------
Remove *Checker classes
CMK-5450
Change-Id: I82b02587ccdda2eeadc61287b1845989457e9a6e
Commit: 320186d58f253d00b2f3486add4adaac221b3442
https://github.com/tribe29/checkmk/commit/320186d58f253d00b2f3486add4adaac2…
Author: Mathias Laurin <mathias.laurin(a)tribe29.com>
Date: 2020-09-16 (Wed, 16 Sep 2020)
Changed paths:
M cmk/base/automations/check_mk.py
M cmk/base/checkers/_abstract.py
M cmk/base/checkers/_checkers.py
M cmk/utils/type_defs.py
M tests/unit/cmk/base/checkers/test_agent.py
M tests/unit/cmk/base/checkers/test_cmd_caching.py
M tests/unit/cmk/base/checkers/test_snmp_data_source.py
M tests/unit/cmk/utils/test_type_defs.py
Log Message:
-----------
Result type: mimic OCaml instead of Rust
The interface from Rust is such that
- `Result.ok -> Optional[T_co]` and
- `Result.err -> Optional[T_err]`
where the accessors using `Optional[]` force us to litter users with
`assert .. is not None`, even after an explicit call to `Result.is_ok()`
or `Result.is_err()`. The alternative is to call the `unwrap()` methods
but here, the name of the function is unclear in Python. Indeed,
`unwrap()` transfers ownership in Rust but this concept is meaningless
in Python---CPython is reference counted.
This was also noticed in code review of code using the type.
As written in the docstring, the concept of the `Result` type from Rust
exists in a variety of programming languages. We know of three of them,
there are probably more:
- C++ has a proposal for this and calls it `std::expected`.
- It is the `Either` monad of Haskell (as noticed by SP).
- OCaml calls the type `Result` as well.
The OCaml interface is the closest to the Rust interface that we found
but does not have the drawbacks identified in Rust and it is therefore
the one we select. We do not aim to implement `join`, `bind`, `fold` or
`map` as these are more typical of a functional programming language.
This patch therefore removes the `unwrap()` methods and adds `value()`
and the rich comparison operators as defined in OCaml.
CMK-5450
Change-Id: Ie1ffe4de31826c48172183c440b493b274ea3682
Compare: https://github.com/tribe29/checkmk/compare/55532b0c0007...320186d58f25
Branch: refs/heads/master
Home: https://github.com/tribe29/checkmk
Commit: 8fe99cdf003621eb5ebbcc73c213c9b99713abd9
https://github.com/tribe29/checkmk/commit/8fe99cdf003621eb5ebbcc73c213c9b99…
Author: Moritz Kiemer <moritz.kiemer(a)tribe29.com>
Date: 2020-09-16 (Wed, 16 Sep 2020)
Changed paths:
M cmk/base/api/agent_based/checking_classes.py
M cmk/base/discovery.py
M tests/unit/cmk/base/plugins/agent_based/test_ps_check.py
M tests/unit/cmk/base/plugins/agent_based/test_winperf_if.py
Log Message:
-----------
Check API Service: add missing type annotations
Change-Id: I8d2fc6f3094437e4acad5de2abc4200a3ddf0236
Commit: 55532b0c0007bd5530e45c082ac1dedd33983db7
https://github.com/tribe29/checkmk/commit/55532b0c0007bd5530e45c082ac1dedd3…
Author: Sven Panne <sven.panne(a)tribe29.com>
Date: 2020-09-16 (Wed, 16 Sep 2020)
Changed paths:
M livestatus/src/TableEventConsole.cc
M livestatus/src/TableEventConsole.h
M livestatus/src/TableEventConsoleEvents.cc
Log Message:
-----------
Polish ECRow a bit, making it easier to use with FOOLambdaColumns.
Change-Id: Iec8194fe5b8a13989e91227c979173c38c1342cd
Compare: https://github.com/tribe29/checkmk/compare/734475e85ca5...55532b0c0007
Branch: refs/heads/master
Home: https://github.com/tribe29/checkmk
Commit: 6a912add173e9115249094edef8e54ee72d279cd
https://github.com/tribe29/checkmk/commit/6a912add173e9115249094edef8e54ee7…
Author: Moritz Kiemer <moritz.kiemer(a)tribe29.com>
Date: 2020-09-16 (Wed, 16 Sep 2020)
Changed paths:
M bin/check_mk
M cmk/base/automations/__init__.py
M cmk/base/automations/check_mk.py
M cmk/base/checking.py
M cmk/base/config.py
M cmk/base/core_nagios.py
M cmk/base/inventory_plugins.py
M cmk/base/modes/check_mk.py
M cmk/update_config.py
M cmk/update_rrd_fs_names.py
M tests/integration/cmk/base/test_discovery_parameters.py
M tests/testlib/__init__.py
M tests/unit/cmk/base/checkers/test_cmd_caching.py
M tests/unit/conftest.py
M tests/unit/inventory/test_generic_legacy_conversion_inv.py
Log Message:
-----------
inventory plugins: load together with checks
In the new API we can no longer distinguish between loading the
inventory plugins, and loading check plugins.
To be consistent, we now also load all legacy inventory plugins,
whenever we load all check plugins.
Accordingly, the function is renamed from 'load_all_checks' to
'load_all_agent_based_plugins'.
Once the support for the legacy API can be dropped, we can remove the
function completely and replace it by the load_all_plugins function
of the agent_based plugins registry.
Change-Id: Ief84a41cd0392b1fc1813c980dfef0bb3b95669b
Commit: c535fa60adcb802fa0343d757be61e25f1b3676f
https://github.com/tribe29/checkmk/commit/c535fa60adcb802fa0343d757be61e25f…
Author: Moritz Kiemer <moritz.kiemer(a)tribe29.com>
Date: 2020-09-16 (Wed, 16 Sep 2020)
Changed paths:
M tests/unit/cmk/base/checkers/test_cmd_caching.py
Log Message:
-----------
inventory plugins are now loaded along with checks
Change-Id: Ie03e1b5f19f14e45a25514ccb695f8894cd0817d
Commit: 734475e85ca558ba73f17af14bb628d719460b96
https://github.com/tribe29/checkmk/commit/734475e85ca558ba73f17af14bb628d71…
Author: Moritz Kiemer <moritz.kiemer(a)tribe29.com>
Date: 2020-09-16 (Wed, 16 Sep 2020)
Changed paths:
M tests/testlib/__init__.py
Log Message:
-----------
remove dead code
Change-Id: I07687ce2fd4942bb4a3274c12eb0b304f495d9df
Compare: https://github.com/tribe29/checkmk/compare/30b6e06c4550...734475e85ca5