Since fail_loc and fail_val are common for all services on a node,
it is only necessary to set it once per node instead of once per
facet. That avoids a bunch of extra remote commands and spew in
the test output.
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I9a69eb325fa80a90d929ab9a258cce21973ebbe5
Reviewed-on: http://review.whamcloud.com/8978
Tested-by: Jenkins
Reviewed-by: Faccini Bruno <bruno.faccini@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
build_test_filter
lustre_fail() {
- local fail_node=$1
+ local fail_node=$1
local fail_loc=$2
local fail_val=${3:-0}
+ local NODES=
- if [ $fail_node == "mds" ] || [ $fail_node == "mds_ost" ]; then
- do_facet $SINGLEMDS "lctl set_param fail_val=$fail_val"
- do_facet $SINGLEMDS "lctl set_param fail_loc=$fail_loc"
- fi
+ case $fail_node in
+ mds_ost|mdt_ost) NODES="$(comma_list $(mdts_nodes) $(osts_nodes))";;
+ mds|mdt) NODES="$(comma_list $(mdts_nodes))";;
+ ost) NODES="$(comma_list $(osts_nodes))";;
+ esac
- if [ $fail_node == "ost" ] || [ $fail_node == "mds_ost" ]; then
- for num in `seq $OSTCOUNT`; do
- do_facet ost$num "lctl set_param fail_val=$fail_val"
- do_facet ost$num "lctl set_param fail_loc=$fail_loc"
- done
- fi
+ do_nodes $NODES "lctl set_param fail_val=$fail_val fail_loc=$fail_loc"
}
RUNAS="runas -u $TSTID -g $TSTID"