Merge branch 'main-v2' into lichang
This commit is contained in:
@@ -27,7 +27,6 @@ func (c *ConnTelnet) NewClient() (*ConnTelnet, error) {
|
|||||||
proto := "tcp"
|
proto := "tcp"
|
||||||
if strings.Contains(c.Addr, ":") {
|
if strings.Contains(c.Addr, ":") {
|
||||||
proto = "tcp6"
|
proto = "tcp6"
|
||||||
c.Addr = fmt.Sprintf("[%s]", c.Addr)
|
|
||||||
}
|
}
|
||||||
addr := net.JoinHostPort(c.Addr, fmt.Sprint(c.Port))
|
addr := net.JoinHostPort(c.Addr, fmt.Sprint(c.Port))
|
||||||
|
|
||||||
@@ -76,6 +75,7 @@ func (c *ConnTelnet) RunCMD(cmd string) (string, error) {
|
|||||||
if _, err := conn.Write([]byte(cmd)); err != nil {
|
if _, err := conn.Write([]byte(cmd)); err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
time.Sleep(100 * time.Millisecond)
|
||||||
}
|
}
|
||||||
|
|
||||||
var buf bytes.Buffer
|
var buf bytes.Buffer
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ func (s NeConfigBackup) FileLocalToNe(neInfo model.NeInfo, localFile string) err
|
|||||||
// 配置复制到网元内
|
// 配置复制到网元内
|
||||||
if neTypeLower == "ims" {
|
if neTypeLower == "ims" {
|
||||||
// ims目录
|
// ims目录
|
||||||
imsDirArr := [...]string{"bgcf", "icscf", "ismc", "mmtel", "mrf", "oam_manages.yaml", "pcscf", "scscf", "vars.cfg", "zlog"}
|
imsDirArr := [...]string{"bgcf", "icscf", "ismc", "mmtel", "mrf", "oam_manager.yaml", "pcscf", "scscf", "vars.cfg", "zlog"}
|
||||||
for _, v := range imsDirArr {
|
for _, v := range imsDirArr {
|
||||||
sshClient.RunCMD(fmt.Sprintf("sudo mkdir -p /usr/local/etc/ims && sudo cp -rf %s/ims/%s /usr/local/etc/ims/%v && sudo chmod 755 -R /usr/local/etc/ims/%s", neDirTemp, v, v, v))
|
sshClient.RunCMD(fmt.Sprintf("sudo mkdir -p /usr/local/etc/ims && sudo cp -rf %s/ims/%s /usr/local/etc/ims/%v && sudo chmod 755 -R /usr/local/etc/ims/%s", neDirTemp, v, v, v))
|
||||||
}
|
}
|
||||||
@@ -159,7 +159,7 @@ func (s NeConfigBackup) FileNeToLocal(neInfo model.NeInfo) (string, error) {
|
|||||||
if neTypeLower == "ims" {
|
if neTypeLower == "ims" {
|
||||||
// ims目录
|
// ims目录
|
||||||
sshClient.RunCMD(fmt.Sprintf("mkdir -p %s/ims", neDirTemp))
|
sshClient.RunCMD(fmt.Sprintf("mkdir -p %s/ims", neDirTemp))
|
||||||
imsDirArr := [...]string{"bgcf", "icscf", "ismc", "mmtel", "mrf", "oam_manages.yaml", "pcscf", "scscf", "vars.cfg", "zlog"}
|
imsDirArr := [...]string{"bgcf", "icscf", "ismc", "mmtel", "mrf", "oam_manager.yaml", "pcscf", "scscf", "vars.cfg", "zlog"}
|
||||||
for _, v := range imsDirArr {
|
for _, v := range imsDirArr {
|
||||||
sshClient.RunCMD(fmt.Sprintf("sudo cp -rf /usr/local/etc/ims/%s %s/ims", v, neDirTemp))
|
sshClient.RunCMD(fmt.Sprintf("sudo cp -rf /usr/local/etc/ims/%s %s/ims", v, neDirTemp))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -266,7 +266,7 @@ func (r NeVersion) operateCommand(action, neType string, neFilePaths []string) (
|
|||||||
|
|
||||||
// 2s后执行omc相关命令
|
// 2s后执行omc相关命令
|
||||||
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo rm -f /tmp/operate_run_%s_omc.out \n", action))
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo rm -f /tmp/operate_run_%s_omc.out \n", action))
|
||||||
cmdStrArr = append(cmdStrArr, fmt.Sprintf("nohup sh -c \"sleep 2s && %s\" > /tmp/operate_run_%s_omc.out2>&1 & \n", strings.Join(omcStrArr, " && "), action))
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("nohup sh -c \"sleep 2s && %s\" > /tmp/operate_run_%s_omc.out 2>&1 & \n", strings.Join(omcStrArr, " && "), action))
|
||||||
cmdStrArr = append(cmdStrArr, fmt.Sprintf("echo '%s' \n", okFlagStr))
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("echo '%s' \n", okFlagStr))
|
||||||
return okFlagStr, cmdStrArr, nil
|
return okFlagStr, cmdStrArr, nil
|
||||||
} else if neType == "IMS" {
|
} else if neType == "IMS" {
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ func (s *TCPdump) DumpStart(coreUid, neUid, cmdStr string) (string, error) {
|
|||||||
if strings.Contains(cmdStr, "-G") {
|
if strings.Contains(cmdStr, "-G") {
|
||||||
filePath = fmt.Sprintf("%s/part_%%Y%%m%%d%%H%%M%%S.pcap ", neDirTemp)
|
filePath = fmt.Sprintf("%s/part_%%Y%%m%%d%%H%%M%%S.pcap ", neDirTemp)
|
||||||
}
|
}
|
||||||
|
sshClient.RunCMD(fmt.Sprintf("sudo touch %s && sudo chmod o+w %s", logPath, logPath))
|
||||||
sendCmd := fmt.Sprintf("sudo timeout 60m sudo tcpdump -i any %s -w %s > %s 2>&1 & echo $!", cmdStr, filePath, logPath)
|
sendCmd := fmt.Sprintf("sudo timeout 60m sudo tcpdump -i any %s -w %s > %s 2>&1 & echo $!", cmdStr, filePath, logPath)
|
||||||
// sudo timeout 60m sudo tcpdump -i any -n -s 0 -v -G 60 -W 6 -w /usr/local/omc/tcpdump/udm/001/20240817104241/part_%Y-%m-%d_%H:%M:%S.pcap > /usr/local/omc/tcpdump/udm/001/20240817104241/tcpdump.log 2>&1 & echo $!
|
// sudo timeout 60m sudo tcpdump -i any -n -s 0 -v -G 60 -W 6 -w /usr/local/omc/tcpdump/udm/001/20240817104241/part_%Y-%m-%d_%H:%M:%S.pcap > /usr/local/omc/tcpdump/udm/001/20240817104241/tcpdump.log 2>&1 & echo $!
|
||||||
// sudo timeout 60m sudo tcpdump -i any -n -s 0 -v -w /usr/local/omc/tcpdump/udm/001/20240817105440/part_2024-08-17_10:54:40.pcap > /usr/local/omc/tcpdump/udm/001/20240817105440/tcpdump.log 2>&1 & echo $!
|
// sudo timeout 60m sudo tcpdump -i any -n -s 0 -v -w /usr/local/omc/tcpdump/udm/001/20240817105440/part_2024-08-17_10:54:40.pcap > /usr/local/omc/tcpdump/udm/001/20240817105440/tcpdump.log 2>&1 & echo $!
|
||||||
@@ -230,6 +231,7 @@ func (s *TCPdump) UPFTrace(coreUid, neUid, cmdStr string) (string, error) {
|
|||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
defer telnetClient.Close()
|
defer telnetClient.Close()
|
||||||
|
telnetClient.RunCMD("") // 再次排空信息
|
||||||
|
|
||||||
// 命令拼装
|
// 命令拼装
|
||||||
fileName := fmt.Sprintf("%s_%s_part_%s.pcap ", neInfo.NeType, neInfo.NeUID, time.Now().Format("20060102150405"))
|
fileName := fmt.Sprintf("%s_%s_part_%s.pcap ", neInfo.NeType, neInfo.NeUID, time.Now().Format("20060102150405"))
|
||||||
@@ -250,11 +252,11 @@ func (s *TCPdump) UPFTrace(coreUid, neUid, cmdStr string) (string, error) {
|
|||||||
|
|
||||||
// 结果截取
|
// 结果截取
|
||||||
arr := strings.Split(output, "\r\n")
|
arr := strings.Split(output, "\r\n")
|
||||||
if len(arr) == 2 {
|
if len(arr) < 2 {
|
||||||
return "", fmt.Errorf("trace pacp run failed")
|
return "", fmt.Errorf("trace pacp run failed")
|
||||||
}
|
}
|
||||||
if len(arr) > 3 {
|
if len(arr) == 3 {
|
||||||
resMsg := arr[2]
|
resMsg := arr[1]
|
||||||
// pcap trace: unknown input `f file UPF_001_part_2024-08-19...'
|
// pcap trace: unknown input `f file UPF_001_part_2024-08-19...'
|
||||||
// pcap trace: dispatch trace already enabled...
|
// pcap trace: dispatch trace already enabled...
|
||||||
// pcap trace: dispatch trace already disabled...
|
// pcap trace: dispatch trace already disabled...
|
||||||
|
|||||||
Reference in New Issue
Block a user