diff --git a/src/service/host_manage.go b/src/service/host_manage.go index 9f4ae1d6e48846d6d10c7539d22046dc15942135..cdcc8869ed664ce0cbd7ba6327472ff255b43923 100644 --- a/src/service/host_manage.go +++ b/src/service/host_manage.go @@ -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())