项目

一般

简介

错误 #2207

从T4版本升级到T5版本,规则文件中的当前版本无T5也能继承升级成功

杨 凯11 个月 之前添加. 更新于 11 个月 之前.

状态:
已解决
优先级:
普通
指派给:
开始日期:
2024-09-29
计划完成日期:
% 完成:

0%

预期时间:

描述

问题描述:
从T4版本升级到T5版本,规则文件中的当前版本无T5也能继承升级成功
问题版本:
Rel_2.1.15P_Pre1T5&Rel_2.1.15P_Pre1T4


文件

升级继承预期失败实际成功.jpg (137 KB) 升级继承预期失败实际成功.jpg 杨 凯, 2024-09-29 09:25
info.log (1.3 MB) info.log 杨 凯, 2024-09-29 09:25
info.log (5.89 MB) info.log 杨 凯, 2024-10-11 14:14
升级继承验证.png (37.9 KB) 升级继承验证.png 杨 凯, 2024-10-11 14:15

历史记录

#2

钱 伯宁 更新于 11 个月 之前

  • 状态新建 变更为 反馈
  • 指派给钱 伯宁 变更为 杨 凯

继承的xml文件,历史版本中有定义配置文件信息则用历史版本中的,否则默认用当前定义的xml文件

#3

杨 凯 更新于 11 个月 之前

  • 指派给杨 凯 变更为 钱 伯宁

是否增加了针对目标版本存在的规则文件中当前版本“curVer: ”的校验,如果xml和yang从旧版本到新版本有差异的情况下,走默认流程使用当前定义xml会存在问题?确认下。

#4

钱 伯宁 更新于 11 个月 之前

需要增加对待继承版本校验机制,需要修改升级配置继承工具代码

#5

钱 伯宁 更新于 11 个月 之前

  • 状态反馈 变更为 进行中
  • 指派给钱 伯宁 变更为 马 自伟
#6

马 自伟 更新于 11 个月 之前

  • 状态进行中 变更为 转测试
  • 指派给马 自伟 变更为 杨 凯

问题定位:
在处理历史版本规则文件中,
原规则为:历史版本中有定义配置文件信息则用历史版本中的,否则默认
代码详情:
xmlName, ok := ugd.UpRule.HistoryVersion[ugd.CurVersion].ConfigFiles[fk]
if ok && xmlName != "" {
fileName = filepath.Base(xmlName)
} else {
fileName = filepath.Base(fv)
}
如果对应的版本找不到,则说明该版本不符合升级规则,应该退出且报错,而不是依旧默认选择。
修改完成:
对该逻辑,进行修改,如果在规则文件中,找不到对应的版本,则退出报错:
修改代码:
xmlName, ok := ugd.UpRule.HistoryVersion[ugd.CurVersion].ConfigFiles[fk]
if !ok || xmlName == "" {
return fmt.Errorf(ugd.CurVersion + "未定义规则,校验失败")
}
fileName = filepath.Base(xmlName)

#7

杨 凯 更新于 11 个月 之前

从T4升级规则文件中无T5的当前版本号时进行验证还存在两个问题:
1)升级失败走回退流程失败,破坏当前版本配置数据。
2)规则文件校验不过时,应该提示当前版本不符合预期报错,升级终止。

#8

杨 凯 更新于 11 个月 之前

  • 指派给杨 凯 变更为 马 自伟
#9

马 自伟 更新于 11 个月 之前

  • 指派给马 自伟 变更为 杨 凯

对继承规则文件失败时,增加了错误消息提示:继承配置失败
对规则文件校验失败,配置继承失败,不会破坏当前配置。

#10

杨 凯 更新于 11 个月 之前

  • 状态反馈 变更为 已解决

该问题已验证执行64用例中覆盖解决。

导出 Atom PDF