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