From c2c1f951858bcfaf30091900ea0eb698311aeb8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=AD=90=E9=BE=99?= Date: Mon, 3 Jul 2023 13:50:59 +0800 Subject: [PATCH] hosts fix --- src/bean/vo/request/task_manage.go | 3 ++- src/controller/task_manage.go | 4 ++++ src/service/host_manage.go | 18 +++++++++++++----- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/bean/vo/request/task_manage.go b/src/bean/vo/request/task_manage.go index b030dde..09726ed 100644 --- a/src/bean/vo/request/task_manage.go +++ b/src/bean/vo/request/task_manage.go @@ -36,5 +36,6 @@ type ExecScriptReq struct { HostGroupId int `form:"host_group_id" vd:"$>0;msg:'请输入主机分组id'"` //主机分组id Type int `form:"type"` //脚本额外变量类型1yaml 2json Value string `form:"value"` //脚本额外变量值 - Script string `form:"script"` //执行脚本 + ExecType int `form:"exec_type" binding:"oneof=1 2"` //执行类型:1文本执行 2文件执行 + Script string `form:"script"` //执行脚本/文件名 } diff --git a/src/controller/task_manage.go b/src/controller/task_manage.go index 3903602..01b13e5 100644 --- a/src/controller/task_manage.go +++ b/src/controller/task_manage.go @@ -123,6 +123,10 @@ func ExecScript(c *gin.Context) { SendJsonResponse(c, resp.InvalidParam.WithError(err), nil) return } + + if req.Type == 2 { + //从minio读取yaml文件 + } taskManageSvc := service.TaskManageSvc{} data, err := taskManageSvc.ExecScript(req) if err != nil { diff --git a/src/service/host_manage.go b/src/service/host_manage.go index 8370674..046512f 100644 --- a/src/service/host_manage.go +++ b/src/service/host_manage.go @@ -416,12 +416,24 @@ func (h *HostManageSvc) SaveStateHostManage(hostManageList []request.HostManageL } //往hosts文件中写入主机组ip - f, err := os.Open("/etc/ansible/hosts") + //f, err := os.Open("/etc/ansible/hosts") + //if err != nil { + // err = resp.FileExecError.WithError(err) + // return + //} + //defer f.Close() + + f, err := os.OpenFile("/etc/ansible/hosts", os.O_APPEND|os.O_CREATE|os.O_RDWR, 0777) if err != nil { err = resp.FileExecError.WithError(err) return } defer f.Close() + //_, err = f.Write([]byte(fmt.Sprintf("%s%d\n", AnsibleGroup, req.Id))) + //if err != nil { + // err = resp.FileExecError.WithError(err) + // return + //} for _, v := range hostManageList { _, err = f.Write([]byte(fmt.Sprintf("%s ansible_ssh_host=%s ansible_ssh_port=%s ansible_ssh_user=\"%s\" ansible_ssh_pass=\"%s\"\n", v.Ip, v.Ip, v.Port, v.UserName, v.Password))) if err != nil { @@ -432,10 +444,6 @@ func (h *HostManageSvc) SaveStateHostManage(hostManageList []request.HostManageL //状态检测 id = uuid.New().String() - if err != nil { - err = resp.FAIL.WithError(err) - return - } for k, v := range HostManageListCaches { //调用状态检测函数 HostManageListCaches[k].ConnStatus = StatusDetection(v.Ip) -- 2.26.0