From 3746e74b95d24ffffb535d1b6870eae5c1f4154b Mon Sep 17 00:00:00 2001 From: wubijie Date: Thu, 14 Nov 2024 15:26:04 +0800 Subject: [PATCH] Improve ssh config multi machine execution result processing --- configmanage/server/service/ssh.go | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/configmanage/server/service/ssh.go b/configmanage/server/service/ssh.go index dee857ea..260fe43d 100644 --- a/configmanage/server/service/ssh.go +++ b/configmanage/server/service/ssh.go @@ -147,7 +147,23 @@ func (sc *SSHConfig) Apply() ([]NodeResult, error) { } // 将执行失败的文件、机器信息和原因添加到结果字符串中 for _, d := range data { + // 存储每一台机器的执行结果 + sfNode := SSHFile{ + UUID: sf.UUID, + ConfigInfoUUID: sf.ConfigInfoUUID, + Path: sf.Path, + Name: sf.Name, + Content: sf.Content, + Version: sf.Version, + IsActive: true, + IsFromHost: false, + Hostuuid: d.UUID, + CreatedAt: time.Now(), + } + + // 返回执行失败的机器详情 if d.Error != "" { + sfNode.IsActive = false results = append(results, NodeResult{ Type: global.SSH, NodeUUID: d.UUID, @@ -156,9 +172,19 @@ func (sc *SSHConfig) Apply() ([]NodeResult, error) { Err: d.Error, }) } + err = sfNode.Add() + if err != nil { + results = append(results, NodeResult{ + Type: global.SSH, + NodeUUID: d.UUID, + Detail: "failed to collect ssh config to db", + Result: false, + Err: err.Error(), + }) + } } - // TODO:部分成功如何修改数据库 + // 全部下发成功直接修改数据库是否激活字段 if results == nil { //下发成功修改数据库应用版本 err = sf.UpdateByuuid() -- Gitee