[LU-16904] initial test script to run sanity.sh and sanityn.sh with PFL layout Created: 15/Jun/23  Updated: 11/Jan/24

Status: In Progress
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: Lustre 2.16.0

Type: Task Priority: Minor
Reporter: Sarah Liu Assignee: Sarah Liu
Resolution: Unresolved Votes: 0
Labels: None

Issue Links:
Related
is related to LU-16924 sanity-compr test_56ba: lfs find --co... Closed
is related to LU-11918 Allow setting default file layout on ... Open
Severity: 3
Rank (Obsolete): 9223372036854775807
Epic Link: CSDC: Testing

 Description   

This is the ticket to track progress and problems of running sanity.sh and sanityn.sh with PFL as filesystem layout. subtests and test-framework fixes should be in separate patches.



 Comments   
Comment by Sarah Liu [ 20/Jun/23 ]

Sarah Liu (sarah@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/51371
Subject: LU-16904 test: Add sanity-compr.sh to run sanity with PFL layout
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: b862fa1c3f3af2c944395301e19b798048064570

Comment by Sarah Liu [ 23/Jun/23 ]

this is a fortestonly patch only to run sanity with setting "lfs setstripe -E EOF -c 1 $MOUNT"

the Maloo result is at
https://testing.whamcloud.com/test_sets/24922969-cde5-4abd-8dfd-88bc1571d1e4

related issue:
LU-16924

Comment by Andreas Dilger [ 23/Jun/23 ]

Looking at the other test failures in https://testing.whamcloud.com/test_sets/24922969-cde5-4abd-8dfd-88bc1571d1e4 I am surprised that there are only 7 failed subtests out of all the subtests in sanity.sh, so I think it would be reasonable to just fix them all in a single patch, possibly even as part of the original 51371 patch? Then, move on to a follow-on patch that adds sanityn.sh testing to sanity-compr.sh, and allow the initial patch to land.

Comment by Gerrit Updater [ 14/Jul/23 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/51371/
Subject: LU-16904 test: Add sanity-compr.sh to run sanity and sanityn with PFL layout
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: b4e5faf551189f3e391a7ef268abcf0d584206bd

Comment by Peter Jones [ 14/Jul/23 ]

Merged for 2.16

Comment by Andreas Dilger [ 05/Jan/24 ]

The version of sanity-compr.sh currently in the tree is only running with the most basic 1-stripe PFL file.

This needs to be updated to include a more complex PFL file layout so that we are exercising more of the code, and the corresponding test script breakage fixed.

There are a series of increasingly complex PFL layouts that could be used to discover and fix layout assumptions in the test scripts, that should be tried in separate patches, so that we can finally enable PFL layouts in the test framework by default. This would include running with 2- and 4-stripe files by default, 2- and 3- component files, and different stripe sizes:

Test-Parameters: testlist=sanity-compr env=COMPR_EXTRA_LAYOUT="-c 2"
Test-Parameters: testlist=sanity-compr env=COMPR_EXTRA_LAYOUT="-c 4"
Test-Parameters: testlist=sanity-compr env=COMPR_EXTRA_LAYOUT="-S 4M"
Test-Parameters: testlist=sanity-compr env=COMPR_EXTRA_LAYOUT="-E 64k -c 1 -E eof"
Test-Parameters: testlist=sanity-compr env=COMPR_EXTRA_LAYOUT="-E 64k -c 1 -E eof -c 2"
Test-Parameters: testlist=sanity-compr env=COMPR_EXTRA_LAYOUT="-E 64k -c 1 -E 1M -c 2 -E eof -c 4 -S 4M"

This shows all of the Test-Parameters at once, but they should probably be put into separate patches so that the failures can be isolated and fixed more easily.

Once the last 3-component PFL patch can pass testing, then this should be set as the default layout directly in the sanity-compr.sh patch, and/or move this directly into sanity.sh and sanityn.sh and finally start on a patch to allow setting the PFL layout on the filesystem directly from mkfs.lustre.

Comment by Andreas Dilger [ 06/Jan/24 ]

I noticed in LU-11918 that there is already support for setting a different filesystem-wide default layout using the "fs_STRIPEPARAMS" environment variable, and per-test default layouts using _testname_STRIPEPARAMS. It probably makes sense to change sanity-compr.sh over to using compr_STRIPEPARAMS instead of COMPR_EXTRA_LAYOUT, and similarly change RACER_EXTRA_LAYOUT over to racer_STRIPEPARAMS for consistency.

Comment by Sarah Liu [ 08/Jan/24 ]

Thanks Andreas, I will take a look

Comment by Gerrit Updater [ 11/Jan/24 ]

"Sarah Liu <sarah@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/53651
Subject: LU-16904 tests: Set 2-stripe layout on the system for sanity and sanityn
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 176d454ac31690426c19620cfd7e2609b958e82b

Generated at Sat Feb 10 03:30:58 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.