diff --git a/cmd/server/app/agentmanager/agent.go b/cmd/server/app/agentmanager/agent.go index 9a58227f10e6f14bd81b45919aeb416be864cb9e..8504c1a0da147233e8e5570c18dac25e294b1404 100644 --- a/cmd/server/app/agentmanager/agent.go +++ b/cmd/server/app/agentmanager/agent.go @@ -18,6 +18,7 @@ import ( configservice "gitee.com/openeuler/PilotGo/cmd/server/app/service/configfile" machineservice "gitee.com/openeuler/PilotGo/cmd/server/app/service/machine" "gitee.com/openeuler/PilotGo/cmd/server/app/service/plugin" + "gitee.com/openeuler/PilotGo/pkg/utils" pnet "gitee.com/openeuler/PilotGo/pkg/utils/message/net" "gitee.com/openeuler/PilotGo/pkg/utils/message/protocol" commonSDK "gitee.com/openeuler/PilotGo/sdk/common" @@ -237,7 +238,7 @@ func (a *Agent) HeartBeat() (string, error) { // 开启定时任务 func (a *Agent) CronStart(id int, spec string, command string) (string, string, error) { responseMessage, err := a.SendMessageWrapper(protocol.CronStart, strconv.Itoa(id)+","+spec+","+command, "failed to run script on agent", -1, nil, "") - return responseMessage.(protocol.Message).Data.(string), responseMessage.Error, err + return responseMessage.(protocol.Message).Data.(string), responseMessage.(protocol.Message).Error, err } // 暂停定时任务 diff --git a/cmd/server/app/agentmanager/file.go b/cmd/server/app/agentmanager/file.go index a1a9ec94f8e399448755a9cec0b366829957de45..dac361aa950785987eda57a9c051ee4b026d2f3d 100644 --- a/cmd/server/app/agentmanager/file.go +++ b/cmd/server/app/agentmanager/file.go @@ -10,6 +10,7 @@ package agentmanager import ( "encoding/base64" "errors" + "gitee.com/openeuler/PilotGo/pkg/utils/message/protocol" "gitee.com/openeuler/PilotGo/pkg/utils/os/common" sdkcommon "gitee.com/openeuler/PilotGo/sdk/common" @@ -19,10 +20,10 @@ import ( // 查看配置文件内容 func (a *Agent) ReadFilePattern(filepath, pattern string) ([]sdkcommon.File, string, error) { responseMessage, err := a.SendMessageWrapper(protocol.ReadFilePattern, sdkcommon.File{Path: filepath, Name: pattern}, "failed to run script on agent", -1, nil, "") - data, ok := responseMessage.Data.([]interface{}) + data, ok := responseMessage.(protocol.Message).Data.([]interface{}) if !ok { - logger.Error("failed to get msg data on agent: %s", responseMessage.Error) - return nil, responseMessage.Error, errors.New("failed to get msg data") + logger.Error("failed to get msg data on agent: %s", responseMessage.(protocol.Message).Error) + return nil, responseMessage.(protocol.Message).Error, errors.New("failed to get msg data") } var files []sdkcommon.File @@ -38,7 +39,7 @@ func (a *Agent) ReadFilePattern(filepath, pattern string) ([]sdkcommon.File, str logger.Error("failed to get file from data") } } - return files, responseMessage.Error, err + return files, responseMessage.(protocol.Message).Error, err } // 更新配置文件 @@ -50,7 +51,7 @@ func (a *Agent) UpdateFile(filepath string, filename string, text string) (*comm } info := &common.UpdateFile{} responseMessage, err := a.SendMessageWrapper(protocol.EditFile, updatefile, "failed to run script on agent", -1, info, "UpdateFile") - return info, responseMessage.Error, err + return info, responseMessage.(protocol.Message).Error, err } // 存储配置文件 @@ -62,5 +63,5 @@ func (a *Agent) SaveFile(filepath string, filename string, text string) (*common } info := &common.UpdateFile{} responseMessage, err := a.SendMessageWrapper(protocol.SaveFile, updatefile, "failed to run script on agent", -1, info, "UpdateFile") - return info, responseMessage.Error, err + return info, responseMessage.(protocol.Message).Error, err } diff --git a/cmd/server/app/agentmanager/firewall.go b/cmd/server/app/agentmanager/firewall.go index 70bd6114f4306c2c0c8610616487882811a6c89d..04782729a9202494c77e9d02a2e5d2308f8c2bf2 100644 --- a/cmd/server/app/agentmanager/firewall.go +++ b/cmd/server/app/agentmanager/firewall.go @@ -16,66 +16,66 @@ import ( func (a *Agent) FirewalldConfig() (*common.FireWalldConfig, string, error) { info := &common.FireWalldConfig{} responseMessage, err := a.SendMessageWrapper(protocol.FirewalldConfig, struct{}{}, "failed to run script on agent", -1, info, "FirewalldConfig") - return info, responseMessage.Error, err + return info, responseMessage.(protocol.Message).Error, err } // 更改防火墙默认区域 func (a *Agent) FirewalldSetDefaultZone(zone string) (string, string, error) { responseMessage, err := a.SendMessageWrapper(protocol.FirewalldDefaultZone, zone, "failed to run script on agent", -1, nil, "") - return responseMessage.Data.(string), responseMessage.Error, err + return responseMessage.(protocol.Message).Data.(string), responseMessage.(protocol.Message).Error, err } // 查看防火墙指定区域配置 func (a *Agent) FirewalldZoneConfig(zone string) (*common.FirewalldCMDList, string, error) { info := &common.FirewalldCMDList{} responseMessage, err := a.SendMessageWrapper(protocol.FirewalldZoneConfig, zone, "failed to run script on agent", -1, info, "FirewalldConfig") - return info, responseMessage.Error, err + return info, responseMessage.(protocol.Message).Error, err } // 添加防火墙服务 func (a *Agent) FirewalldServiceAdd(zone, service string) (string, error) { responseMessage, err := a.SendMessageWrapper(protocol.FirewalldServiceAdd, zone+","+service, "failed to run script on agent", -1, nil, "") - return responseMessage.Error, err + return responseMessage.(protocol.Message).Error, err } // 移除防火墙服务 func (a *Agent) FirewalldServiceRemove(zone, service string) (string, error) { responseMessage, err := a.SendMessageWrapper(protocol.FirewalldServiceRemove, zone+","+service, "failed to run script on agent", -1, nil, "") - return responseMessage.Error, err + return responseMessage.(protocol.Message).Error, err } // 防火墙添加允许来源地址 func (a *Agent) FirewalldSourceAdd(zone, source string) (string, error) { responseMessage, err := a.SendMessageWrapper(protocol.FirewalldSourceAdd, zone+","+source, "failed to run script on agent", -1, nil, "") - return responseMessage.Error, err + return responseMessage.(protocol.Message).Error, err } // 防火墙移除允许来源地址 func (a *Agent) FirewalldSourceRemove(zone, source string) (string, error) { responseMessage, err := a.SendMessageWrapper(protocol.FirewalldSourceRemove, zone+","+source, "failed to run script on agent", -1, nil, "") - return responseMessage.Error, err + return responseMessage.(protocol.Message).Error, err } // 重启防火墙 func (a *Agent) FirewalldRestart() (bool, string, error) { responseMessage, err := a.SendMessageWrapper(protocol.FirewalldRestart, struct{}{}, "failed to run script on agent", -1, nil, "") - return responseMessage.Data.(bool), responseMessage.Error, err + return responseMessage.(protocol.Message).Data.(bool), responseMessage.(protocol.Message).Error, err } // 关闭防火墙 func (a *Agent) FirewalldStop() (bool, string, error) { responseMessage, err := a.SendMessageWrapper(protocol.FirewalldStop, struct{}{}, "failed to run script on agent", -1, nil, "") - return responseMessage.Data.(bool), responseMessage.Error, err + return responseMessage.(protocol.Message).Data.(bool), responseMessage.(protocol.Message).Error, err } // 防火墙指定区域添加端口 func (a *Agent) FirewalldZonePortAdd(zone, port, proto string) (string, string, error) { responseMessage, err := a.SendMessageWrapper(protocol.FirewalldZonePortAdd, zone+","+port+","+proto, "failed to run script on agent", -1, nil, "") - return responseMessage.Data.(string), responseMessage.Error, err + return responseMessage.(protocol.Message).Data.(string), responseMessage.(protocol.Message).Error, err } // 防火墙指定区域删除端口 func (a *Agent) FirewalldZonePortDel(zone, port, proto string) (string, string, error) { responseMessage, err := a.SendMessageWrapper(protocol.FirewalldZonePortDel, zone+","+port+","+proto, "failed to run script on agent", -1, nil, "") - return responseMessage.Data.(string), responseMessage.Error, err + return responseMessage.(protocol.Message).Data.(string), responseMessage.(protocol.Message).Error, err } diff --git a/cmd/server/app/agentmanager/host.go b/cmd/server/app/agentmanager/host.go index 3e3ef56e5e57e6a70abe2b56ebdf26e407160051..9b8d9d7bede47ff1f8b7ba2fd11d080a56c42a55 100644 --- a/cmd/server/app/agentmanager/host.go +++ b/cmd/server/app/agentmanager/host.go @@ -64,7 +64,7 @@ func (a *Agent) GetSysctlInfo() (*map[string]string, error) { // 查看某个内核参数的值 func (a *Agent) SysctlView(args string) (string, error) { responseMessage, _ := a.SendMessageWrapper(protocol.SysctlView, args, "failed to run script on agent", -1, nil, "") - return responseMessage.Data.(string), nil + return responseMessage.(protocol.Message).Data.(string), nil } // 获取磁盘的使用情况 @@ -88,17 +88,17 @@ func (a *Agent) DiskInfo() (*common.DiskIOInfo, error) { */ func (a *Agent) DiskMount(sourceDisk, destPath string) (string, error) { responseMessage, err := a.SendMessageWrapper(protocol.DiskMount, sourceDisk+","+destPath, "failed to run script on agent", -1, nil, "") - return responseMessage.Data.(string), err + return responseMessage.(protocol.Message).Data.(string), err } func (a *Agent) DiskUMount(diskPath string) (string, error) { responseMessage, err := a.SendMessageWrapper(protocol.DiskUMount, diskPath, "failed to run script on agent", -1, nil, "") - return responseMessage.Data.(string), err + return responseMessage.(protocol.Message).Data.(string), err } func (a *Agent) DiskFormat(fileType, diskPath string) (string, error) { responseMessage, err := a.SendMessageWrapper(protocol.DiskFormat, fileType+","+diskPath, "failed to run script on agent", -1, nil, "") - return responseMessage.Data.(string), err + return responseMessage.(protocol.Message).Data.(string), err } // 获取当前TCP网络连接信息 @@ -146,5 +146,5 @@ func (a *Agent) GetRepoSource() ([]*common.RepoSource, error) { // 远程获取agent端的时间信息 func (a *Agent) GetTimeInfo() (string, error) { responseMessage, err := a.SendMessageWrapper(protocol.AgentTime, struct{}{}, "failed to run script on agent", -1, nil, "") - return responseMessage.Data.(string), err + return responseMessage.(protocol.Message).Data.(string), err } diff --git a/cmd/server/app/agentmanager/network.go b/cmd/server/app/agentmanager/network.go index 42a01358e5c6ba1173975ebc29a13aabe002e674..c7f1f59d5b724f9d978fc4d32772a5a38bec1e12 100644 --- a/cmd/server/app/agentmanager/network.go +++ b/cmd/server/app/agentmanager/network.go @@ -16,24 +16,24 @@ import ( func (a *Agent) GetNetWorkConnectInfo() (*map[string]string, string, error) { info := &map[string]string{} responseMessage, err := a.SendMessageWrapper(protocol.GetNetWorkConnectInfo, struct{}{}, "failed to run script on agent", -1, info, "GetNetWorkConnectInfo") - return info, responseMessage.Error, err + return info, responseMessage.(protocol.Message).Error, err } // 获取agent的基础网络配置 func (a *Agent) GetNetWorkConnInfo() (*common.NetworkConfig, string, error) { info := &common.NetworkConfig{} responseMessage, err := a.SendMessageWrapper(protocol.GetNetWorkConnInfo, struct{}{}, "failed to run script on agent", -1, info, "GetNetWorkConnInfo") - return info, responseMessage.Error, err + return info, responseMessage.(protocol.Message).Error, err } // 获取网卡名字 func (a *Agent) GetNICName() (string, string, error) { responseMessage, err := a.SendMessageWrapper(protocol.GetNICName, struct{}{}, "failed to run script on agent", -1, nil, "") - return responseMessage.Data.(string), responseMessage.Error, err + return responseMessage.(protocol.Message).Data.(string), responseMessage.(protocol.Message).Error, err } // 重启网卡配置 func (a *Agent) RestartNetWork(NIC string) (string, error) { responseMessage, err := a.SendMessageWrapper(protocol.RestartNetWork, NIC, "failed to run script on agent", -1, nil, "") - return responseMessage.Error, err + return responseMessage.(protocol.Message).Error, err } diff --git a/cmd/server/app/agentmanager/rpm.go b/cmd/server/app/agentmanager/rpm.go index 5f2843c308f7fe132f6c6ee455130b7c25f14c21..9f0d1781b520677d17fe5f1deb3e685db7e52aa7 100644 --- a/cmd/server/app/agentmanager/rpm.go +++ b/cmd/server/app/agentmanager/rpm.go @@ -12,14 +12,13 @@ import ( "gitee.com/openeuler/PilotGo/pkg/utils/message/protocol" "gitee.com/openeuler/PilotGo/pkg/utils/os/common" - "gitee.com/openeuler/PilotGo/sdk/logger" ) // 获取全部安装的rpm包列表 func (a *Agent) AllRpm() ([]string, error) { responseMessage, err := a.SendMessageWrapper(protocol.AllRpm, struct{}{}, "failed to run script on agent", -1, nil, "") - if v, ok := responseMessage.Data.([]interface{}); ok { + if v, ok := responseMessage.(protocol.Message).Data.([]interface{}); ok { result := make([]string, len(v)) for i, item := range v { if str, ok := item.(string); ok { @@ -34,31 +33,25 @@ func (a *Agent) AllRpm() ([]string, error) { // 获取源软件包名以及源 func (a *Agent) RpmSource(rpm string) (*common.RpmSrc, error) { info := &common.RpmSrc{} - responseMessage, err := a.SendMessageWrapper(protocol.RpmSource, rpm, "failed to run script on agent", -1, info, "RpmSource") - - err = responseMessage.BindData(info) - if err != nil { - logger.Error("bind RpmSource data error:%s", err) - return nil, err - } - return info, nil + _, err := a.SendMessageWrapper(protocol.RpmSource, rpm, "failed to run script on agent", -1, info, "RpmSource") + return info, err } // 获取软件包信息 func (a *Agent) RpmInfo(rpm string) (*common.RpmInfo, string, error) { info := &common.RpmInfo{} responseMessage, err := a.SendMessageWrapper(protocol.RpmInfo, rpm, "failed to run script on agent", -1, info, "RpmInfo") - return info, responseMessage.Error, err + return info, responseMessage.(protocol.Message).Error, err } // 安装软件包 func (a *Agent) InstallRpm(rpm string) (string, string, error) { responseMessage, err := a.SendMessageWrapper(protocol.InstallRpm, rpm, "failed to run script on agent", -1, nil, "") - return responseMessage.Data.(string), responseMessage.Error, err + return responseMessage.(protocol.Message).Data.(string), responseMessage.(protocol.Message).Error, err } // 卸载软件包 func (a *Agent) RemoveRpm(rpm string) (string, string, error) { responseMessage, err := a.SendMessageWrapper(protocol.RemoveRpm, rpm, "failed to run script on agent", -1, nil, "") - return responseMessage.Data.(string), responseMessage.Error, err + return responseMessage.(protocol.Message).Data.(string), responseMessage.(protocol.Message).Error, err } diff --git a/cmd/server/app/agentmanager/service.go b/cmd/server/app/agentmanager/service.go index 7c11e666a9e1b9625be0fcf6ea7e8ef5ee9e302a..3da5cf127e14c4e3a0fcfa824c4e8a84a5f92c69 100644 --- a/cmd/server/app/agentmanager/service.go +++ b/cmd/server/app/agentmanager/service.go @@ -22,24 +22,24 @@ func (a *Agent) ServiceList() ([]*common.ListService, error) { // 查看某个服务 func (a *Agent) GetService(service string) (*common.ServiceInfo, error) { serviceInfo := &common.ServiceInfo{} - _, err := a.SendMessageWrapper(protocol.GetService, struct{}{}, "failed to run script on agent", -1, info, "GetServiceInfo") + _, err := a.SendMessageWrapper(protocol.GetService, struct{}{}, "failed to run script on agent", -1, serviceInfo, "GetServiceInfo") return serviceInfo, err } // 重启服务 func (a *Agent) ServiceRestart(service string) (string, string, error) { responseMessage, err := a.SendMessageWrapper(protocol.ServiceRestart, service, "failed to run script on agent", -1, nil, "") - return responseMessage.Data.(string), responseMessage.Error, err + return responseMessage.(protocol.Message).Data.(string), responseMessage.(protocol.Message).Error, err } // 关闭服务 func (a *Agent) ServiceStop(service string) (string, string, error) { responseMessage, err := a.SendMessageWrapper(protocol.ServiceStop, service, "failed to run script on agent", -1, nil, "") - return responseMessage.Data.(string), responseMessage.Error, err + return responseMessage.(protocol.Message).Data.(string), responseMessage.(protocol.Message).Error, err } // 启动服务 func (a *Agent) ServiceStart(service string) (string, string, error) { responseMessage, err := a.SendMessageWrapper(protocol.ServiceStart, service, "failed to run script on agent", -1, nil, "") - return responseMessage.Data.(string), responseMessage.Error, err + return responseMessage.(protocol.Message).Data.(string), responseMessage.(protocol.Message).Error, err } diff --git a/cmd/server/app/agentmanager/user.go b/cmd/server/app/agentmanager/user.go index 3e39f036bab2f2f520784039b7c853355e8c1e9d..3e6061ff3eaae569ecac84f8fa768b1d5e4d3746 100644 --- a/cmd/server/app/agentmanager/user.go +++ b/cmd/server/app/agentmanager/user.go @@ -14,7 +14,8 @@ import ( // 获取当前用户信息 func (a *Agent) CurrentUser() (*common.CurrentUser, error) { - _, err := a.SendMessageWrapper(protocol.CurrentUser, struct{}{}, "failed to run script on agent", -1, nil, "") + info := &common.CurrentUser{} + _, err := a.SendMessageWrapper(protocol.CurrentUser, struct{}{}, "failed to run script on agent", -1, info, "") return info, err } @@ -22,17 +23,17 @@ func (a *Agent) CurrentUser() (*common.CurrentUser, error) { func (a *Agent) AllUser() ([]*common.AllUserInfo, error) { info := &[]*common.AllUserInfo{} _, err := a.SendMessageWrapper(protocol.AllUser, struct{}{}, "failed to run script on agent", -1, info, "AllUser") - return *info, nil + return *info, err } // 创建新的用户,并新建家目录 func (a *Agent) AddLinuxUser(username, password string) (string, error) { responseMessage, err := a.SendMessageWrapper(protocol.AddLinuxUser, username+","+password, "failed to run script on agent", -1, nil, "") - return responseMessage.Data.(string), err + return responseMessage.(protocol.Message).Data.(string), err } // 删除用户 func (a *Agent) DelUser(username string) (string, string, error) { responseMessage, err := a.SendMessageWrapper(protocol.DelUser, username, "failed to run script on agent", -1, nil, "") - return responseMessage.Data.(string), responseMessage.Error, err + return responseMessage.(protocol.Message).Data.(string), responseMessage.(protocol.Message).Error, err }