Branch: refs/heads/master
Home:
https://github.com/tribe29/checkmk
Commit: 4ee420f70cdf88d8050f06961bc9d9e7e7bb4736
https://github.com/tribe29/checkmk/commit/4ee420f70cdf88d8050f06961bc9d9e7e…
Author: Joerg Herbel <joerg.herbel(a)tribe29.com>
Date: 2021-12-06 (Mon, 06 Dec 2021)
Changed paths:
M agent-receiver/agent_receiver/checkmk_rest_api.py
M agent-receiver/agent_receiver/models.py
M agent-receiver/agent_receiver/server.py
M tests/unit/agent-receiver/test_server.py
Log Message:
-----------
agent receiver: first version of registration with agent labels
Change-Id: Ie481275e0082518e096d560337f4ca0720f51382
Commit: 7d8acec036fac141d1883677acc8d4e7313ad5a6
https://github.com/tribe29/checkmk/commit/7d8acec036fac141d1883677acc8d4e73…
Author: Lars Michelsen <lm(a)tribe29.com>
Date: 2021-12-06 (Mon, 06 Dec 2021)
Changed paths:
M cmk/gui/dashboard.py
M cmk/gui/modules.py
M cmk/gui/plugins/dashboard/__init__.py
M cmk/gui/utils/__init__.py
Log Message:
-----------
Prepare to centralize GUI plugin loading
Previously our GUI plugins were loaded like this:
1. Import main module (e.g. cmk.gui.dashboard)
2. Main module imports builtin plugin package (cmk.gui.plugins.dashboard)
3. Local plugins are loaded by cmk.gui.dashboard.load_plugins()
This resulted in multiple disadvantages:
1. To prevent cycles between the main module and the plugins, all common
functionality had to be moved below the package cmk.gui.plugins.dashboard
to the utils module.
This structure is very confusing, because developers expect only
plugins to be in the plugin package. And not shared functionality.
2. PEP 420 implicit namespace packages are not possible, since there is
code needed to be in the __init__.py of the plugin package.
3. The GUI plugin loading is different to the cmk.base.agent_based
loading, which is also surprising in the first place.
What we do now with this change is:
a) Move the GUI plugin import logic to a central place. This removes one
functionality from the __init__.py of the plugin package. It also
allows us to import common functionality from the main module
without having cycles once we have moved all imports of plugin
modules away from the main modules.
b) Use our general plugin loader which we also use in cmk.base.
c) Keep track of plugin loading errors. This was working with the legacy
GUI plugins before, but not with module plugins until now. Since users
were not able to use this mechanism, it was not affecting users. But
once we move the plugins to the new API it would affect them.
This commit cleans up the import logic for the first main module:
cmk.dashboard. Next we migrate one plugin package after the other.
Change-Id: If78c72fd44f6fb15352402532d82311a077d8b4e
Commit: 4b0f7898c49e4862c0e9bb8fc203b650fabee5bd
https://github.com/tribe29/checkmk/commit/4b0f7898c49e4862c0e9bb8fc203b650f…
Author: Lars Michelsen <lm(a)tribe29.com>
Date: 2021-12-06 (Mon, 06 Dec 2021)
Changed paths:
M cmk/gui/cron.py
M cmk/gui/modules.py
M cmk/gui/plugins/bi/__init__.py
M cmk/gui/plugins/cron/__init__.py
M cmk/gui/plugins/sidebar/__init__.py
M cmk/gui/sidebar.py
M tests/unit/cmk/gui/test_sidebar.py
Log Message:
-----------
Centralize plugin loading #1
This commit changes the bi, cron, sidebar plugin packages.
Change-Id: I8206578675a86e926be06d361bb65886b73f6524
Commit: fbe6b1ca9f39c34cd11b598a3f697ab029a03aeb
https://github.com/tribe29/checkmk/commit/fbe6b1ca9f39c34cd11b598a3f697ab02…
Author: Lars Michelsen <lm(a)tribe29.com>
Date: 2021-12-06 (Mon, 06 Dec 2021)
Changed paths:
M cmk/gui/config.py
M cmk/gui/modules.py
M cmk/gui/plugins/config/__init__.py
M cmk/gui/plugins/metrics/__init__.py
M cmk/gui/plugins/userdb/__init__.py
M cmk/gui/plugins/visuals/__init__.py
M cmk/gui/plugins/webapi/__init__.py
M cmk/gui/userdb.py
M cmk/gui/visuals.py
M cmk/gui/webapi.py
Log Message:
-----------
Centralize plugin loading #2
This commit changes the config, metrics, userdb, visuals, webapi plugin
packages.
Change-Id: I686216be88bce374e70cd24284a1b706682ebd66
Compare:
https://github.com/tribe29/checkmk/compare/d982a82fd888...fbe6b1ca9f39