DAOS-19033 test: test_enospace_no_aggregation never triggers DER_NOSPACE#18392
Open
knard38 wants to merge 4 commits into
Open
DAOS-19033 test: test_enospace_no_aggregation never triggers DER_NOSPACE#18392knard38 wants to merge 4 commits into
knard38 wants to merge 4 commits into
Conversation
|
Ticket title is 'enospace.py: test_enospace_no_aggregation never triggers DER_NOSPACE' |
Collaborator
|
Test stage Functional Hardware Medium MD on SSD completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18392/1/execution/node/742/log |
3ee04f8 to
9ed0e9f
Compare
c68778f to
bcdf8bc
Compare
Base automatically changed from
ckochhof/fix/master/daos-19025/patch-001
to
master
June 12, 2026 17:26
calculate_ior_block_size() computes the IOR block size from s_total (fixed pool capacity), not from current free space. Both start_ior_load calls therefore request 40% of the same total, and together with metadata overhead they only consume ~99.3% of SCM, leaving ~147 MB free. DER_NOSPACE is never triggered. Fix: raise the second start_ior_load from percent=40 to percent=45 so that the combined write volume (40% + 45% + ~12.6% metadata > 100%) reliably exhausts SCM and returns DER_NOSPACE. At 45%, IOR 2 requests ~9 GB when only ~8.85 GB is free, overflowing by ~183 MB. Quick-Functional: true Test-tag: NvmeEnospace Test-repeat: 5 Signed-off-by: Cedric Koch-Hofer <cedric.koch-hofer@hpe.com>
bcdf8bc to
5fe170f
Compare
daltonbohning
previously approved these changes
Jun 15, 2026
Comment on lines
+752
to
+754
| # Fill 10% more to SCM ,which should Fail because no SCM space | ||
| self.start_ior_load( | ||
| storage='SCM', operation="Auto_Write", percent=40, log_file=log_file) | ||
| storage='SCM', operation="Auto_Write", percent=45, log_file=log_file) |
Contributor
There was a problem hiding this comment.
nit - the comment "Fill 10%" above is incorrect. Though it was even before your change
Contributor
Author
There was a problem hiding this comment.
- Update invalid comment
…/daos-19033/patch-001
Fix reviewers comments: - Update invalid comment Quick-Functional: true Test-tag: NvmeEnospace Test-repeat: 5 Signed-off-by: Cedric Koch-Hofer <cedric.koch-hofer@hpe.com>
daltonbohning
approved these changes
Jun 16, 2026
phender
reviewed
Jun 16, 2026
Contributor
There was a problem hiding this comment.
The test fix looks good.
For testing, the commit pragmas need updating:
Quick-Functional: truecannot not be used for landing functional test changes as it skips the python bandit check;Skip-unit-tests: trueandSkip-fault-injection-test: trueare preferred and supported for functional test landing- Given this specific test change we should also verify it still passes w/ PMEM. The
Skip-func-hw-test-medium-vmd: falsecommit pragma should be used.
…/daos-19033/patch-001 Skip-unit-tests: true Skip-fault-injection-test: true Skip-func-hw-test-medium-vmd: false Test-tag: NvmeEnospace Test-repeat: 5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
NvmeEnospace.test_enospace_no_aggregationfails on master with"This test suppose to fail because of DER_NOSPACE but it got Passed". Confirmed in weekly runmaster_weekly-062(commitbfc468ba25).The test disables aggregation and performs two sequential SCM fills: the first is expected to succeed, the second to fail with
DER_NOSPACE. Both calls usepercent=40:calculate_ior_block_size()computes the block size froms_total(fixed pool capacity), not from current free space. Both IOR runs therefore request the same amount of data. With a 5G × 4-rank pool (20 GB SCM total), the space budget is:s_total)s_total)Because ~147 MB of SCM stays free,
DER_NOSPACEis never returned and IOR 2 exits with code 0.To fix this issue, this PR raise the second
start_ior_loadfrompercent=40topercent=45. IOR 2 now requests 45% of 20 GB = ~9 GB when only ~8.85 GB is free, overflowing by ~183 MB and guaranteeingDER_NOSPACE:percent=45is the minimum sufficient value — verified across all recent CI configurations (master_weekly-062, PR #18371, PR #18338).Steps for the author:
After all prior steps are complete: