Merge branch 'multi-tenant' of http://192.168.2.166:3180/OMC/ems_backend into multi-tenant
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
# Makefile for rest agent project
|
# Makefile for rest agent project
|
||||||
|
|
||||||
PROJECT = OMC
|
PROJECT = OMC
|
||||||
VERSION = 2.2411.2
|
VERSION = 2.2412.1
|
||||||
PLATFORM = amd64
|
PLATFORM = amd64
|
||||||
ARMPLATFORM = aarch64
|
ARMPLATFORM = aarch64
|
||||||
BUILDDIR = ../../build
|
BUILDDIR = ../../build
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Makefile for OMC-OMC-crontask project
|
# Makefile for OMC-OMC-crontask project
|
||||||
|
|
||||||
PROJECT = OMC
|
PROJECT = OMC
|
||||||
VERSION = 2.2411.2
|
VERSION = 2.2412.1
|
||||||
LIBDIR = be.ems/lib
|
LIBDIR = be.ems/lib
|
||||||
BINNAME = crontask
|
BINNAME = crontask
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Makefile for rest agent project
|
# Makefile for rest agent project
|
||||||
|
|
||||||
PROJECT = OMC
|
PROJECT = OMC
|
||||||
VERSION = 2.2411.2
|
VERSION = 2.2412.1
|
||||||
RelDate = `date +%Y%m%d`
|
RelDate = `date +%Y%m%d`
|
||||||
Release = $(RelDate)
|
Release = $(RelDate)
|
||||||
RelVer = $(VERSION)-$(RelDate)
|
RelVer = $(VERSION)-$(RelDate)
|
||||||
|
|||||||
2
makefile
2
makefile
@@ -3,7 +3,7 @@
|
|||||||
ProjectL = omc
|
ProjectL = omc
|
||||||
ProjectU = OMC
|
ProjectU = OMC
|
||||||
PROJECT = $(ProjectL)
|
PROJECT = $(ProjectL)
|
||||||
VERSION = 2.2411.2
|
VERSION = 2.2412.1
|
||||||
RelDate = `date +%Y%m%d`
|
RelDate = `date +%Y%m%d`
|
||||||
Release = $(RelDate)
|
Release = $(RelDate)
|
||||||
RelVer = $(VERSION)-$(RelDate)
|
RelVer = $(VERSION)-$(RelDate)
|
||||||
|
|||||||
2
mkpkg.sh
2
mkpkg.sh
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
ProcList="restagent crontask sshsvc captrace data2html"
|
ProcList="restagent crontask sshsvc captrace data2html"
|
||||||
ProjectL=omc
|
ProjectL=omc
|
||||||
VERSION=2.2411.2
|
VERSION=2.2412.1
|
||||||
RelDate=`date +%Y%m%d`
|
RelDate=`date +%Y%m%d`
|
||||||
Release=${RelDate}
|
Release=${RelDate}
|
||||||
RelVer=${VERSION}-${RelDate}
|
RelVer=${VERSION}-${RelDate}
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ database:
|
|||||||
password: "1000omc@kp!"
|
password: "1000omc@kp!"
|
||||||
host: "127.0.0.1"
|
host: "127.0.0.1"
|
||||||
port: 33066
|
port: 33066
|
||||||
name: tenants_db
|
name: "tenants_db"
|
||||||
connParam: charset=utf8mb4&collation=utf8mb4_general_ci&parseTime=True&interpolateParams=True
|
connParam: charset=utf8mb4&collation=utf8mb4_general_ci&parseTime=True&interpolateParams=True
|
||||||
backup: d:/omc.git/be.ems/restagent/database
|
backup: d:/omc.git/be.ems/restagent/database
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Makefile for rest agent project
|
# Makefile for rest agent project
|
||||||
|
|
||||||
PROJECT = OMC
|
PROJECT = OMC
|
||||||
VERSION = 2.2411.2
|
VERSION = 2.2412.1
|
||||||
PLATFORM = amd64
|
PLATFORM = amd64
|
||||||
ARMPLATFORM = aarch64
|
ARMPLATFORM = aarch64
|
||||||
BUILDDIR = ../../build
|
BUILDDIR = ../../build
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# 项目信息
|
# 项目信息
|
||||||
framework:
|
framework:
|
||||||
name: "OMC"
|
name: "OMC"
|
||||||
version: "2.2411.2"
|
version: "2.2412.1"
|
||||||
|
|
||||||
# 应用服务配置
|
# 应用服务配置
|
||||||
server:
|
server:
|
||||||
|
|||||||
@@ -199,10 +199,9 @@ func (s *UDMSubController) Adds(c *gin.Context) {
|
|||||||
// 发送MML
|
// 发送MML
|
||||||
cmd := fmt.Sprintf("baa udmuser:start_imsi=%s,start_msisdn=%s,sub_num=%s,", body.IMSI, body.MSISDN, num)
|
cmd := fmt.Sprintf("baa udmuser:start_imsi=%s,start_msisdn=%s,sub_num=%s,", body.IMSI, body.MSISDN, num)
|
||||||
cmd += s.udmSubService.ParseCommandParams(body)
|
cmd += s.udmSubService.ParseCommandParams(body)
|
||||||
// static_ip指给4G UE分配的静态IP,没有可不带此字段名,批量添加IP会自动递增
|
// 去除msisdn参数,避免重复
|
||||||
if body.StaticIp != "" {
|
omemsisdn := fmt.Sprintf(",msisdn=%s,", body.MSISDN)
|
||||||
cmd += fmt.Sprintf(",static_ip=%s", body.StaticIp)
|
cmd = strings.Replace(cmd, omemsisdn, ",", 1)
|
||||||
}
|
|
||||||
data, err := telnet.ConvertToStr(telnetClient, cmd)
|
data, err := telnet.ConvertToStr(telnetClient, cmd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.JSON(200, result.ErrMsg(err.Error()))
|
c.JSON(200, result.ErrMsg(err.Error()))
|
||||||
|
|||||||
@@ -337,6 +337,7 @@ func (r *UDMSubUser) ParseCommandParams(item model.UDMSubUser) string {
|
|||||||
if item.ApnContext != "" {
|
if item.ApnContext != "" {
|
||||||
conditions = append(conditions, fmt.Sprintf("apn_context=%s", item.ApnContext))
|
conditions = append(conditions, fmt.Sprintf("apn_context=%s", item.ApnContext))
|
||||||
}
|
}
|
||||||
|
// static_ip指给4G UE分配的静态IP,没有可不带此字段名,批量添加IP会自动递增
|
||||||
if item.StaticIp != "" {
|
if item.StaticIp != "" {
|
||||||
conditions = append(conditions, fmt.Sprintf("static_ip=%s", item.StaticIp))
|
conditions = append(conditions, fmt.Sprintf("static_ip=%s", item.StaticIp))
|
||||||
}
|
}
|
||||||
@@ -348,8 +349,6 @@ func (r *UDMSubUser) ParseCommandParams(item model.UDMSubUser) string {
|
|||||||
if item.SmData != "" {
|
if item.SmData != "" {
|
||||||
conditions = append(conditions, fmt.Sprintf("sm_data=%s", item.SmData))
|
conditions = append(conditions, fmt.Sprintf("sm_data=%s", item.SmData))
|
||||||
}
|
}
|
||||||
if item.Cag != "" {
|
conditions = append(conditions, fmt.Sprintf("cag=%s", item.Cag))
|
||||||
conditions = append(conditions, fmt.Sprintf("cag=%s", item.Cag))
|
|
||||||
}
|
|
||||||
return strings.Join(conditions, ",")
|
return strings.Join(conditions, ",")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -120,6 +120,9 @@ func (r *NeConfigBackup) NeConfigLocalToNe(neInfo model.NeInfo, localFile string
|
|||||||
sshClient.RunCMD(fmt.Sprintf("sudo mkdir -p /usr/local/etc/iwf && sudo cp -rf %s/iwf/* /usr/local/etc/iwf && sudo chmod 755 /usr/local/etc/iwf/*.yaml", neDirTemp))
|
sshClient.RunCMD(fmt.Sprintf("sudo mkdir -p /usr/local/etc/iwf && sudo cp -rf %s/iwf/* /usr/local/etc/iwf && sudo chmod 755 /usr/local/etc/iwf/*.yaml", neDirTemp))
|
||||||
} else if neTypeLower == "omc" {
|
} else if neTypeLower == "omc" {
|
||||||
sshClient.RunCMD(fmt.Sprintf("sudo mkdir -p /usr/local/omc/etc && sudo cp -rf %s/* /usr/local/omc/etc && sudo chmod 755 /usr/local/omc/etc/*.{yaml,conf}", neDirTemp))
|
sshClient.RunCMD(fmt.Sprintf("sudo mkdir -p /usr/local/omc/etc && sudo cp -rf %s/* /usr/local/omc/etc && sudo chmod 755 /usr/local/omc/etc/*.{yaml,conf}", neDirTemp))
|
||||||
|
} else if neTypeLower == "smsc" {
|
||||||
|
chmodFile := "sudo chmod 755 /usr/local/etc/smsc/{*sys.conf,*conf.txt,conf/is41_operation.conf}"
|
||||||
|
sshClient.RunCMD(fmt.Sprintf("sudo mkdir -p /usr/local/etc/smsc/conf && sudo cp -rf %s/* /usr/local/etc/smsc && %s", neDirTemp, chmodFile))
|
||||||
} else {
|
} else {
|
||||||
neEtcPath := fmt.Sprintf("/usr/local/etc/%s", neTypeLower)
|
neEtcPath := fmt.Sprintf("/usr/local/etc/%s", neTypeLower)
|
||||||
chmodFile := fmt.Sprintf("sudo chmod 755 %s/*.yaml", neEtcPath)
|
chmodFile := fmt.Sprintf("sudo chmod 755 %s/*.yaml", neEtcPath)
|
||||||
@@ -175,6 +178,9 @@ func (r *NeConfigBackup) NeConfigNeToLocal(neInfo model.NeInfo) (string, error)
|
|||||||
sshClient.RunCMD(fmt.Sprintf("mkdir -p %s/iwf && sudo cp -rf /usr/local/etc/iwf/*.yaml %s/iwf", neDirTemp, neDirTemp))
|
sshClient.RunCMD(fmt.Sprintf("mkdir -p %s/iwf && sudo cp -rf /usr/local/etc/iwf/*.yaml %s/iwf", neDirTemp, neDirTemp))
|
||||||
} else if neTypeLower == "omc" {
|
} else if neTypeLower == "omc" {
|
||||||
sshClient.RunCMD(fmt.Sprintf("mkdir -p %s && sudo cp -rf /usr/local/omc/etc/*.{yaml,conf} %s", neDirTemp, neDirTemp))
|
sshClient.RunCMD(fmt.Sprintf("mkdir -p %s && sudo cp -rf /usr/local/omc/etc/*.{yaml,conf} %s", neDirTemp, neDirTemp))
|
||||||
|
} else if neTypeLower == "smsc" {
|
||||||
|
sshClient.RunCMD(fmt.Sprintf("mkdir -p %s && sudo cp -rf /usr/local/etc/smsc/{*.yaml,*.conf,*conf.txt} %s", neDirTemp, neDirTemp))
|
||||||
|
sshClient.RunCMD(fmt.Sprintf("sudo cp -rf /usr/local/etc/smsc/conf %s/conf", neDirTemp))
|
||||||
} else {
|
} else {
|
||||||
nePath := fmt.Sprintf("/usr/local/etc/%s/*.yaml", neTypeLower)
|
nePath := fmt.Sprintf("/usr/local/etc/%s/*.yaml", neTypeLower)
|
||||||
if neTypeLower == "mme" {
|
if neTypeLower == "mme" {
|
||||||
|
|||||||
@@ -52,22 +52,6 @@ func (r *NeInfo) SelectNeInfoByNeTypeAndNeID(neType, neID string) model.NeInfo {
|
|||||||
return neInfo
|
return neInfo
|
||||||
}
|
}
|
||||||
|
|
||||||
// SelectNeInfoByNeType 通过ne_typed查询网元信息
|
|
||||||
func (r *NeInfo) SelectNeInfoByNeType(neType string) []model.NeInfo {
|
|
||||||
var neInfos []model.NeInfo
|
|
||||||
key := fmt.Sprintf("%s%s", cachekey.NE_KEY, strings.ToUpper(neType))
|
|
||||||
jsonStr, _ := redis.Get("", key)
|
|
||||||
if len(jsonStr) > 7 {
|
|
||||||
err := json.Unmarshal([]byte(jsonStr), &neInfos)
|
|
||||||
if err != nil {
|
|
||||||
neInfos = []model.NeInfo{}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
neInfos = r.SelectList(model.NeInfo{NeType: neType}, false, false)
|
|
||||||
}
|
|
||||||
return neInfos
|
|
||||||
}
|
|
||||||
|
|
||||||
// RefreshByNeTypeAndNeID 通过ne_type和ne_id刷新redis中的缓存
|
// RefreshByNeTypeAndNeID 通过ne_type和ne_id刷新redis中的缓存
|
||||||
func (r *NeInfo) RefreshByNeTypeAndNeID(neType, neID string) model.NeInfo {
|
func (r *NeInfo) RefreshByNeTypeAndNeID(neType, neID string) model.NeInfo {
|
||||||
var neInfo model.NeInfo
|
var neInfo model.NeInfo
|
||||||
@@ -95,6 +79,28 @@ func (r *NeInfo) ClearNeCacheByNeType(neType string) bool {
|
|||||||
return delOk
|
return delOk
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SelectNeInfoByNeType 通过ne_type查询网元信息
|
||||||
|
func (r *NeInfo) SelectNeInfoByNeType(neType string) []model.NeInfo {
|
||||||
|
neInfo := make([]model.NeInfo, 0)
|
||||||
|
key := fmt.Sprintf("%s%s:*", cachekey.NE_KEY, strings.ToUpper(neType))
|
||||||
|
jsonStr, _ := redis.Get("", key)
|
||||||
|
if len(jsonStr) > 7 {
|
||||||
|
err := json.Unmarshal([]byte(jsonStr), &neInfo)
|
||||||
|
if err != nil {
|
||||||
|
return neInfo
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
neInfo = r.neInfoRepository.SelectList(model.NeInfo{NeType: neType})
|
||||||
|
for _, v := range neInfo {
|
||||||
|
key := fmt.Sprintf("%s%s:%s", cachekey.NE_KEY, strings.ToUpper(v.NeType), v.NeId)
|
||||||
|
redis.Del("", key)
|
||||||
|
values, _ := json.Marshal(v)
|
||||||
|
redis.Set("", key, string(values))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return neInfo
|
||||||
|
}
|
||||||
|
|
||||||
// SelectNeInfoByRmuid 通过rmUID查询网元信息
|
// SelectNeInfoByRmuid 通过rmUID查询网元信息
|
||||||
func (r *NeInfo) SelectNeInfoByRmuid(rmUid string) model.NeInfo {
|
func (r *NeInfo) SelectNeInfoByRmuid(rmUid string) model.NeInfo {
|
||||||
var neInfo model.NeInfo
|
var neInfo model.NeInfo
|
||||||
@@ -926,22 +932,25 @@ func (r *NeInfo) neConfPara5GDataConvert(content map[string]any) map[string]stri
|
|||||||
"DNN_IMS": basic["dnn_ims"].(string),
|
"DNN_IMS": basic["dnn_ims"].(string),
|
||||||
|
|
||||||
// external
|
// external
|
||||||
"N2_IP": external["amfn2_ip"].(string),
|
"N2_IP": external["amfn2_ip"].(string),
|
||||||
"UE_POOL": external["ue_pool"].(string),
|
"UE_POOL": external["ue_pool"].(string), // 轻量版才用配置
|
||||||
"UE_IP": ueIP,
|
"UE_IP": ueIP,
|
||||||
"UE_MASK": ueMask,
|
"UE_MASK": ueMask,
|
||||||
"UE_CIDR": ueCicr,
|
"UE_CIDR": ueCicr,
|
||||||
"UPF_TYPE": external["upf_type"].(string), // StandardUPF LightUPF
|
"UPF_TYPE": external["upf_type"].(string), // 类型 StandardUPF LightUPF
|
||||||
"N3_IP": n3IP,
|
"UPF_DRIVER_TYPE": external["upf_driver_type"].(string), // 网卡驱动 vmxnet3 host dpdk
|
||||||
"N3_MASK": n3Mask,
|
"N3_IP": n3IP,
|
||||||
"N3_GW": external["upfn3_gw"].(string),
|
"N3_MASK": n3Mask,
|
||||||
"N3_PCI": external["upfn3_pci"].(string),
|
"N3_GW": external["upfn3_gw"].(string),
|
||||||
"N3_MAC": external["upfn3_mac"].(string),
|
"N3_PCI": external["upfn3_pci"].(string),
|
||||||
"N6_IP": n6IP,
|
"N3_MAC": external["upfn3_mac"].(string),
|
||||||
"N6_MASK": n6Mask,
|
"N3_NIC_NAME": external["upfn3_card_name"].(string), // 网卡名 eth0
|
||||||
"N6_GW": external["upfn6_gw"].(string),
|
"N6_IP": n6IP,
|
||||||
"N6_PCI": external["upfn6_pci"].(string),
|
"N6_MASK": n6Mask,
|
||||||
"N6_MAC": external["upfn6_mac"].(string),
|
"N6_GW": external["upfn6_gw"].(string),
|
||||||
|
"N6_PCI": external["upfn6_pci"].(string),
|
||||||
|
"N6_MAC": external["upfn6_mac"].(string),
|
||||||
|
"N6_NIC_NAME": external["upfn6_card_name"].(string), // 网卡名 eth0
|
||||||
|
|
||||||
"SIP_IP": external["ims_sip_ip"].(string),
|
"SIP_IP": external["ims_sip_ip"].(string),
|
||||||
|
|
||||||
|
|||||||
@@ -239,7 +239,7 @@ func (r *NeVersion) operateCommand(action, neType string, neFilePaths []string)
|
|||||||
pkgCmdStr := fmt.Sprintf("sudo dpkg -i %s", strings.Join(neFilePaths, " "))
|
pkgCmdStr := fmt.Sprintf("sudo dpkg -i %s", strings.Join(neFilePaths, " "))
|
||||||
fileExt := filepath.Ext(strings.ToLower(neFilePaths[0]))
|
fileExt := filepath.Ext(strings.ToLower(neFilePaths[0]))
|
||||||
if strings.HasSuffix(fileExt, "rpm") {
|
if strings.HasSuffix(fileExt, "rpm") {
|
||||||
pkgCmdStr = fmt.Sprintf("sudo rpm -Uvh %s", strings.Join(neFilePaths, " "))
|
pkgCmdStr = fmt.Sprintf("sudo rpm -Uvh --reinstall %s", strings.Join(neFilePaths, " "))
|
||||||
}
|
}
|
||||||
|
|
||||||
// 组合命令输入
|
// 组合命令输入
|
||||||
@@ -257,7 +257,7 @@ func (r *NeVersion) operateCommand(action, neType string, neFilePaths []string)
|
|||||||
// 升级软件包
|
// 升级软件包
|
||||||
pkgCmdStr = fmt.Sprintf("sudo M_PARAM=upgrade dpkg -i %s", strings.Join(neFilePaths, " "))
|
pkgCmdStr = fmt.Sprintf("sudo M_PARAM=upgrade dpkg -i %s", strings.Join(neFilePaths, " "))
|
||||||
if strings.HasSuffix(fileExt, "rpm") {
|
if strings.HasSuffix(fileExt, "rpm") {
|
||||||
pkgCmdStr = fmt.Sprintf("sudo M_PARAM=upgrade rpm -Uvh %s", strings.Join(neFilePaths, " "))
|
pkgCmdStr = fmt.Sprintf("sudo M_PARAM=upgrade rpm -Uvh --reinstall %s", strings.Join(neFilePaths, " "))
|
||||||
}
|
}
|
||||||
omcStrArr = append(omcStrArr, pkgCmdStr)
|
omcStrArr = append(omcStrArr, pkgCmdStr)
|
||||||
}
|
}
|
||||||
@@ -428,22 +428,35 @@ func (r *NeVersion) operateCommand(action, neType string, neFilePaths []string)
|
|||||||
cmdStrArr = append(cmdStrArr, "sudo cp /usr/local/etc/upf/default/upfForwarder_1.yaml /usr/local/etc/upf/upfForwarder_1.yaml \n")
|
cmdStrArr = append(cmdStrArr, "sudo cp /usr/local/etc/upf/default/upfForwarder_1.yaml /usr/local/etc/upf/upfForwarder_1.yaml \n")
|
||||||
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i \"s/172.16.5.190/%s/g\" /usr/local/etc/upf/upfcfg.yaml \n", para5GData["UPF_IP"]))
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i \"s/172.16.5.190/%s/g\" /usr/local/etc/upf/upfcfg.yaml \n", para5GData["UPF_IP"]))
|
||||||
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i \"s/localhost/%s/g\" /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["UPF_IP"]))
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i \"s/localhost/%s/g\" /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["UPF_IP"]))
|
||||||
// UE
|
|
||||||
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N6\"/,/ueIpv4: 10.2.1.0/s/ueIpv4: 10.2.1.0/ueIpv4: %s/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["UE_IP"]))
|
|
||||||
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N6\"/,/ueIpv4Mask: 255.255.255.0/s/ueIpv4Mask: 255.255.255.0/ueIpv4Mask: %s/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["UE_MASK"]))
|
|
||||||
// N3
|
// N3
|
||||||
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i \"s/192.168.8.190/%s/g\" /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N3_IP"]))
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i \"s/192.168.8.190/%s/g\" /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N3_IP"]))
|
||||||
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N3\"/,/ipv4Mask: 255.255.240.0/s/ipv4Mask: 255.255.240.0/ipv4Mask: %s/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N3_MASK"]))
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N3\"/,/ipv4Mask: 255.255.240.0/s/ipv4Mask: 255.255.240.0/ipv4Mask: %s/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N3_MASK"]))
|
||||||
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N3\"/,/gatewayIpv4: 192.168.1.254/s/gatewayIpv4: 192.168.1.254/gatewayIpv4: %s/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N3_GW"]))
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N3\"/,/gatewayIpv4: 192.168.1.254/s/gatewayIpv4: 192.168.1.254/gatewayIpv4: %s/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N3_GW"]))
|
||||||
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N3\"/,/interfacePCI: \"0000:00:00.0\"/s/interfacePCI: \"0000:00:00.0\"/interfacePCI: \"%s\"/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N3_PCI"]))
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N3\"/,/interfacePCI: \"0000:00:00.0\"/s/interfacePCI: \"0000:00:00.0\"/interfacePCI: \"%s\"/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N3_PCI"]))
|
||||||
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N3\"/,/macAddr: \"00:00:00:00:00:00\"/s/macAddr: \"00:00:00:00:00:00\"/macAddr: \"%s\"/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N3_MAC"]))
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N3\"/,/macAddr: \"00:00:00:00:00:00\"/s/macAddr: \"00:00:00:00:00:00\"/macAddr: \"%s\"/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N3_MAC"]))
|
||||||
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: N3/,/ipv4Mask: 255.255.240.0/s/ipv4Mask: 255.255.240.0/ipv4Mask: %s/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N3_MASK"]))
|
||||||
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: N3/,/gatewayIpv4: 192.168.1.254/s/gatewayIpv4: 192.168.1.254/gatewayIpv4: %s/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N3_GW"]))
|
||||||
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: N3/,/interfacePCI: \"0000:00:00.0\"/s/interfacePCI: \"0000:00:00.0\"/interfacePCI: \"%s\"/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N3_PCI"]))
|
||||||
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: N3/,/macAddr: \"00:00:00:00:00:00\"/s/macAddr: \"00:00:00:00:00:00\"/macAddr: \"%s\"/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N3_MAC"]))
|
||||||
// 标准版 N6
|
// 标准版 N6
|
||||||
if para5GData["UPF_TYPE"] == "StandardUPF" {
|
if para5GData["UPF_TYPE"] == "StandardUPF" {
|
||||||
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i \"s/192.168.8.191/%s/g\" /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N6_IP"]))
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i \"s/192.168.8.191/%s/g\" /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N6_IP"]))
|
||||||
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N3\"/,/driverType: .*/s/driverType: .*/driverType: \"%s\"/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["UPF_DRIVER_TYPE"]))
|
||||||
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N3\"/,/systemNetworkCardName: .*/s/systemNetworkCardName: .*/systemNetworkCardName: \"%s\"/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N3_NIC_NAME"]))
|
||||||
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N6\"/,/driverType: .*/s/driverType: .*/driverType: \"%s\"/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["UPF_DRIVER_TYPE"]))
|
||||||
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N6\"/,/systemNetworkCardName: .*/s/systemNetworkCardName: .*/systemNetworkCardName: \"%s\"/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N6_NIC_NAME"]))
|
||||||
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N6\"/,/ipv4Mask: 255.255.240.0/s/ipv4Mask: 255.255.240.0/ipv4Mask: %s/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N6_MASK"]))
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N6\"/,/ipv4Mask: 255.255.240.0/s/ipv4Mask: 255.255.240.0/ipv4Mask: %s/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N6_MASK"]))
|
||||||
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N6\"/,/gatewayIpv4: 192.168.1.254/s/gatewayIpv4: 192.168.1.254/gatewayIpv4: %s/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N6_GW"]))
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N6\"/,/gatewayIpv4: 192.168.1.254/s/gatewayIpv4: 192.168.1.254/gatewayIpv4: %s/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N6_GW"]))
|
||||||
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N6\"/,/interfacePCI: \"0000:00:00.0\"/s/interfacePCI: \"0000:00:00.0\"/interfacePCI: \"%s\"/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N6_PCI"]))
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N6\"/,/interfacePCI: \"0000:00:00.0\"/s/interfacePCI: \"0000:00:00.0\"/interfacePCI: \"%s\"/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N6_PCI"]))
|
||||||
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N6\"/,/macAddr: \"00:00:00:00:00:00\"/s/macAddr: \"00:00:00:00:00:00\"/macAddr: \"%s\"/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N6_MAC"]))
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N6\"/,/macAddr: \"00:00:00:00:00:00\"/s/macAddr: \"00:00:00:00:00:00\"/macAddr: \"%s\"/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N6_MAC"]))
|
||||||
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: N3/,/driverType: .*/s/driverType: .*/driverType: \"%s\"/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["UPF_DRIVER_TYPE"]))
|
||||||
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: N3/,/systemNetworkCardName: .*/s/systemNetworkCardName: .*/systemNetworkCardName: \"%s\"/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N3_NIC_NAME"]))
|
||||||
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: N6/,/driverType: .*/s/driverType: .*/driverType: \"%s\"/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["UPF_DRIVER_TYPE"]))
|
||||||
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: N6/,/systemNetworkCardName: .*/s/systemNetworkCardName: .*/systemNetworkCardName: \"%s\"/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N6_NIC_NAME"]))
|
||||||
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: N6/,/ipv4Mask: 255.255.240.0/s/ipv4Mask: 255.255.240.0/ipv4Mask: %s/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N6_MASK"]))
|
||||||
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: N6/,/gatewayIpv4: 192.168.1.254/s/gatewayIpv4: 192.168.1.254/gatewayIpv4: %s/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N6_GW"]))
|
||||||
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: N6/,/interfacePCI: \"0000:00:00.0\"/s/interfacePCI: \"0000:00:00.0\"/interfacePCI: \"%s\"/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N6_PCI"]))
|
||||||
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: N6/,/macAddr: \"00:00:00:00:00:00\"/s/macAddr: \"00:00:00:00:00:00\"/macAddr: \"%s\"/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["N6_MAC"]))
|
||||||
// 路由
|
// 路由
|
||||||
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo ip route add '%s/%s' via '%s' \n", para5GData["UE_IP"], para5GData["UE_CIDR"], para5GData["N6_IP"]))
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo ip route add '%s/%s' via '%s' \n", para5GData["UE_IP"], para5GData["UE_CIDR"], para5GData["N6_IP"]))
|
||||||
}
|
}
|
||||||
@@ -451,7 +464,12 @@ func (r *NeVersion) operateCommand(action, neType string, neFilePaths []string)
|
|||||||
if para5GData["UPF_TYPE"] == "LightUPF" {
|
if para5GData["UPF_TYPE"] == "LightUPF" {
|
||||||
cmdStrArr = append(cmdStrArr, "sudo sed -i \"s/192.168.8.191/0.0.0.0/g\" /usr/local/etc/upf/upfForwarder_1.yaml \n")
|
cmdStrArr = append(cmdStrArr, "sudo sed -i \"s/192.168.8.191/0.0.0.0/g\" /usr/local/etc/upf/upfForwarder_1.yaml \n")
|
||||||
cmdStrArr = append(cmdStrArr, "sudo sed -i \"s/type: upfd/type: tun/g\" /usr/local/etc/upf/upfForwarder_1.yaml \n")
|
cmdStrArr = append(cmdStrArr, "sudo sed -i \"s/type: upfd/type: tun/g\" /usr/local/etc/upf/upfForwarder_1.yaml \n")
|
||||||
cmdStrArr = append(cmdStrArr, "sudo sed -i 's/driverType: vmxnet3/driverType: \"\"/g' /usr/local/etc/upf/upfForwarder_1.yaml \n")
|
cmdStrArr = append(cmdStrArr, "sudo sed -i 's/driverType: .*/driverType: \"\"/g' /usr/local/etc/upf/upfForwarder_1.yaml \n")
|
||||||
|
// UE
|
||||||
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: N6/,/ueIpv4: 10.2.1.0/s/ueIpv4: 10.2.1.0/ueIpv4: %s/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["UE_IP"]))
|
||||||
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: N6/,/ueIpv4Mask: 255.255.255.0/s/ueIpv4Mask: 255.255.255.0/ueIpv4Mask: %s/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["UE_MASK"]))
|
||||||
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N6\"/,/ueIpv4: 10.2.1.0/s/ueIpv4: 10.2.1.0/ueIpv4: %s/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["UE_IP"]))
|
||||||
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i '/- interfaceType: \"N6\"/,/ueIpv4Mask: 255.255.255.0/s/ueIpv4Mask: 255.255.255.0/ueIpv4Mask: %s/' /usr/local/etc/upf/upfForwarder_1.yaml \n", para5GData["UE_MASK"]))
|
||||||
}
|
}
|
||||||
cmdStrArr = append(cmdStrArr, fmt.Sprintf("grep -qxF '%s upf' /etc/hosts || echo '%s upf' | sudo tee -a /etc/hosts \n", para5GData["UPF_IP"], para5GData["UPF_IP"]))
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("grep -qxF '%s upf' /etc/hosts || echo '%s upf' | sudo tee -a /etc/hosts \n", para5GData["UPF_IP"], para5GData["UPF_IP"]))
|
||||||
cmdStrArr = append(cmdStrArr, fmt.Sprintf("grep -qxF '%s upfn3' /etc/hosts || echo '%s upfn3' | sudo tee -a /etc/hosts \n", para5GData["N3_IP"], para5GData["N3_IP"]))
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("grep -qxF '%s upfn3' /etc/hosts || echo '%s upfn3' | sudo tee -a /etc/hosts \n", para5GData["N3_IP"], para5GData["N3_IP"]))
|
||||||
@@ -539,14 +557,14 @@ func (r *NeVersion) operateCommand(action, neType string, neFilePaths []string)
|
|||||||
if strings.Contains(pkgCmdStr, "adb") {
|
if strings.Contains(pkgCmdStr, "adb") {
|
||||||
para5GData := NewNeInfo.Para5GData
|
para5GData := NewNeInfo.Para5GData
|
||||||
cmdStrArr = append(cmdStrArr, "sudo cp /usr/local/etc/adb/default/adb.conf /usr/local/etc/adb/adb.conf \n")
|
cmdStrArr = append(cmdStrArr, "sudo cp /usr/local/etc/adb/default/adb.conf /usr/local/etc/adb/adb.conf \n")
|
||||||
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i \"s/bind 127.0.0.1/bind 127.0.0.1 %s/g\" /usr/local/etc/adb/adb.conf \n", para5GData["DB_IP"]))
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i \"s/bind 127.0.0.1/bind %s/g\" /usr/local/etc/adb/adb.conf \n", para5GData["DB_IP"]))
|
||||||
cmdStrArr = append(cmdStrArr, "sudo service adb restart \n")
|
cmdStrArr = append(cmdStrArr, "sudo service adb restart \n")
|
||||||
}
|
}
|
||||||
// kvdb
|
// kvdb
|
||||||
if strings.Contains(pkgCmdStr, "kvdb") {
|
if strings.Contains(pkgCmdStr, "kvdb") {
|
||||||
para5GData := NewNeInfo.Para5GData
|
para5GData := NewNeInfo.Para5GData
|
||||||
cmdStrArr = append(cmdStrArr, "sudo cp /usr/local/etc/kvdb/default/kvdb.conf /usr/local/etc/kvdb/kvdb.conf \n")
|
cmdStrArr = append(cmdStrArr, "sudo cp /usr/local/etc/kvdb/default/kvdb.conf /usr/local/etc/kvdb/kvdb.conf \n")
|
||||||
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i \"s/bind 127.0.0.1/bind 127.0.0.1 %s/g\" /usr/local/etc/kvdb/kvdb.conf \n", para5GData["DB_IP"]))
|
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo sed -i \"s/bind 127.0.0.1/bind %s/g\" /usr/local/etc/kvdb/kvdb.conf \n", para5GData["DB_IP"]))
|
||||||
cmdStrArr = append(cmdStrArr, "sudo service kvdb restart \n")
|
cmdStrArr = append(cmdStrArr, "sudo service kvdb restart \n")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -657,6 +675,7 @@ func (r *NeVersion) operateDome(action string, neVersion model.NeVersion) error
|
|||||||
if neInfo.NeId != neVersion.NeId {
|
if neInfo.NeId != neVersion.NeId {
|
||||||
return fmt.Errorf("error found neinfo")
|
return fmt.Errorf("error found neinfo")
|
||||||
}
|
}
|
||||||
|
|
||||||
// ========= 网元OAM配置文件 start ==========
|
// ========= 网元OAM配置文件 start ==========
|
||||||
if err := NewNeInfo.NeConfOAMWirteSync(neInfo, nil, true); err != nil {
|
if err := NewNeInfo.NeConfOAMWirteSync(neInfo, nil, true); err != nil {
|
||||||
return fmt.Errorf("error wirte OAM file info")
|
return fmt.Errorf("error wirte OAM file info")
|
||||||
|
|||||||
@@ -45,11 +45,12 @@ func (s *SysLogOperateController) List(c *gin.Context) {
|
|||||||
|
|
||||||
// multi-tenancy, only filter user setting tenant_id
|
// multi-tenancy, only filter user setting tenant_id
|
||||||
userName := ctx.LoginUserToUserName(c)
|
userName := ctx.LoginUserToUserName(c)
|
||||||
|
dataScopeSQL := ""
|
||||||
if s.IsTenancyUser(userName) {
|
if s.IsTenancyUser(userName) {
|
||||||
querys["operName"] = userName
|
querys["operName"] = userName
|
||||||
|
} else {
|
||||||
|
dataScopeSQL = ctx.LoginUserToDataScopeSQL(c, "d", "u")
|
||||||
}
|
}
|
||||||
// data := s.SysLogOperateService.SelectSysLogOperatePage(querys)
|
|
||||||
dataScopeSQL := "" // ctx.LoginUserToDataScopeSQL(c, "d", "u")
|
|
||||||
data := s.SysLogOperateService.SelectSysLogOperatePage(querys, dataScopeSQL)
|
data := s.SysLogOperateService.SelectSysLogOperatePage(querys, dataScopeSQL)
|
||||||
rows := data["rows"].([]model.SysLogOperate)
|
rows := data["rows"].([]model.SysLogOperate)
|
||||||
|
|
||||||
@@ -113,7 +114,15 @@ func (s *SysLogOperateController) Export(c *gin.Context) {
|
|||||||
querys := ctx.BodyJSONMap(c)
|
querys := ctx.BodyJSONMap(c)
|
||||||
querys["pageNum"] = 1
|
querys["pageNum"] = 1
|
||||||
querys["pageSize"] = 10000
|
querys["pageSize"] = 10000
|
||||||
dataScopeSQL := ctx.LoginUserToDataScopeSQL(c, "d", "u")
|
|
||||||
|
// multi-tenancy, only filter user setting tenant_id
|
||||||
|
userName := ctx.LoginUserToUserName(c)
|
||||||
|
dataScopeSQL := ""
|
||||||
|
if s.IsTenancyUser(userName) {
|
||||||
|
querys["operName"] = userName
|
||||||
|
} else {
|
||||||
|
dataScopeSQL = ctx.LoginUserToDataScopeSQL(c, "d", "u")
|
||||||
|
}
|
||||||
data := s.SysLogOperateService.SelectSysLogOperatePage(querys, dataScopeSQL)
|
data := s.SysLogOperateService.SelectSysLogOperatePage(querys, dataScopeSQL)
|
||||||
if parse.Number(data["total"]) == 0 {
|
if parse.Number(data["total"]) == 0 {
|
||||||
// 导出数据记录为空
|
// 导出数据记录为空
|
||||||
@@ -221,8 +230,5 @@ func (s *SysLogOperateController) Export(c *gin.Context) {
|
|||||||
func (s *SysLogOperateController) IsTenancyUser(userName string) bool {
|
func (s *SysLogOperateController) IsTenancyUser(userName string) bool {
|
||||||
var tenantID []int64
|
var tenantID []int64
|
||||||
dborm.DefaultDB().Table("sys_user").Where("user_name=?", userName).Cols("tenant_id").Find(&tenantID)
|
dborm.DefaultDB().Table("sys_user").Where("user_name=?", userName).Cols("tenant_id").Find(&tenantID)
|
||||||
if len(tenantID) > 0 {
|
return (len(tenantID) > 0)
|
||||||
return true
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Makefile for OMC-OMC-crontask project
|
# Makefile for OMC-OMC-crontask project
|
||||||
|
|
||||||
PROJECT = OMC
|
PROJECT = OMC
|
||||||
VERSION = 2.2411.2
|
VERSION = 2.2412.1
|
||||||
LIBDIR = be.ems/lib
|
LIBDIR = be.ems/lib
|
||||||
BINNAME = sshsvc
|
BINNAME = sshsvc
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user