[LU-2174] sanity-quota.sh breakage on single node setup Created: 14/Oct/12  Updated: 19/Apr/13  Resolved: 29/Oct/12

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

Type: Bug Priority: Major
Reporter: Oleg Drokin Assignee: Niu Yawei (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Severity: 3
Rank (Obsolete): 5206

 Description   

I am trying to add sanity-quota.sh into my roster and it seems to be very unhappy running with a single node setup: with no lustre mounted beforehand:

[root@centos6-9 tests]# SLOW=yes REFORMAT=yes sh sanity-quota.sh 
Logging to shared log directory: /tmp/test_logs/1350196677
error: lustre_build_version: No such file or directory
opening /dev/lnet failed: No such device
hint: the kernel modules may not be loaded
IOC_LIBCFS_GET_NI error 19: No such device
error: get_param: /proc/{fs,sys}/{lnet,lustre}/version: Found no match
/home/green/git/lustre-release/lustre/tests/test-framework.sh: line 341: ( << 16) | ( << 8) | : syntax error: operand expected (error token is "<< 16) | ( << 8) | ")
sanity-quota.sh: line 44: [: -lt: unary operator expected

I imagine lustre setup bit needs to be moved earlier into the code.



 Comments   
Comment by Oleg Drokin [ 14/Oct/12 ]

Additionally instead of the standard RUNAS_ID, the script depends on the non-standard TSTID/TSTID2 variables:

[root@centos6-9 tests]# SLOW=yes RUNAS_ID=500  sh sanity-quota.sh 
Logging to shared log directory: /tmp/test_logs/1350197276
debugfs 1.42.3.wc3 (15-Aug-2012)
centos6-9.localnet: Checking config lustre mounted on /mnt/lustre
Checking servers environments
Checking clients centos6-9.localnet environments
Using TIMEOUT=20
enable jobstats, set job scheduler as procname_uid
excepting tests: 
running as uid/gid/euid/egid 60000/60000/60000/60000, groups:
 [touch] [/mnt/lustre/d0_runas_test/f9931]
touch: cannot touch `/mnt/lustre/d0_runas_test/f9931': Permission denied
 sanity-quota : @@@@@@ FAIL: unable to write to /mnt/lustre/d0_runas_test as UID 60000.
        Please set RUNAS_ID to some UID which exists on MDS and client or
        add user 60000:60000 on these nodes. 
Comment by Andreas Dilger [ 14/Oct/12 ]

Oleg, I have a patch for the version checks that gets the Lustre version from lctl directly instead of depending on /proc. if the modules are loaded it uses the version from /proc, but otherwise uses the version compiled into lctl.

Please give it a try. It works for me though Yu Jian reported a problem that I couldn't reproduce.

Comment by Oleg Drokin [ 14/Oct/12 ]

where can I get the patch?

Comment by Andreas Dilger [ 14/Oct/12 ]

http://review.whamcloud.com/4173 "LU-2024 tests: clean up lustre version checking"

Comment by Niu Yawei (Inactive) [ 14/Oct/12 ]

Indeed, the lustre setup bit should be done before version check, and I think Andreas's way (improving version check) is better, thank you for the patch, Andreas.

For the UID/GID 60000 & 60001, they are necessary for quota testing, and they've been existing for a very long time, I think thing should one of the 'standard ids", what do you think, Oleg?

Comment by Oleg Drokin [ 15/Oct/12 ]

I think if the IDs are necessary and RUNAS_UID is not supported, then the message needs to be fixed to properly outline what parameters are really needed
(I just figured out there are 4 parameters needed: TSTID TSTID2 TSTUSR TSTUSR2

It's unclear if TSTID should be the uid of TSTUSR and same for usr2, if yes then just asking for TSTUSR/tstUSR2 should be enough and the system can resolve the names to userids.

Sticking with userids likely to exist by default is fine by me, but not strictly required, what's important is some consitency in parameter requiring/reporting of errors.

Comment by Niu Yawei (Inactive) [ 15/Oct/12 ]

better error message: http://review.whamcloud.com/4268

Comment by Niu Yawei (Inactive) [ 29/Oct/12 ]

patch landed for 2.4

Generated at Sat Feb 10 01:22:59 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.