Skip to content

DAOS-19028 test: REBUILD29 use more precise timing (#18546)#18630

Draft
kccain wants to merge 1 commit into
release/2.8from
kccain/daos_19028_rel2p8
Draft

DAOS-19028 test: REBUILD29 use more precise timing (#18546)#18630
kccain wants to merge 1 commit into
release/2.8from
kccain/daos_19028_rel2p8

Conversation

@kccain

@kccain kccain commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Before this change, rebuild_kill_PS_leader_during_rebuild() killed a non-leader engine and immediately (tried to) inject fault DAOS_REBUILD_TGT_SCAN_HANG on "all engines". This fault injection itself suffered RPC timeouts due to the killed engine. This further affected the test's overall timing, contradicting the goal of killing the PS leader engine during the first rebuild.

With this change, the test no longer uses fault injection. Instead it waits for the first rebuild to start and demonstrate evidence of scanning activity (rs_toberb_obj_nr > 0). This is accomplished using a new common function test_rebuild_wait_to_scanning_next() that waits for both the rs_version (pool map version) to increment and the to-be-rebuilt number of objects to become nonzero.

Test-repeat: 10
Test-tag: test_rebuild_29
Skip-unit-tests: true
Skip-fault-injection-test: true
Skip-test-rpms: true

Steps for the author:

  • Commit message follows the guidelines.
  • Appropriate Features or Test-tag pragmas were used.
  • Appropriate Functional Test Stages were run.
  • At least two positive code reviews including at least one code owner from each category referenced in the PR.
  • Testing is complete. If necessary, forced-landing label added and a reason added in a comment.

After all prior steps are complete:

  • Gatekeeper requested (daos-gatekeeper added as a reviewer).

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

Ticket title is 'daos_test/rebuild.py:DaosCoreTestRebuild.test_rebuild_29 - pool reintegrate failed'
Status is 'In Progress'
Labels: '2.6.5rc3,pr_test,request_for_2.8,scrubbed_2.8,tcp_provider,test_2.6.5rc1'
https://daosio.atlassian.net/browse/DAOS-19028

@daosbuild3

Copy link
Copy Markdown
Collaborator

Before this change, rebuild_kill_PS_leader_during_rebuild() killed
a non-leader engine and immediately (tried to) inject fault
DAOS_REBUILD_TGT_SCAN_HANG on "all engines". This fault injection
itself suffered RPC timeouts due to the killed engine. This further
affected the test's overall timing, contradicting the goal of
killing the PS leader engine during the first rebuild.

With this change, the test no longer uses fault injection. Instead it
waits for the first rebuild to start *and* demonstrate evidence of
scanning activity (rs_toberb_obj_nr > 0). This is accomplished using a
new common function test_rebuild_wait_to_scanning_next() that waits
for both the rs_version (pool map version) to increment and the
to-be-rebuilt number of objects to become nonzero.

Test-repeat: 10
Test-tag: test_rebuild_29
Skip-unit-tests: true
Skip-fault-injection-test: true
Skip-test-rpms: true

Signed-off-by: Kenneth Cain <kenneth.cain@hpe.com>
@kccain kccain force-pushed the kccain/daos_19028_rel2p8 branch from 970885e to e3148be Compare July 9, 2026 19:26
@daosbuild3

Copy link
Copy Markdown
Collaborator

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants