feat: 新增ping 网元端版本信息检查接口

This commit is contained in:
TsMask
2024-10-16 17:23:15 +08:00
parent 548090bfbe
commit 4897299ba3
4 changed files with 41 additions and 11 deletions

View File

@@ -23,15 +23,8 @@ type IPerf struct{}
// Version 查询版本信息
func (s *IPerf) Version(meType, neId string) (string, error) {
// 网元主机的SSH客户端
sshClient, err := neService.NewNeInfo.NeRunSSHClient(meType, neId)
if err != nil {
return "", err
}
defer sshClient.Close()
// 检查是否安装iperf3
output, err := sshClient.RunCMD("iperf3 --version")
output, err := neService.NewNeInfo.NeRunSSHCmd(meType, neId, "iperf3 --version")
if err != nil {
return "", fmt.Errorf("iperf3 not installed")
}

View File

@@ -10,6 +10,7 @@ import (
"be.ems/src/framework/logger"
"be.ems/src/framework/utils/ssh"
"be.ems/src/framework/vo/result"
neService "be.ems/src/modules/network_element/service"
"be.ems/src/modules/tool/model"
wsModel "be.ems/src/modules/ws/model"
probing "github.com/prometheus-community/pro-bing"
@@ -134,8 +135,18 @@ func (s *Ping) StatisticsOn(client *wsModel.WSClient, reqMsg wsModel.WSRequest)
}
}
// RunNE 接收ping终端交互业务处理
func (s *Ping) RunNE(client *wsModel.WSClient, reqMsg wsModel.WSRequest) {
// Version 查询版本信息
func (s *Ping) Version(meType, neId string) (string, error) {
// 检查是否安装ping
output, err := neService.NewNeInfo.NeRunSSHCmd(meType, neId, "ping -V")
if err != nil {
return "", fmt.Errorf("ping not installed")
}
return strings.TrimSpace(output), err
}
// Run 接收ping终端交互业务处理
func (s *Ping) Run(client *wsModel.WSClient, reqMsg wsModel.WSRequest) {
// 必传requestId确认消息
if reqMsg.RequestID == "" {
msg := "message requestId is required"