From 77df4ca58a19a19418a511ddbebebc9de5619c75 Mon Sep 17 00:00:00 2001 From: wubijie Date: Thu, 7 Nov 2024 11:38:12 +0800 Subject: [PATCH] add GetSysctlFilesByNode func --- configmanage/server/service/sysctl.go | 31 ++++++++++++++++++++++ configmanage/server/service/sysctl_test.go | 13 +++++++++ 2 files changed, 44 insertions(+) diff --git a/configmanage/server/service/sysctl.go b/configmanage/server/service/sysctl.go index f1e1a760..842ad040 100644 --- a/configmanage/server/service/sysctl.go +++ b/configmanage/server/service/sysctl.go @@ -58,6 +58,18 @@ func (sysc *SysctlConfig) toSysctlFile() SysctlFile { } } +func toSysctlConfig(sysf *SysctlFile) SysctlConfig { + return SysctlConfig{ + UUID: sysf.UUID, + ConfigInfoUUID: sysf.ConfigInfoUUID, + Path: sysf.Path, + Name: sysf.Name, + Content: sysf.Content, + Version: sysf.Version, + IsActive: sysf.IsActive, + } +} + func (sysc *SysctlConfig) Record() error { //检查info的uuid是否存在 ci, err := GetInfoByUUID(sysc.ConfigInfoUUID) @@ -172,3 +184,22 @@ func (sysc *SysctlConfig) Collect() error { func GetSysctlFilesByCinfigUUID(uuid string) ([]SysctlFile, error) { return internal.GetSysctlFilesByCinfigUUID(uuid) } + +// 查看某台机器某种类型的的历史配置信息 +func GetSysctlFilesByNode(nodeid string) ([]SysctlConfig, error) { + // 查找本台机器所属的配置uuid + config_nodes, err := internal.GetConfigNodesByNode(nodeid) + if err != nil { + return nil, err + } + var syscs []SysctlConfig + for _, v := range config_nodes { + sysf, err := internal.GetSysctlFileByInfoUUID(v.ConfigInfoUUID, nil) + if err != nil { + return nil, err + } + sysc := toSysctlConfig(&sysf) + syscs = append(syscs, sysc) + } + return syscs, nil +} diff --git a/configmanage/server/service/sysctl_test.go b/configmanage/server/service/sysctl_test.go index c840114d..4c599f92 100644 --- a/configmanage/server/service/sysctl_test.go +++ b/configmanage/server/service/sysctl_test.go @@ -68,3 +68,16 @@ func TestGetSysctlFilesByCinfigUUID(t *testing.T) { } fmt.Println(len(files)) } + +func TestGetSysctlFilesByNode(t *testing.T) { + // 设置测试数据 + nodeid := "55555555-5f8e-42df-b2d0-49bf55cfeb56" + + // 调用被测试的函数 + syscs, err := GetSysctlFilesByNode(nodeid) + if err != nil { + fmt.Printf("GetSysctlFilesByNode error: %s\n", err) + os.Exit(-1) + } + fmt.Println(len(syscs)) +} -- Gitee