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
51189fea
Commit
51189fea
authored
Jul 12, 2023
by
陈子龙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
主机管理状态检测 fix
parent
3ac7fbe8
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
35 deletions
+11
-35
src/service/host_manage.go
src/service/host_manage.go
+11
-35
No files found.
src/service/host_manage.go
View file @
51189fea
...
...
@@ -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
{
...
...
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