if $SHARED_KEY; then
# bug number for skipped tests: LU-9795 (all below)
- ALWAYS_EXCEPT="$ALWAYS_EXCEPT 0 31 32a 32d 35a"
- ALWAYS_EXCEPT="$ALWAYS_EXCEPT 53a 53b 54b 76a 76b"
- ALWAYS_EXCEPT="$ALWAYS_EXCEPT 76c 76d 78 103"
+ ALWAYS_EXCEPT="$ALWAYS_EXCEPT 84 86 103"
fi
if ! combined_mgs_mds; then
check_uuid_on_mdt() {
local nid=$1
- do_facet $SINGLEMDS "$LCTL get_param mdt.${FSNAME}*.exports.'$nid'.uuid"
+ do_facet $SINGLEMDS "$LCTL get_param mdt.${mds1_svc}*.exports.'$nid'.uuid"
}
test_91() {
echo "evict $nid"
do_facet $SINGLEMDS \
"$LCTL set_param -n mdt.${mds1_svc}.evict_client nid:$nid"
+ sleep 1 # eviction above is async, give it some time to proceed
found=$(check_uuid_on_mdt $nid | grep $uuid)
[ -n "$found" ] && error "found $uuid $nid on MDT"
(( $val == 1 )) || error "obdfilter.$FSNAME-OST0001*.no_precreate=$val"
mount_client $MOUNT || error "mount client failed"
+ wait_osc_import_state mds1 ost1 FULL
+ wait_osc_import_state client ost1 FULL
wait_osc_import_state client ost2 FULL
$LFS setstripe -i 0 $DIR/$tfile.0 ||
sleep_maxage
$LFS setstripe -i 1 $DIR/$tfile.2 ||
error "failed to create $tfile.2 on ost1 facet"
+ # files not cleaned with ONLY_REPEAT because of client unmount below
+ rm -f $DIR/$tfile.[012]
stop_ost2 || error "stop ost2 facet failed"
cleanup
}
local yaml
local orig_val
+ local mgs_arg=""
+
+ [[ $MGS_VERSION -gt $(version_code 2.13.54) ]] ||
+ mgs_arg="--device MGS"
orig_val=$(do_facet mgs $LCTL get_param jobid_name)
do_facet mgs $LCTL set_param -P jobid_name="TESTNAME"
- yaml=$(do_facet mgs $LCTL --device MGS llog_print params |
+ yaml=$(do_facet mgs $LCTL $mgs_arg llog_print params |
grep jobid_name | tail -n 1)
local param=$(awk '{ print $10 }' <<< "$yaml")
local start=10
local end=50
+ local mgs_arg=""
+
+ [[ $MGS_VERSION -gt $(version_code 2.13.54) ]] ||
+ mgs_arg="--device MGS"
[ -d $MOUNT/.lustre ] || setup
# - { index: 10, event: add_uuid, nid: 192.168.20.1@tcp(0x20000c0a81401,
# node: 192.168.20.1@tcp }
- do_facet mgs $LCTL --device MGS \
+ do_facet mgs $LCTL $mgs_arg \
llog_print --start $start --end $end $FSNAME-client | tr -d , |
while read DASH BRACE INDEX idx EVENT BLAH BLAH BLAH; do
(( idx >= start )) || error "llog_print index $idx < $start"
[ -d $MOUNT/.lustre ] || setupall
local max=$($LCTL get_param -n osc.*-OST0000-*.max_dirty_mb | head -1)
+ local mgs_arg=""
+
+ [[ $MGS_VERSION -gt $(version_code 2.13.54) ]] ||
+ mgs_arg="--device MGS"
if do_facet mgs "$LCTL help llog_cancel" 2>&1| grep -q -- --log_id; then
# save one set_param -P record in case none exist
do_facet mgs $LCTL set_param -P osc.*.max_dirty_mb=$max
local log=params
- local orig=$(do_facet mgs $LCTL --device MGS llog_print $log |
+ local orig=$(do_facet mgs $LCTL $mgs_arg llog_print $log |
tail -1 | awk '{ print $4 }' | tr -d , )
do_facet mgs $LCTL set_param -P osc.*.max_dirty_mb=$max
- do_facet mgs $LCTL --device MGS llog_print $log | tail -1 |
+ do_facet mgs $LCTL $mgs_arg llog_print $log | tail -1 |
grep "parameter: osc.*.max_dirty_mb" ||
error "new set_param -P wasn't stored in params log"
# - { index: 71, event: set_param, device: general,
# param: osc.*.max_dirty_mb, value: 256 }
- local id=$(do_facet mgs $LCTL --device MGS llog_print $log |
+ local id=$(do_facet mgs $LCTL $mgs_arg llog_print $log |
tail -1 | awk '{ print $4 }' | tr -d , )
- do_facet mgs $LCTL --device MGS llog_cancel $log --log_idx=$id
- local new=$(do_facet mgs $LCTL --device MGS llog_print $log |
+ do_facet mgs $LCTL $mgs_arg llog_cancel $log --log_idx=$id
+ local new=$(do_facet mgs $LCTL $mgs_arg llog_print $log |
tail -1 | awk '{ print $4 }' | tr -d , )
(( new == orig )) ||
error "new llog_cancel now $new, not at $orig records"
[ -z $mds2failover_HOST ] && skip "needs MDT failover setup"
setup
+ do_facet mgs $LCTL --device MGS llog_print $FSNAME-client |
+ grep 1.2.3.4@tcp && error "Should not be fake nid"
+ do_facet mgs $LCTL conf_param $FSNAME-MDT0001.failover.node=1.2.3.4@tcp\
+ || error "Set params error"
+ do_facet mgs $LCTL --device MGS llog_print $FSNAME-client |
+ grep 1.2.3.4@tcp || error "Fake nid should be added"
cleanup
load_modules
echo "Before: ${facet} ${device} ${pre_max_sectors} ${max_hw_sectors}"
- do_facet ${facet} "libtool execute l_tunedisk ${device}"
+ do_facet ${facet} "l_tunedisk ${device}"
# Value after l_tunedisk
local post_max_sectors=$(get_max_sectors_kb ${facet} ${device})
}
run_test 127 "direct io overwrite on full ost"
+test_128()
+{
+ combined_mgs_mds && skip "need separate mgs device"
+ [ "$ost2_FSTYPE" == zfs ] && import_zpool ost2
+
+ format_ost 2
+ # Try to apply nolocallogs to the virgin OST. Should fail.
+ do_facet ost2 "$TUNEFS --nolocallogs $(ostdevname 2)" &&
+ error "nolocallogs should not be allowed on the virgin target"
+
+ setupall
+ stopall
+
+ [ "$ost1_FSTYPE" == zfs ] && import_zpool ost1
+ # Start OST without MGS (local configs)
+ do_facet ost1 "$TUNEFS --dryrun $(ostdevname 1)"
+ start_ost || error "unable to start OST1"
+ stop_ost || error "Unable to stop OST1"
+
+ [ "$ost1_FSTYPE" == zfs ] && import_zpool ost1
+ # Do not allow reading local configs, should fail
+ do_facet ost1 "$TUNEFS --nolocallogs $(ostdevname 1)" ||
+ error "Can not set nolocallogs"
+ start_ost && error "OST1 started, but should fail"
+
+ # Connect to MGS successfully, reset nolocallogs flag
+ [ "$ost1_FSTYPE" == zfs ] && import_zpool ost1
+ start_mgs || error "unable to start MGS"
+ start_ost || error "unable to start OST1"
+
+ do_facet ost1 "$TUNEFS --dryrun $(ostdevname 1)" | grep "nolocallogs" &&
+ error "nolocallogs expected to be reset"
+
+ stop_ost || error "Unable to stop OST1"
+}
+run_test 128 "Force using remote logs with --nolocallogs"
+
if ! combined_mgs_mds ; then
stop mgs
fi