错误 #2246
网管版本测试,在线升级PRU0和PRU1,第一个PRU升级完成后后界面显示100%,第二个PRU升级一直卡在91.06%
开始日期:
2024-10-15
计划完成日期:
% 完成:
0%
预期时间:
描述
问题描述:
在线升级PRU0和PRU1,第一个PRU升级完成后后界面显示100%,第二个PRU升级一直卡在91.06%
问题版本:
YZMM2.0.12Pre1T3
文件
历史记录
由 马 党旗 更新于 11 个月 之前
- 状态 从 进行中 变更为 转测试
- 指派给 从 马 党旗 变更为 杨 凯
原因是
1. oam-backend在计算多模块升级状态计数器逻辑问题,导致流程只要有一个模块升级状态为end时,当统计数达到相应的模块个数后停止统计(此统计流程是错误的)
2. 对于非gnb包安装不应该重启gnb-agent,但是oam-backend没有做相应的逻辑判断
修改后的代码为(部分代码):
// 异步通知logMan安装gnb-agent
succCounter := 0
for i := 0; i < int(expired); i++ {
succCounter = 0
time.Sleep(1 * time.Second)
for _, rv := range rMkey {
res, _ := global.RedisClient.HGet(context.TODO(), rkey, rv).Result()
rtmp := entity.RedisSoftwareVersionManage{}
err = json.Unmarshal([]byte(res), &rtmp)
if err nil && rtmp.Status "end" {
succCounter += 1
}
}
if succCounter == len(rMkey) {
break
}
}
if succCounter != len(rMkey) {
for _, rv := range rMkey {
rvj, _ := json.Marshal(entity.RedisSoftwareVersionManage{
Result: "failed", StartTime: localtime, TimeOut: localtime + int64(expired), Status: "end", Message: global.Message[1035],
})
global.RedisClient.HSet(context.TODO(), rkey, rv, string(rvj))
}
return
}
if module "gnb" || module "gnb-pkg" {
clearNeBackupDirectory(ne.IP) // 清理备份目录
} else {
return
}
由 杨 凯 更新于 11 个月 之前
- 文件 解决卡顿验证结果.jpg 解决卡顿验证结果.jpg 已添加
- 状态 从 转测试 变更为 已解决
网管侧backend已处理,三个PRU同时勾选升级,中途不重启agent已实现,未出现进度条卡顿。