From a685f960ad7e595b148179913cfa9266b8dc1393 Mon Sep 17 00:00:00 2001 From: wubijie Date: Wed, 13 Nov 2024 13:58:05 +0800 Subject: [PATCH] Complete the execution result of the sysctl-config machine --- configmanage/server/service/sysctl.go | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/configmanage/server/service/sysctl.go b/configmanage/server/service/sysctl.go index d1706f93..091f1123 100644 --- a/configmanage/server/service/sysctl.go +++ b/configmanage/server/service/sysctl.go @@ -13,6 +13,7 @@ import ( "gitee.com/openeuler/PilotGo/sdk/plugin/client" "gitee.com/openeuler/PilotGo/sdk/utils/httputils" "github.com/google/uuid" + "openeuler.org/PilotGo/configmanage-plugin/global" "openeuler.org/PilotGo/configmanage-plugin/internal" ) @@ -93,7 +94,7 @@ func (sysc *SysctlConfig) Load() error { return nil } -func (sysc *SysctlConfig) Apply() (json.RawMessage, error) { +func (sysc *SysctlConfig) Apply() ([]NodeResult, error) { // 从数据库获取下发的信息 sysf, err := internal.GetSysctlFileByUUID(sysc.UUID) if err != nil { @@ -117,21 +118,21 @@ func (sysc *SysctlConfig) Apply() (json.RawMessage, error) { } // 从hc中解析下发的文件内容,逐一进行下发 - Repofile := common.File{} - err = json.Unmarshal([]byte(sysf.Content), &Repofile) + sysctlfile := common.File{} + err = json.Unmarshal([]byte(sysf.Content), &sysctlfile) if err != nil { return nil, err } - result := "" + results := []NodeResult{} de := Deploy{ DeployBatch: common.Batch{ BatchIds: batchids, DepartmentIDs: departids, MachineUUIDs: nodes, }, - DeployPath: Repofile.Path, - DeployFileName: Repofile.Name, - DeployText: Repofile.Content, + DeployPath: sysctlfile.Path, + DeployFileName: sysctlfile.Name, + DeployText: sysctlfile.Content, } url := "http://" + client.GetClient().Server() + "/api/v1/pluginapi/file_deploy" r, err := httputils.Post(url, &httputils.Params{ @@ -159,17 +160,23 @@ func (sysc *SysctlConfig) Apply() (json.RawMessage, error) { // 将执行失败的文件、机器信息和原因添加到结果字符串中 for _, d := range data { if d.Error != "" { - result = result + Repofile.Content + "文件" + d.UUID + ":" + d.Error + "\n" + results = append(results, NodeResult{ + Type: global.Sysctl, + NodeUUID: d.UUID, + Detail: sysctlfile.Content, + Result: false, + Err: d.Error, + }) } } // TODO:部分成功如何修改数据库 - if result == "" { + if results == nil { //下发成功修改数据库应用版本 err = sysf.UpdateByuuid() return nil, err } - return nil, errors.New(result + "failed to apply SysctlConfig") + return results, errors.New("failed to apply SysctlConfig") } func (sysc *SysctlConfig) Collect() error { -- Gitee