X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2Fsanity-sec.sh;h=f320e41ae383bef4626210ac7901d446f092b385;hb=1ba7eb520d6f50908985b45cb1aecad83bdf9c63;hp=c798c8e0eee985bf9e33e8c46a618921341b188d;hpb=902c1a230ee1a0f946f147c3ab930c58b8c2d845;p=fs%2Flustre-release.git diff --git a/lustre/tests/sanity-sec.sh b/lustre/tests/sanity-sec.sh index c798c8e..f320e41 100644 --- a/lustre/tests/sanity-sec.sh +++ b/lustre/tests/sanity-sec.sh @@ -7,7 +7,12 @@ set -e ONLY=${ONLY:-"$*"} -[ "$EXCEPT" ] && echo "Skipping tests: `echo $EXCEPT`" +# bug number for skipped test: 19430 19967 19967 +ALWAYS_EXCEPT=" 2 5 6 $SANITY_SEC_EXCEPT" +# UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT! + +[ "$ALWAYS_EXCEPT$EXCEPT" ] && \ + echo "Skipping tests: $ALWAYS_EXCEPT $EXCEPT" SRCDIR=`dirname $0` export PATH=$PWD/$SRCDIR:$SRCDIR:$PWD/$SRCDIR/../utils:$PATH:/sbin @@ -17,17 +22,18 @@ LUSTRE=${LUSTRE:-`dirname $0`/..} . $LUSTRE/tests/test-framework.sh init_test_env $@ . ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh} +init_logging + +RUNAS="runas" -RUNAS=${RUNAS:-"$LUSTRE/tests/runas"} WTL=${WTL:-"$LUSTRE/tests/write_time_limit"} CONFDIR=/etc/lustre PERM_CONF=$CONFDIR/perm.conf -SANITYSECLOG=${TESTSUITELOG:-$TMP/$(basename $0 .sh).log} FAIL_ON_ERROR=false -remote_mds_nodsh && skip "remote MDS with nodsh" && exit 0 -remote_ost_nodsh && skip "remote OST with nodsh" && exit 0 +require_dsh_mds || exit 0 +require_dsh_ost || exit 0 ID0=${ID0:-500} ID1=${ID1:-501} @@ -68,17 +74,13 @@ else echo "without GSS support" fi -MDT="`do_facet $SINGLEMDS "lctl get_param -N mdt.\*MDT\*/stats 2>/dev/null | cut -d"." -f2" || true`" -if [ ! -z "$MDT" ]; then - do_facet $SINGLEMDS "mkdir -p $CONFDIR" - IDENTITY_FLUSH=mdt.$MDT.identity_flush - MDSCAPA=mdt.$MDT.capa - CAPA_TIMEOUT=mdt.$MDT.capa_timeout - MDSSECLEVEL=mdt.$MDT.sec_level - LOCALMDT=$MDT -else - LOCALMDT="" -fi +MDT="`do_facet $SINGLEMDS "lctl get_param -N mdt.\*MDT\*.stats 2>/dev/null | cut -d"." -f2" || true`" +[ -z "$MDT" ] && error "fail to get MDT device" && exit 1 +do_facet $SINGLEMDS "mkdir -p $CONFDIR" +IDENTITY_FLUSH=mdt.$MDT.identity_flush +MDSCAPA=mdt.$MDT.capa +CAPA_TIMEOUT=mdt.$MDT.capa_timeout +MDSSECLEVEL=mdt.$MDT.sec_level # for CLIENT_TYPE if [ -z "$(lctl get_param -n llite.*.client_type | grep remote 2>/dev/null)" ]; then @@ -138,7 +140,6 @@ test_0() { mkdir -p $DIR/$tdir || error "mkdir (1)" if [ "$CLIENT_TYPE" = "remote" ]; then - [ -z "$MDT" ] && skip "do not support do_facet operations." && return do_facet $SINGLEMDS "echo '* 0 normtown' > $PERM_CONF" do_facet $SINGLEMDS "lctl set_param -n $IDENTITY_FLUSH=-1" chown $USER0 $DIR/$tdir && error "chown (1)" @@ -172,7 +173,6 @@ run_test 0 "uid permission =============================" # setuid/gid test_1() { [ $GSS_SUP = 0 ] && skip "without GSS support." && return - [ -z "$MDT" ] && skip "do not support do_facet operations." && return if [ "$CLIENT_TYPE" = "remote" ]; then do_facet $SINGLEMDS "echo '* 0 rmtown' > $PERM_CONF" @@ -222,7 +222,6 @@ test_2 () { [ -z "$(which setfacl 2>/dev/null)" ] && \ skip "could not find setfacl" && return [ "$UID" != 0 ] && skip "must run as root" && return - [ -z "$MDT" ] && skip "do not support do_facet operations." && return do_facet $SINGLEMDS "echo '* 0 rmtacl,rmtown' > $PERM_CONF" do_facet $SINGLEMDS "lctl set_param -n $IDENTITY_FLUSH=-1" @@ -275,7 +274,6 @@ run_test 3 "rootsquash =============================" # will be obtained by upcall /sbin/l_getidentity and used. test_4() { if [ "$CLIENT_TYPE" = "remote" ]; then - [ -z "$MDT" ] && skip "do not support do_facet operations." && return do_facet $SINGLEMDS "echo '* 0 rmtown' > $PERM_CONF" do_facet $SINGLEMDS "lctl set_param -n $IDENTITY_FLUSH=-1" fi @@ -286,19 +284,15 @@ test_4() { chgrp $ID0 $DIR/$tdir $RUNAS -u $ID0 ls $DIR/$tdir || error "setgroups (1)" if [ "$CLIENT_TYPE" = "local" ]; then - if [ ! -z "$MDT" ]; then - do_facet $SINGLEMDS "echo '* $ID1 setgrp' > $PERM_CONF" - do_facet $SINGLEMDS "lctl set_param -n $IDENTITY_FLUSH=-1" - $RUNAS -u $ID1 -G1,2,$ID0 ls $DIR/$tdir || error "setgroups (2)" - fi + do_facet $SINGLEMDS "echo '* $ID1 setgrp' > $PERM_CONF" + do_facet $SINGLEMDS "lctl set_param -n $IDENTITY_FLUSH=-1" + $RUNAS -u $ID1 -G1,2,$ID0 ls $DIR/$tdir || error "setgroups (2)" fi $RUNAS -u $ID1 -G1,2 ls $DIR/$tdir && error "setgroups (3)" rm -rf $DIR/$tdir - if [ ! -z "$MDT" ]; then - do_facet $SINGLEMDS "rm -f $PERM_CONF" - do_facet $SINGLEMDS "lctl set_param -n $IDENTITY_FLUSH=-1" - fi + do_facet $SINGLEMDS "rm -f $PERM_CONF" + do_facet $SINGLEMDS "lctl set_param -n $IDENTITY_FLUSH=-1" } run_test 4 "set supplementary group ===============" @@ -431,8 +425,11 @@ test_5() { local file=$DIR/f5 [ $GSS_SUP = 0 ] && skip "without GSS support." && return - [ -z "$MDT" ] && skip "do not support do_facet operations." && return - [ ! -z "$LOCALMDT" ] && skip "client should be separated from server." && return + if ! remote_mds; then + skip "client should be separated from server." + return + fi + rm -f $file turn_capability_off @@ -499,8 +496,10 @@ test_6() { local file=$DIR/f6 [ $GSS_SUP = 0 ] && skip "without GSS support." && return - [ -z "$MDT" ] && skip "do not support do_facet operations." && return - [ ! -z "$LOCALMDT" ] && skip "client should be separated from server." && return + if ! remote_mds; then + skip "client should be separated from server." + return + fi turn_capability_off if [ $? != 0 ]; then @@ -573,7 +572,5 @@ sec_unsetup sec_cleanup -echo '=========================== finished ===============================' -[ -f "$SANITYSECLOG" ] && \ - cat $SANITYSECLOG && grep -q FAIL $SANITYSECLOG && exit 1 || true -echo "$0 completed" +complete $(basename $0) $SECONDS +exit_status