已合并
【UBSE】补充HA和CLI相关IT用例 #1468
【UBSE】补充HA和CLI相关IT用例 #1468
已合并
weaver创建于 6 天前
weaver
weaver
6 天前

当前PR是否有AI参与:

[x] 否

[ ] 是
__1. AI Agent 平台:
__2. AI 模型:
__3. Prompt上下文 :

参考:openEuler社区《生成式AI工具使用与开源贡献政策》

PR功能描述 / 为什么需要这个合入**:

该PR关联的issue

(格式为fixes #<issue号>, 或者resolves #<issue号>): fixes #

希望检视人员了解:

likedislike
Pull Request已成功合入, 合并人@openeuler-ci-bot
(感谢 weaver 的贡献)
weaverweaver
6 天前 创建了 pull request,commit fea4936f
weaverweaver
6 天前 关联了issue:[Enhancement]: [UBSE] 补充0/1级 IT用例
atomgit-bot
atomgit-bot
6 天前 评论:

变更摘要

本 PR 为 UBSE 选举(HA)模块补充集成测试用例,围绕选举收敛、主节点心跳、候选节点约束与选举禁用等场景新增测试。主要包含:新增双节点主节点周期心跳校验用例、双节点均禁用选举(election.candidate=false + election.wait=false)保持 init 角色用例、四节点错峰启动(节点2先升主、其余节点后加入)用例,以及四节点候选节点列表(election.candidateNodes=3,4)约束用例;同时在测试框架中新增两个场景夹具(Tongsuan1dFourNodesCandidateNodesScenarioTongsuan1dTwoNodesElectionDisabledScenario)和对应的测试函数实现(election_cases.cpp/election_cases.h)。

主要改动

  • 新增四节点错峰启动用例:在 tongsuan_1d_four_nodes/all_tests.cpp 注册 ExistingMasterUniqueStandby 用例,实现 RunFourNodeExistingMasterUniqueStandbyTest,通过 KillNode/RestartNode 模拟错峰启动,验证仅剩节点2时其升主、其余节点同时恢复后集群收敛为唯一主(仍为节点2)+ 唯一备 + 2 agent,并从 CLI display cluster 视角再次确认。
  • 新增候选节点约束场景与用例:新增场景目录 tongsuan_1d_four_nodes_candidate_nodes,场景夹具 Tongsuan1dFourNodesCandidateNodesScenario 为四节点配置 election.candidateNodes=3,4;用例 CandidateNodesOnlyMaster 通过 RunFourNodeCandidateNodesOnlyMasterTest 验证非候选节点1、2 始终不升主,候选节点3、4 可先后升主并选出唯一备。
  • 新增双节点主节点周期心跳用例:在 tongsuan_1d_two_nodes/all_tests.cpp 注册 MasterPeriodicHeartbeat 用例,实现 RunTwoNodeMasterPeriodicHeartbeatTest,通过主节点日志 [ELECTION] ProcTimer MASTER send pkt id=<id> 校验心跳具备周期性(3 个周期内至少 3 次)且确实发往对端备节点。
  • 新增选举禁用场景与用例:新增场景目录 tongsuan_1d_two_nodes_election_disabled,场景夹具 Tongsuan1dTwoNodesElectionDisabledScenario 配置两节点 election.candidate=falseelection.wait=false;用例 ElectionBothDisabledKeepInit 通过 RunTwoNodeBothElectionDisabledTest 校验配置、等待选举超时后确认两节点均停留在 init 角色(日志正面信号)且无 Master/Standby/Agent 角色切换(日志反面信号)。
  • 扩展选举测试公共实现:在 election_cases.cpp/election_cases.h 新增公共判断函数 HasUniqueMasterAndStandby(判定运行节点集合是否收敛为唯一主+唯一备,可指定期望主节点),并声明/实现上述四个测试函数,供各场景用例调用。
likedislike
openeuler-ci-botopeneuler-ci-bot成员
6 天前 将hlinbo,shw030915,Gao_Victor,qmyyxtl,caowaterman设为审查人
atomgit-bot
atomgit-bot
6 天前 评论:

代码审查

✅ 未发现问题

likedislike
此处折叠了125条消息 查看更多
openeuler-ci-botopeneuler-ci-bot成员
1 小时前 添加了label:docs_ci_successful
openeuler-ci-botopeneuler-ci-bot成员
1 小时前 删除了label:ci_processing
openeuler-ci-bot
openeuler-ci-bot成员
1 小时前 评论:
Check Name Build Result 详情 Build Details
check_sca WARNING • SCA检查发现未确认的开源组件问题,请查看报告: https://www.openlibing.com/apps/personalScandTaskInfor/person/ff020c51-05d8-42e3-9fed-cbf309cf8f9c?projectId=300024&codeHostingPlatformFlag=gitcode #7036
check_code SUCCESS
check_package_license WARNING • 仓库copyright检查未通过: ubs-engine/test/IT/CMakeLists.txt、ubs-engine/test/IT/scenarios/tongsuan_1d_four_nodes_candidate_nodes/CMakeLists.txt、ubs-engine/test/IT/scenarios/tongsuan_1d_two_nodes_election_disabled/CMakeLists.txt文件缺失Copyright声明, Copyright path:缺少项目级Copyright声明文件
x86_64 check_build SUCCESS #7026
aarch64 check_build SUCCESS #7034
pre-commit check_build SUCCESS #6374
DT check_build SUCCESS #6324
check_issue_associate check_build SUCCESS #9890
likedislike
openeuler-ci-botopeneuler-ci-bot成员
1 小时前 添加了label:ci_successful
openeuler-ci-bot
openeuler-ci-bot成员
1 小时前 评论:
likedislike