diff --git a/src/service/host_manage.go b/src/service/host_manage.go index 836050a346c88746fa012656a6c5cb302b6079ac..1e7eb9ab3aef508da8c19feeea68d4f119550ea6 100644 --- a/src/service/host_manage.go +++ b/src/service/host_manage.go @@ -10,10 +10,8 @@ import ( "gitlab.wodcloud.com/smart-operation/so-operation-api/src/bean/vo/request" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/bean/vo/response" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/common/client" - "gitlab.wodcloud.com/smart-operation/so-operation-api/src/common/conf" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/common/tools" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/pkg/beagle/resp" - "go.uber.org/zap" "os/exec" "strings" "time" @@ -458,11 +456,7 @@ func (h *HostManageSvc) ListStateHostManage(req request.StateHostManageReq) (err fmt.Println("开始:") for _, v := range hostManageList { //修改状态 - connStatus, err1 := StatusDetection(v.Ip) - if err1 != nil { - session.Rollback() - return err1 - } + connStatus := StatusDetection(v.Ip) hostManageListConn := entity.HostManageList{ ConnStatus: connStatus, } @@ -553,10 +547,7 @@ func (h *HostManageSvc) SaveStateHostManage(hostManageList []request.HostManageL id = uuid.New().String() for k, v := range hostManageListCaches { //调用状态检测函数 - hostManageListCaches[k].ConnStatus, err = StatusDetection(v.Ip) - if err != nil { - return - } + hostManageListCaches[k].ConnStatus = StatusDetection(v.Ip) hostManageListCaches[k].Id = id } @@ -625,29 +616,17 @@ func (h *HostManageSvc) SaveIpExceptionList(req request.HostIpExceptionListReq) } // StatusDetection 状态检测 -func StatusDetection(ip string) (ipConn int, err error) { +func StatusDetection(ip string) (ipConn int) { var cmd *exec.Cmd cmd = exec.Command("ansible", fmt.Sprintf("%s", AnsibleIp+ip), "-m", "ping") - //执行cmd命令 - if err = cmd.Start(); err != nil { - err = resp.CmdExecError.WithError(err) - conf.Logger.Info("执行shell命令", zap.String("err:", err.Error())) - return - } - cmd.Wait() - if cmd.ProcessState.Success() { - fmt.Println("连通性测试成功!") - return 0, nil + output, err := cmd.Output() + if err != nil { + fmt.Println("ping:", string(output)) + fmt.Println("err:", err) + return 1 } - fmt.Println("连通性测试失败!") - return 1, nil - //output, err := cmd.Output() - //if err != nil { - // fmt.Println("ping:", string(output)) - // return 1 - //} - //fmt.Println("ping:", string(output)) - //return 0 + fmt.Println("ping:", string(output)) + return 0 } // ExportIpStr 结果导出 @@ -804,10 +783,7 @@ func CronStatusDetection() { // } //} for _, v := range hostManageList { - connStatus, err1 := StatusDetection(v.Ip) - if err1 != nil { - fmt.Println("CronStatusDetection err:", err1.Error()) - } + connStatus := StatusDetection(v.Ip) //修改状态 _, err = db.Table("host_manage_list").Where("is_delete = 0 AND id = ?", v.Id). Cols("conn_status").Update(&entity.HostManageList{