From cdd5581ccb6ec8325a48856b146662a39fa3a255 Mon Sep 17 00:00:00 2001 From: chalice-1831 <844589474@qq.com> Date: Tue, 27 Aug 2024 10:38:13 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=8F=92=E4=BB=B6=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E7=AD=9B=E9=80=89=E6=8F=92=E4=BB=B6=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=97=B6=E6=94=AF=E6=8C=81=E7=AD=9B=E9=80=89=E6=9C=AA?= =?UTF-8?q?=E5=AE=89=E8=A3=85=E6=8F=92=E4=BB=B6=E7=9A=84=E4=B8=BB=E6=9C=BA?= =?UTF-8?q?=20(closed=20#2415)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/node_man/handlers/plugin.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/apps/node_man/handlers/plugin.py b/apps/node_man/handlers/plugin.py index 94c76bfc2..25c3b33a0 100644 --- a/apps/node_man/handlers/plugin.py +++ b/apps/node_man/handlers/plugin.py @@ -285,6 +285,23 @@ def list(params: Dict[str, Any]): } ) + head_plugins = tools.PluginV2Tools.fetch_head_plugins() + host_uninstall_plugin = defaultdict(list) + for host_id, plugins in host_plugin.items(): + installed_plugin_names = set(plugin["name"] for plugin in plugins) + host_uninstall_plugin[host_id] = list(set(head_plugins) - installed_plugin_names) + + for host_id, uninstall_plugins in host_uninstall_plugin.items(): + for plugin_name in uninstall_plugins: + host_plugin[host_id].append( + { + "name": plugin_name, + "status": const.ProcStateType.NOT_INSTALLED, + "version": "--", + "host_id": host_id, + } + ) + ap_id_obj_map = AccessPoint.ap_id_obj_map() # 汇总