Commit 294c864c authored by 陈子龙's avatar 陈子龙

主机管理状态检测 fix

parent 94f416d0
......@@ -412,53 +412,56 @@ func (h *HostManageSvc) ListStateHostManage(req request.StateHostManageReq) (err
}
// 读取hosts中的主机组
hosts, err := tools.HostsToJson()
if err != nil {
err = resp.MarshalError.WithError(err)
session.Rollback()
return
}
//hosts, err := tools.HostsToJson()
//if err != nil {
// err = resp.MarshalError.WithError(err)
// session.Rollback()
// return
//}
//
//if _, ok := hosts["["+AnsibleGroup+fmt.Sprintf("%d", req.Id)+"]"]; !ok {
// // 不存在
// hosts["["+AnsibleGroup+fmt.Sprintf("%d", req.Id)+"]"] = nil
//}
////新增主机分组列表
//for _, v := range hostManageList {
// hostsIp := ""
// if v.VoucherType == 0 {
// hostsIp = fmt.Sprintf("%s ansible_ssh_host=%s ansible_ssh_port=%s ansible_ssh_user=\"%s\" ansible_ssh_pass=\"%s\" ansible_host_key_checking=false",
// AnsibleIp+fmt.Sprintf("%d", v.Id), v.Ip, v.Port, v.UserName, v.Password)
// } else {
// hostsIp = fmt.Sprintf("%s ansible_ssh_host=%s ansible_ssh_port=%s ansible_ssh_user=\"%s\" ansible_ssh_private_key_file=/root/.ssh/id_rsa ansible_host_key_checking=false",
// AnsibleIp+fmt.Sprintf("%d", v.Id), v.Ip, v.Port, v.UserName)
// }
//
// flag := 0
// for _, v1 := range hosts["["+AnsibleGroup+fmt.Sprintf("%d", req.Id)+"]"] {
// if v1 == hostsIp {
// flag = 1
// }
// }
// if flag == 0 {
// hosts["["+AnsibleGroup+fmt.Sprintf("%d", req.Id)+"]"] = append(hosts["["+AnsibleGroup+fmt.Sprintf("%d", req.Id)+"]"], hostsIp)
// }
//}
//
////写入hosts
//err = tools.MapToSaveHosts(hosts)
//if err != nil {
// err = resp.MarshalError.WithError(err)
// session.Rollback()
// return
//}
if _, ok := hosts["["+AnsibleGroup+fmt.Sprintf("%d", req.Id)+"]"]; !ok {
// 不存在
hosts["["+AnsibleGroup+fmt.Sprintf("%d", req.Id)+"]"] = nil
}
//新增主机分组列表
for _, v := range hostManageList {
hostsIp := ""
if v.VoucherType == 0 {
hostsIp = fmt.Sprintf("%s ansible_ssh_host=%s ansible_ssh_port=%s ansible_ssh_user=\"%s\" ansible_ssh_pass=\"%s\" ansible_host_key_checking=false",
AnsibleIp+fmt.Sprintf("%d", v.Id), v.Ip, v.Port, v.UserName, v.Password)
} else {
hostsIp = fmt.Sprintf("%s ansible_ssh_host=%s ansible_ssh_port=%s ansible_ssh_user=\"%s\" ansible_ssh_private_key_file=/root/.ssh/id_rsa ansible_host_key_checking=false",
AnsibleIp+fmt.Sprintf("%d", v.Id), v.Ip, v.Port, v.UserName)
}
flag := 0
for _, v1 := range hosts["["+AnsibleGroup+fmt.Sprintf("%d", req.Id)+"]"] {
if v1 == hostsIp {
flag = 1
}
}
if flag == 0 {
hosts["["+AnsibleGroup+fmt.Sprintf("%d", req.Id)+"]"] = append(hosts["["+AnsibleGroup+fmt.Sprintf("%d", req.Id)+"]"], hostsIp)
//修改状态
connStatus := StatusDetection(v.Ip)
hostManageListConn := entity.HostManageList{
ConnStatus: connStatus,
}
}
//写入hosts
err = tools.MapToSaveHosts(hosts)
if err != nil {
err = resp.MarshalError.WithError(err)
session.Rollback()
return
}
for _, v := range hostManageList {
//修改状态
_, err = session.Table("host_manage_list").Where("is_delete = 0 AND id = ?", v.Id).
Cols("conn_status").Update(&entity.HostManageList{
ConnStatus: StatusDetection(v.Ip),
})
Cols("conn_status").Update(&hostManageListConn)
if err != nil {
err = resp.DbUpdateError.WithError(err)
session.Rollback()
......@@ -777,10 +780,11 @@ func CronStatusDetection() {
// }
//}
for _, v := range hostManageList {
connStatus := StatusDetection(v.Ip)
//修改状态
_, err = db.Table("host_manage_list").Where("is_delete = 0 AND id = ?", v.Id).
Cols("conn_status").Update(&entity.HostManageList{
ConnStatus: StatusDetection(v.Ip),
ConnStatus: connStatus,
})
if err != nil {
fmt.Println("CronStatusDetection err:", err.Error())
......
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