X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2Fsanity-selinux.sh;h=8f0869adb2cc785bae8970f2ab37e1bb5ed1cccd;hb=83d660436a164758fd4a29c1433d11c0f4591196;hp=c3990be71856a30041c1178da98a905b881d24e8;hpb=d2fff2c2e49526f1bcbdb1f63ed20aff558b3836;p=fs%2Flustre-release.git diff --git a/lustre/tests/sanity-selinux.sh b/lustre/tests/sanity-selinux.sh index c3990be..8f0869a 100755 --- a/lustre/tests/sanity-selinux.sh +++ b/lustre/tests/sanity-selinux.sh @@ -465,6 +465,7 @@ check_nodemap() { local nm=$1 local key=$2 local val=$3 + local facets="" local i if [ "$nm" == "active" ]; then @@ -472,17 +473,23 @@ check_nodemap() { else proc_param="$nm.$key" fi - is_sync=false - for i in $(seq 1 20); do - out=$(do_facet mds1 $LCTL get_param -n \ + # check all MDS nodes, in reverse order to privilege remote ones first + for i in $(seq $MDSCOUNT); do + facets="mds$i $facets" + done + for facet in $facets; do + is_sync=false + for i in {1..20}; do + out=$(do_facet $facet $LCTL get_param -n \ nodemap.$proc_param 2>/dev/null) - echo "On mds1, ${proc_param} = $out" - [ "$val" == "$out" ] && is_sync=true && break - sleep 1 + echo "On $facet, ${proc_param} = $out" + [ "$val" == "$out" ] && is_sync=true && break + sleep 1 + done + if ! $is_sync; then + error "$proc_param not updated on $facet after 20 secs" + fi done - if ! $is_sync; then - error "$proc_param not updated on mds1 after 20 secs" - fi } create_nodemap() { @@ -504,8 +511,8 @@ create_nodemap() { check_nodemap $nm admin_nodemap 1 check_nodemap $nm trusted_nodemap 1 + sleep 10 sepol=$(l_getsepol | cut -d':' -f2- | xargs) - do_facet mgs $LCTL set_param nodemap.$nm.sepol="$sepol" do_facet mgs $LCTL set_param -P nodemap.$nm.sepol="$sepol" check_nodemap $nm sepol $sepol @@ -516,6 +523,11 @@ remove_nodemap() { do_facet mgs $LCTL nodemap_del $nm + wait_update_facet --verbose mds1 \ + "$LCTL get_param nodemap.$nm.id 2>/dev/null | \ + grep -c $nm || true" 0 30 || + error "nodemap $nm could not be removed" + do_facet mgs $LCTL nodemap_activate 0 check_nodemap active x 0 @@ -569,7 +581,6 @@ test_21a() { # store wrong sepol in nodemap sepol="0:policy:0:0000000000000000000000000000000000000000000000000000000000000000" - do_facet mgs $LCTL set_param nodemap.c0.sepol="$sepol" do_facet mgs $LCTL set_param -P nodemap.c0.sepol="$sepol" check_nodemap c0 sepol $sepol @@ -683,7 +694,6 @@ test_21b() { # store wrong sepol in nodemap sepol="0:policy:0:0000000000000000000000000000000000000000000000000000000000000000" - do_facet mgs $LCTL set_param nodemap.c0.sepol="$sepol" do_facet mgs $LCTL set_param -P nodemap.c0.sepol="$sepol" check_nodemap c0 sepol $sepol @@ -708,12 +718,12 @@ test_21b() { # reset correct sepol sepol=$(l_getsepol | cut -d':' -f2- | xargs) - do_facet mgs $LCTL set_param nodemap.c0.sepol="$sepol" do_facet mgs $LCTL set_param -P nodemap.c0.sepol="$sepol" check_nodemap c0 sepol $sepol - # metadata ops with sepol every 10 seconds only - echo 10 > /sys/module/ptlrpc/parameters/send_sepol + # metadata ops with sepol every 1000 seconds only + echo 1000 > /sys/module/ptlrpc/parameters/send_sepol + local before=$(date +%s) touch $DIR/$tdir/f6 || error "touch (4)" lfs setstripe -c1 $DIR/$tdir/f7 || error "lfs setstripe (4)" mkdir $DIR/$tdir/d6 || error "mkdir (4)" @@ -762,7 +772,9 @@ test_21b() { ln $DIR/$tdir/toopen $DIR/$tdir/toopen_hl5 || error "hardlink (5)" echo 3 > /proc/sys/vm/drop_caches - sleep 10 + local after=$(date +%s) + # change send_sepol to a smaller, already expired, value + echo $((after-before-1)) > /sys/module/ptlrpc/parameters/send_sepol # metadata ops without matching sepol: should fail now touch $DIR/$tdir/f10 && error "touch (6)" lfs setstripe -c1 $DIR/$tdir/f11 && error "lfs setstripe (6)"