diff --git a/configmanage/server/service/sshd.go b/configmanage/server/service/sshd.go index 02e6019065ed76a9de4e2bc3e3dfaf5d410c2c40..adad32dc0a2168c9202657528593ef75e1c97e13 100644 --- a/configmanage/server/service/sshd.go +++ b/configmanage/server/service/sshd.go @@ -149,7 +149,23 @@ func (sdc *SSHDConfig) Apply() ([]NodeResult, error) { } // 将执行失败的文件、机器信息和原因添加到结果字符串中 for _, d := range data { + // 存储每一台机器的执行结果 + sdfNode := SSHDFile{ + UUID: sdf.UUID, + ConfigInfoUUID: sdf.ConfigInfoUUID, + Path: sdf.Path, + Name: sdf.Name, + Content: sdf.Content, + Version: sdf.Version, + IsActive: true, + IsFromHost: false, + Hostuuid: d.UUID, + CreatedAt: time.Now(), + } + + // 返回执行失败的机器详情 if d.Error != "" { + sdfNode.IsActive = false results = append(results, NodeResult{ Type: global.SSHD, NodeUUID: d.UUID, @@ -158,9 +174,19 @@ func (sdc *SSHDConfig) Apply() ([]NodeResult, error) { Err: d.Error, }) } + err = sdfNode.Add() + if err != nil { + results = append(results, NodeResult{ + Type: global.SSHD, + NodeUUID: d.UUID, + Detail: "failed to collect sshd config to db", + Result: false, + Err: err.Error(), + }) + } } - // TODO:部分成功如何修改数据库 + // 全部下发成功直接修改数据库是否激活字段 if results == nil { //下发成功修改数据库应用版本 err = sdf.UpdateByuuid()