From a485d4eb9ac6df904dada2bcf96ea96cbbfe3c39 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Wed, 11 Jun 2025 19:26:42 +0800 Subject: [PATCH 1/4] =?UTF-8?q?fix:=20=E7=BD=91=E5=85=83=E5=A4=87=E4=BB=BD?= =?UTF-8?q?ims=E7=9B=AE=E5=BD=95=E4=B8=AD=E6=96=87=E4=BB=B6=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E6=8B=BC=E5=86=99=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/network_element/service/ne_config_backup.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/network_element/service/ne_config_backup.go b/src/modules/network_element/service/ne_config_backup.go index cdd623e0..ed545c0b 100644 --- a/src/modules/network_element/service/ne_config_backup.go +++ b/src/modules/network_element/service/ne_config_backup.go @@ -103,7 +103,7 @@ func (s NeConfigBackup) FileLocalToNe(neInfo model.NeInfo, localFile string) err // 配置复制到网元内 if neTypeLower == "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 { 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" { // ims目录 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 { sshClient.RunCMD(fmt.Sprintf("sudo cp -rf /usr/local/etc/ims/%s %s/ims", v, neDirTemp)) } From 72757e4ea84c5d0bef60e160300256392bcb48a1 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Wed, 11 Jun 2025 19:28:19 +0800 Subject: [PATCH 2/4] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dupf5002=20telnet?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E8=BF=94=E5=9B=9E=E5=BB=B6=E8=BF=9F=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E5=91=BD=E4=BB=A4=E8=A1=8C=E4=B8=BA=E4=B8=8D=E4=B8=80?= =?UTF-8?q?=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/framework/telnet/telnet.go | 4 ++-- src/modules/trace/service/tcpdump.go | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/framework/telnet/telnet.go b/src/framework/telnet/telnet.go index 8b2c2ec4..c72a46bd 100644 --- a/src/framework/telnet/telnet.go +++ b/src/framework/telnet/telnet.go @@ -27,9 +27,8 @@ func (c *ConnTelnet) NewClient() (*ConnTelnet, error) { proto := "tcp" if strings.Contains(c.Addr, ":") { proto = "tcp6" - c.Addr = fmt.Sprintf("[%s]", c.Addr) } - addr := fmt.Sprintf("%s:%d", c.Addr, c.Port) + addr := net.JoinHostPort(c.Addr, fmt.Sprint(c.Port)) // 默认等待5s if c.DialTimeOut == 0 { @@ -76,6 +75,7 @@ func (c *ConnTelnet) RunCMD(cmd string) (string, error) { if _, err := conn.Write([]byte(cmd)); err != nil { return "", err } + time.Sleep(100 * time.Millisecond) } var buf bytes.Buffer diff --git a/src/modules/trace/service/tcpdump.go b/src/modules/trace/service/tcpdump.go index baa772b8..28d3a942 100644 --- a/src/modules/trace/service/tcpdump.go +++ b/src/modules/trace/service/tcpdump.go @@ -230,6 +230,7 @@ func (s *TCPdump) UPFTrace(neType, neId, cmdStr string) (string, error) { return "", err } defer telnetClient.Close() + telnetClient.RunCMD("") // 再次排空信息 // 命令拼装 fileName := fmt.Sprintf("%s_%s_part_%s.pcap ", neInfo.NeType, neInfo.NeId, time.Now().Format("20060102150405")) @@ -250,11 +251,11 @@ func (s *TCPdump) UPFTrace(neType, neId, cmdStr string) (string, error) { // 结果截取 arr := strings.Split(output, "\r\n") - if len(arr) == 2 { + if len(arr) < 2 { return "", fmt.Errorf("trace pacp run failed") } - if len(arr) > 3 { - resMsg := arr[2] + if len(arr) == 3 { + resMsg := arr[1] // pcap trace: unknown input `f file UPF_001_part_2024-08-19...' // pcap trace: dispatch trace already enabled... // pcap trace: dispatch trace already disabled... From 57c70b2e213b4a9d2924c404c7d9bf4f1c6cb08f Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Wed, 11 Jun 2025 19:31:34 +0800 Subject: [PATCH 3/4] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E5=91=BD=E4=BB=A4=E8=BE=93=E5=87=BA=E6=96=87=E4=BB=B6=E9=87=8D?= =?UTF-8?q?=E5=AE=9A=E5=90=91=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/network_element/service/ne_version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/network_element/service/ne_version.go b/src/modules/network_element/service/ne_version.go index ea7340d7..561a5f8c 100644 --- a/src/modules/network_element/service/ne_version.go +++ b/src/modules/network_element/service/ne_version.go @@ -267,7 +267,7 @@ func (r NeVersion) operateCommand(action, neType string, neFilePaths []string) ( // 2s后执行omc相关命令 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)) return okFlagStr, cmdStrArr, nil } else if neType == "IMS" { From a946b9db606decf9ab92b7ca27d0cc11753a629c Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Wed, 11 Jun 2025 20:14:25 +0800 Subject: [PATCH 4/4] =?UTF-8?q?fix:=20dump=E6=8A=93=E5=8C=85=E6=96=87?= =?UTF-8?q?=E4=BB=B6log=E6=96=87=E4=BB=B6=E5=86=99=E5=85=A5=E6=9D=83?= =?UTF-8?q?=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/trace/service/tcpdump.go | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modules/trace/service/tcpdump.go b/src/modules/trace/service/tcpdump.go index 28d3a942..37a05dc7 100644 --- a/src/modules/trace/service/tcpdump.go +++ b/src/modules/trace/service/tcpdump.go @@ -64,6 +64,7 @@ func (s *TCPdump) DumpStart(neType, neId, cmdStr string) (string, error) { if strings.Contains(cmdStr, "-G") { 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) // 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 $!