[LU-9123] sanity test 27D fails with 'llapi_layout_test failed' Created: 14/Feb/17  Updated: 20/Feb/17  Resolved: 19/Feb/17

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.10.0
Fix Version/s: Lustre 2.10.0

Type: Bug Priority: Critical
Reporter: James Nunez (Inactive) Assignee: John Hammond
Resolution: Fixed Votes: 0
Labels: None
Environment:

autotest


Issue Links:
Related
is related to LU-9125 replay-single test_68: @@@@@@ FAIL: 2... Resolved
is related to LU-6156 sanity test 27D failure: llapi_layout... Closed
is related to LU-9128 remove OBD_OCD_VERSION-ed out code Resolved
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

Since the 2.9.53 tag on 2017-02-14, sanity test 27D is failing with error

'llapi_layout_test failed' 

From the test_log, we see test 4, 26, and 27 fail due to ‘lfs setstripe’ calls:

test  0: Read/write layout attributes then create a file ... pass
 test  1: Read test0 file by path and verify attributes ..... pass
 test  2: Read test0 file by FD and verify attributes ....... pass
 test  3: Read test0 file by FID and verify attributes ...... pass
Create a new file with a specific striping pattern or
set the default striping pattern on an existing directory or
delete the default striping pattern from an existing directory
usage: setstripe -d <directory>   (to delete default striping)
 or
usage: setstripe [--stripe-count|-c <stripe_count>]
                 [--stripe-index|-i <start_ost_idx>]
                 [--stripe-size|-S <stripe_size>]
                 [--pool|-p <pool_name>]
                 [--ost|-o <ost_indices>]
                 <directory|filename>
	stripe_size:  Number of bytes on each OST (0 filesystem default)
	              Can be specified with k, m or g (in KB, MB and GB
	              respectively)
	start_ost_idx: OST index of first stripe (-1 default)
	stripe_count: Number of OSTs to stripe over (0 default, -1 all)
	pool_name:    Name of OST pool to use (default none)
	ost_indices:  List of OST indices, can be repeated multiple times
	              Indices be specified in a format of:
	                -o <ost_1>,<ost_i>-<ost_j>,<ost_n>
	              Or:
	                -o <ost_1> -o <ost_i>-<ost_j> -o <ost_n>
	              If --pool is set with --ost, then the OSTs
	              must be the members of the pool.
llapi_layout_test: llapi_layout_test.c:249: test4: assertion 'rc == 0' failed: system(/usr/bin/lfs setstripe -p testpool -c 2 -s 2097152 /mnt/lustre/d27D.sanity/t4): exit status 4
 test  4: Verify compatibility with 'lfs setstripe' ......... fail (exit status 1)
 test  5: llapi_layout_get_by_path ENOENT handling .......... pass
 test  6: llapi_layout_get_by_fd EBADF handling ............. pass
 test  7: llapi_layout_get_by_path EACCES handling .......... pass
 test  8: llapi_layout_get_by_path ENODATA handling ......... pass
 test  9: verify llapi_layout_pattern_set() return values ... pass
 test 10: stripe_count error handling ....................... pass
 test 11: stripe_size error handling ........................ pass
 test 12: pool_name error handling .......................... pass
 test 13: ost_index error handling .......................... pass
 test 14: llapi_layout_file_create error handling ........... pass
 test 15: Can't change striping attributes of existing file . pass
 test 16: Default stripe attributes are applied as expected . pass
 test 17: LLAPI_LAYOUT_WIDE is honored ...................... pass
 test 18: Setting pool with fsname.pool notation ............ pass
 test 19: Maximum length pool name is NULL-terminated ....... pass
 test 20: LLAPI_LAYOUT_DEFAULT is honored ................... pass
 test 21: llapi_layout_file_create fails for non-Lustre file  pass
 test 22: llapi_layout_file_create applied mode correctly ... pass
 test 23: llapi_layout_get_by_path fails for non-Lustre file  pass
 test 24: LAYOUT_GET_EXPECTED works with existing file ...... pass
 test 25: LAYOUT_GET_EXPECTED works with directory .......... pass
Create a new file with a specific striping pattern or
set the default striping pattern on an existing directory or
delete the default striping pattern from an existing directory
usage: setstripe -d <directory>   (to delete default striping)
 or
usage: setstripe [--stripe-count|-c <stripe_count>]
                 [--stripe-index|-i <start_ost_idx>]
                 [--stripe-size|-S <stripe_size>]
                 [--pool|-p <pool_name>]
                 [--ost|-o <ost_indices>]
                 <directory|filename>
	stripe_size:  Number of bytes on each OST (0 filesystem default)
	              Can be specified with k, m or g (in KB, MB and GB
	              respectively)
	start_ost_idx: OST index of first stripe (-1 default)
	stripe_count: Number of OSTs to stripe over (0 default, -1 all)
	pool_name:    Name of OST pool to use (default none)
	ost_indices:  List of OST indices, can be repeated multiple times
	              Indices be specified in a format of:
	                -o <ost_1>,<ost_i>-<ost_j>,<ost_n>
	              Or:
	                -o <ost_1> -o <ost_i>-<ost_j> -o <ost_n>
	              If --pool is set with --ost, then the OSTs
	              must be the members of the pool.
llapi_layout_test: llapi_layout_test.c:1091: test26: assertion 'rc == 0' failed: system(/usr/bin/lfs setstripe -s 4194304 /mnt/lustre/d27D.sanity/d26): exit status 4
 test 26: LAYOUT_GET_EXPECTED partially specified parent .... fail (exit status 1)
Create a new file with a specific striping pattern or
set the default striping pattern on an existing directory or
delete the default striping pattern from an existing directory
usage: setstripe -d <directory>   (to delete default striping)
 or
usage: setstripe [--stripe-count|-c <stripe_count>]
                 [--stripe-index|-i <start_ost_idx>]
                 [--stripe-size|-S <stripe_size>]
                 [--pool|-p <pool_name>]
                 [--ost|-o <ost_indices>]
                 <directory|filename>
	stripe_size:  Number of bytes on each OST (0 filesystem default)
	              Can be specified with k, m or g (in KB, MB and GB
	              respectively)
	start_ost_idx: OST index of first stripe (-1 default)
	stripe_count: Number of OSTs to stripe over (0 default, -1 all)
	pool_name:    Name of OST pool to use (default none)
	ost_indices:  List of OST indices, can be repeated multiple times
	              Indices be specified in a format of:
	                -o <ost_1>,<ost_i>-<ost_j>,<ost_n>
	              Or:
	                -o <ost_1> -o <ost_i>-<ost_j> -o <ost_n>
	              If --pool is set with --ost, then the OSTs
	              must be the members of the pool.
llapi_layout_test: llapi_layout_test.c:1142: test27: assertion 'rc == 0' failed: system(/usr/bin/lfs setstripe -s 3145728 /mnt/lustre/d27D.sanity/d27): exit status 4
 test 27: LAYOUT_GET_EXPECTED with non existing file ........ fail (exit status 1)
 test 28: LLAPI_LAYOUT_WIDE returned as expected ............ pass
 test 29: set ost index to non-zero stripe number ........... pass
 sanity test_27D: @@@@@@ FAIL: llapi_layout_test failed 

Logs for some of these failures are at:
https://testing.hpdd.intel.com/test_sets/9c68723e-f2c4-11e6-88d4-5254006e85c2
https://testing.hpdd.intel.com/test_sets/ae5e69d4-f2d4-11e6-88d4-5254006e85c2



 Comments   
Comment by Emoly Liu [ 15/Feb/17 ]

Hit on master:
https://testing.hpdd.intel.com/test_sets/e470b6ec-f349-11e6-ba2a-5254006e85c2
https://testing.hpdd.intel.com/test_sets/2eb9fa44-f343-11e6-a0f1-5254006e85c2

Comment by nasf (Inactive) [ 15/Feb/17 ]

+1 on master:
https://testing.hpdd.intel.com/test_sets/2f30a3f8-f364-11e6-898e-5254006e85c2

Comment by John Hammond [ 15/Feb/17 ]

This is almost certainly due to #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 53, 0) conditional compilation in lfs_setstripe() or related code.

Comment by John Hammond [ 15/Feb/17 ]

Indeed llapi_layout_test.c must be adjusted due to the recent (2.9.53) change from '-s' to '-S' and probably others.

Comment by James A Simmons [ 15/Feb/17 ]

Is this the source of all the recent Maloo failures?

Comment by Gerrit Updater [ 15/Feb/17 ]

John L. Hammond (john.hammond@intel.com) uploaded a new patch: https://review.whamcloud.com/25471
Subject: LU-9123 test: correct setstripe options in layout test
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 60df769ebb200e0cfbc4dc59624917f6e8e2d92f

Comment by Bob Glossman (Inactive) [ 16/Feb/17 ]

more on master:
https://testing.hpdd.intel.com/test_sets/e4fb5266-f420-11e6-b655-5254006e85c2
https://testing.hpdd.intel.com/test_sets/ff0fa828-f416-11e6-b655-5254006e85c2
https://testing.hpdd.intel.com/test_sets/d6b8a9fc-f442-11e6-8291-5254006e85c2
https://testing.hpdd.intel.com/test_sets/ff1f054e-f40b-11e6-898e-5254006e85c2

Comment by Gerrit Updater [ 18/Feb/17 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/25471/
Subject: LU-9123 test: correct setstripe options in layout test
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 2b16d2d81eafc3e6c7349f486225998be85b2362

Comment by Peter Jones [ 19/Feb/17 ]

Landed for 2.10

Generated at Sat Feb 10 02:23:27 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.