Commit 51189fea authored by 陈子龙's avatar 陈子龙

主机管理状态检测 fix

parent 3ac7fbe8
......@@ -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{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment