ref: 多core表结构和代码调整修改
This commit is contained in:
@@ -55,8 +55,8 @@ func (r NeVersion) checkNeVersion(arr *[]model.NeVersion) {
|
||||
for i := range *arr {
|
||||
item := (*arr)[i]
|
||||
// 查询网元获取IP
|
||||
neInfo := r.neInfoService.FindByNeTypeAndNeID(item.NeType, item.NeId)
|
||||
if neInfo.NeId != item.NeId || neInfo.IP == "" {
|
||||
neInfo := r.neInfoService.FindByCoreUidAndNeUid(item.CoreUID, item.NeUID)
|
||||
if neInfo.CoreUID != item.CoreUID || neInfo.NeUID != item.NeUID {
|
||||
continue
|
||||
}
|
||||
result, err := neFetchlink.NeState(neInfo)
|
||||
@@ -72,9 +72,8 @@ func (r NeVersion) checkNeVersion(arr *[]model.NeVersion) {
|
||||
item.Path = "-"
|
||||
item.Version = ver
|
||||
}
|
||||
if item.NeType != neInfo.NeType || item.NeId != neInfo.NeId {
|
||||
if item.NeType != neInfo.NeType {
|
||||
item.NeType = neInfo.NeType
|
||||
item.NeId = neInfo.NeId
|
||||
}
|
||||
r.Update(item)
|
||||
(*arr)[i] = item
|
||||
@@ -119,11 +118,11 @@ func (r NeVersion) DeleteByIds(ids []int64) (int64, error) {
|
||||
return 0, fmt.Errorf("delete fail")
|
||||
}
|
||||
|
||||
// FindByNeTypeAndNeID 通过网元类型和网元ID查询
|
||||
func (r NeVersion) FindByNeTypeAndNeID(neType, neId string) model.NeVersion {
|
||||
// FindByCoreUidAndNeUid 通过核心网和网元唯一标识查询
|
||||
func (r NeVersion) FindByCoreUidAndNeUid(coreUid, neUid string) model.NeVersion {
|
||||
neVersions := r.neVersionRepository.Select(model.NeVersion{
|
||||
NeType: neType,
|
||||
NeId: neId,
|
||||
CoreUID: coreUid,
|
||||
NeUID: neUid,
|
||||
})
|
||||
if len(neVersions) > 0 {
|
||||
return neVersions[0]
|
||||
@@ -136,7 +135,7 @@ func (r NeVersion) FindByNeTypeAndNeID(neType, neId string) model.NeVersion {
|
||||
// action 安装行为:install upgrade rollback
|
||||
func (r NeVersion) Operate(action string, neVersion model.NeVersion, preinput map[string]string) (string, error) {
|
||||
// 网元主机的SSH客户端
|
||||
sshClient, err := r.neInfoService.NeRunSSHClient(neVersion.NeType, neVersion.NeId)
|
||||
sshClient, err := r.neInfoService.NeRunSSHClient(neVersion.CoreUID, neVersion.NeUID)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
@@ -162,7 +161,7 @@ func (r NeVersion) Operate(action string, neVersion model.NeVersion, preinput ma
|
||||
if para5GMap == nil || err != nil {
|
||||
return "", fmt.Errorf("error read para5G file info")
|
||||
}
|
||||
if err := r.neInfoService.NeConfPara5GWirte(para5GMap, []string{fmt.Sprintf("%s@%s", neVersion.NeType, neVersion.NeId)}); err != nil {
|
||||
if err := r.neInfoService.NeConfPara5GWirte(para5GMap, []string{fmt.Sprintf("%s@%s", neVersion.CoreUID, neVersion.NeUID)}); err != nil {
|
||||
return "", fmt.Errorf("error wirte para5G file info")
|
||||
}
|
||||
}
|
||||
@@ -689,8 +688,8 @@ func (r NeVersion) operateRun(sshClient *ssh.ConnSSH, preinput map[string]string
|
||||
func (r NeVersion) operateDome(action string, neVersion model.NeVersion) error {
|
||||
if action == "install" {
|
||||
// 网元信息
|
||||
neInfo := r.neInfoService.FindByNeTypeAndNeID(neVersion.NeType, neVersion.NeId)
|
||||
if neInfo.NeId != neVersion.NeId {
|
||||
neInfo := r.neInfoService.FindByCoreUidAndNeUid(neVersion.CoreUID, neVersion.NeUID)
|
||||
if neInfo.CoreUID != neVersion.CoreUID || neInfo.NeUID != neVersion.NeUID {
|
||||
return fmt.Errorf("error found neinfo")
|
||||
}
|
||||
|
||||
@@ -712,29 +711,29 @@ func (r NeVersion) operateDome(action string, neVersion model.NeVersion) error {
|
||||
// IMS 配置
|
||||
imsNEs := r.neInfoService.Find(model.NeInfo{NeType: "IMS"}, false, false)
|
||||
for _, v := range imsNEs {
|
||||
r.neInfoService.NeRunSSHCmd(v.NeType, v.NeId, smscIPCMD)
|
||||
r.neInfoService.NeRunSSHCmd(v.NeType, v.NeId, smscHostCMD)
|
||||
r.neInfoService.NeRunSSHCmd(v.NeType, v.NeId, smsHost)
|
||||
r.neInfoService.NeRunSSHCmd(v.NeType, v.NeId, "sudo sed -i '/^#!define WITH_SMS/ s/^/#/' /usr/local/etc/ims/vars.cfg")
|
||||
r.neInfoService.NeRunSSHCmd(v.NeType, v.NeId, "ims-stop || true && ims-start")
|
||||
r.neInfoService.NeRunSSHCmd(v.CoreUID, v.NeUID, smscIPCMD)
|
||||
r.neInfoService.NeRunSSHCmd(v.CoreUID, v.NeUID, smscHostCMD)
|
||||
r.neInfoService.NeRunSSHCmd(v.CoreUID, v.NeUID, smsHost)
|
||||
r.neInfoService.NeRunSSHCmd(v.CoreUID, v.NeUID, "sudo sed -i '/^#!define WITH_SMS/ s/^/#/' /usr/local/etc/ims/vars.cfg")
|
||||
r.neInfoService.NeRunSSHCmd(v.CoreUID, v.NeUID, "ims-stop || true && ims-start")
|
||||
}
|
||||
// UDM 配置
|
||||
smscASName := fmt.Sprintf("sudo sed -i \"/- name: 'sms_as'/{n;s|serverName: .*|serverName: 'sip:%s:5060'|}\" /usr/local/etc/udm/as.yaml", para5GData["SMSC_IP"])
|
||||
smscASAddress := fmt.Sprintf("sudo sed -i \"/- name: 'sms_as'/{n;n;n;s|diameterAddress: .*|diameterAddress: 'smsc.ims.%s.3gppnetwork.org'|}\" /usr/local/etc/udm/as.yaml", mnc_mcc)
|
||||
udmNEs := r.neInfoService.Find(model.NeInfo{NeType: "UDM"}, false, false)
|
||||
for _, v := range udmNEs {
|
||||
r.neInfoService.NeRunSSHCmd(v.NeType, v.NeId, smscIPCMD)
|
||||
r.neInfoService.NeRunSSHCmd(v.NeType, v.NeId, smscHostCMD)
|
||||
r.neInfoService.NeRunSSHCmd(v.NeType, v.NeId, smscASName)
|
||||
r.neInfoService.NeRunSSHCmd(v.NeType, v.NeId, smscASAddress)
|
||||
r.neInfoService.NeRunSSHCmd(v.NeType, v.NeId, "sudo service udm restart")
|
||||
r.neInfoService.NeRunSSHCmd(v.CoreUID, v.NeUID, smscIPCMD)
|
||||
r.neInfoService.NeRunSSHCmd(v.CoreUID, v.NeUID, smscHostCMD)
|
||||
r.neInfoService.NeRunSSHCmd(v.CoreUID, v.NeUID, smscASName)
|
||||
r.neInfoService.NeRunSSHCmd(v.CoreUID, v.NeUID, smscASAddress)
|
||||
r.neInfoService.NeRunSSHCmd(v.CoreUID, v.NeUID, "sudo service udm restart")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 更新Version
|
||||
verInfo := r.FindByNeTypeAndNeID(neVersion.NeType, neVersion.NeId)
|
||||
if verInfo.NeId == neVersion.NeId {
|
||||
verInfo := r.FindByCoreUidAndNeUid(neVersion.CoreUID, neVersion.NeUID)
|
||||
if verInfo.CoreUID == neVersion.CoreUID && verInfo.NeUID == neVersion.NeUID {
|
||||
curName := verInfo.Name
|
||||
curVersion := verInfo.Version
|
||||
curPath := verInfo.Path
|
||||
|
||||
Reference in New Issue
Block a user