Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
so-operation-api
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
smart-operation
so-operation-api
Commits
294c864c
Commit
294c864c
authored
Jul 12, 2023
by
陈子龙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
主机管理状态检测 fix
parent
94f416d0
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
47 additions
and
43 deletions
+47
-43
src/service/host_manage.go
src/service/host_manage.go
+47
-43
No files found.
src/service/host_manage.go
View file @
294c864c
...
...
@@ -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
())
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment