更新 2.0 的自定义插件时出现“'__name__' not in globals”
Getting "'__name__' not in globals" when updating custom plugins for 2.0
我已将 check_mk
从 1.6.x 更新为 2.0.x
我的自定义 omd-plugins 搞砸了,所以我开始在这个 article.
的帮助下为新的 2.0 API 重构它们
然而,当测试时间到来时,我得到了这个:
OMD[my_omd]:~$ cmk --detect-plugins=my_plugin -vI my_host.my_company.de
Error in plugin file /omd/sites/my_omd/local/share/check_mk/checks/my_plugin: "'__name__' not in globals"
我正在使用 sym-links。
对于source-control,我有一个git-repo。我已经把 sym-links 从旧的 checks
目录指向回购协议中的 plugin-file。从上面提到的指南开始,我从新的 local/lib/check_mk/base/plugins/agent_based/
创建了一个新的 sym-link。在过程中添加所需的 .py
后缀。所以现在我有 2 sym-links 指向一段代码,我已经修改了 in-place.
事实证明:如果您不从旧位置删除插件,您将始终测试旧插件。使用 sym-links,您将在旧环境中测试新代码,并给出该错误。
注意 error-message!
中的路径
至于 __name__
错误本身:它似乎来自相对导入 import .something
。注意前导点。它的意思是“与这个文件在同一个目录中”。不知何故,旧环境无法应对。
我已将 check_mk
从 1.6.x 更新为 2.0.x
我的自定义 omd-plugins 搞砸了,所以我开始在这个 article.
的帮助下为新的 2.0 API 重构它们然而,当测试时间到来时,我得到了这个:
OMD[my_omd]:~$ cmk --detect-plugins=my_plugin -vI my_host.my_company.de
Error in plugin file /omd/sites/my_omd/local/share/check_mk/checks/my_plugin: "'__name__' not in globals"
我正在使用 sym-links。
对于source-control,我有一个git-repo。我已经把 sym-links 从旧的 checks
目录指向回购协议中的 plugin-file。从上面提到的指南开始,我从新的 local/lib/check_mk/base/plugins/agent_based/
创建了一个新的 sym-link。在过程中添加所需的 .py
后缀。所以现在我有 2 sym-links 指向一段代码,我已经修改了 in-place.
事实证明:如果您不从旧位置删除插件,您将始终测试旧插件。使用 sym-links,您将在旧环境中测试新代码,并给出该错误。
注意 error-message!
中的路径至于 __name__
错误本身:它似乎来自相对导入 import .something
。注意前导点。它的意思是“与这个文件在同一个目录中”。不知何故,旧环境无法应对。