已合并
【UBSE】补充HA和CLI相关IT用例 #1468
weaver创建于 5 天前
【UBSE】补充HA和CLI相关IT用例 #1468
已合并
Pull Request已成功合入, 合并人@openeuler-ci-bot
(感谢 weaver 的贡献)5 天前 关联了issue:[Enhancement]: [UBSE] 补充0/1级 IT用例
atomgit-bot
5 天前 评论:
5 天前 评论:
变更摘要
本 PR 为 UBSE 选举(HA)模块补充集成测试用例,围绕选举收敛、主节点心跳、候选节点约束与选举禁用等场景新增测试。主要包含:新增双节点主节点周期心跳校验用例、双节点均禁用选举(election.candidate=false + election.wait=false)保持 init 角色用例、四节点错峰启动(节点2先升主、其余节点后加入)用例,以及四节点候选节点列表(election.candidateNodes=3,4)约束用例;同时在测试框架中新增两个场景夹具(Tongsuan1dFourNodesCandidateNodesScenario、Tongsuan1dTwoNodesElectionDisabledScenario)和对应的测试函数实现(election_cases.cpp/election_cases.h)。
主要改动
- 新增四节点错峰启动用例:在
tongsuan_1d_four_nodes/all_tests.cpp注册ExistingMasterUniqueStandby用例,实现RunFourNodeExistingMasterUniqueStandbyTest,通过KillNode/RestartNode模拟错峰启动,验证仅剩节点2时其升主、其余节点同时恢复后集群收敛为唯一主(仍为节点2)+ 唯一备 + 2 agent,并从 CLIdisplay 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=false且election.wait=false;用例ElectionBothDisabledKeepInit通过RunTwoNodeBothElectionDisabledTest校验配置、等待选举超时后确认两节点均停留在 init 角色(日志正面信号)且无 Master/Standby/Agent 角色切换(日志反面信号)。 - 扩展选举测试公共实现:在
election_cases.cpp/election_cases.h新增公共判断函数HasUniqueMasterAndStandby(判定运行节点集合是否收敛为唯一主+唯一备,可指定期望主节点),并声明/实现上述四个测试函数,供各场景用例调用。


5 天前 将hlinbo,shw030915,Gao_Victor,qmyyxtl,caowaterman设为审查人
atomgit-bot
5 天前 评论:
5 天前 评论:
此处折叠了112条消息 查看更多
openeuler-ci-bot
1 天前 评论:
1 天前 评论:
yezifa1
1 天前 评论:
1 天前 评论:
/lgtm
/approve


1 天前 添加了label:lgtm-yezifa
openeuler-ci-bot
1 天前 评论:
1 天前 评论:
1 天前 合入了pull request,合并节点 SHA:c62c5954a48fbf046e1928ad8c063d44d4dd9b43
当前PR是否有AI参与:
[x] 否
[ ] 是
__1. AI Agent 平台:
__2. AI 模型:
__3. Prompt上下文 :
参考:openEuler社区《生成式AI工具使用与开源贡献政策》
PR功能描述 / 为什么需要这个合入**:
该PR关联的issue
(格式为fixes #<issue号>, 或者resolves #<issue号>): fixes #
希望检视人员了解: