From 94aa5f7af1dab41d255b03c1552cdbbca6724bc1 Mon Sep 17 00:00:00 2001 From: Gregoire Pichon Date: Wed, 31 May 2017 00:07:56 +0200 Subject: [PATCH] LU-9533 tests: fix get_lustre_version in obdfilter-survey Retrieve the lustre version using the same method as in test-framework.sh so that it works for every versions of Lustre. Signed-off-by: Gregoire Pichon Change-Id: I1fb14961b4ef1d5f3365ba78590459c5e6a75aef Reviewed-on: https://review.whamcloud.com/27338 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Justin Miller Reviewed-by: Andreas Dilger --- lustre-iokit/obdfilter-survey/obdfilter-survey | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/lustre-iokit/obdfilter-survey/obdfilter-survey b/lustre-iokit/obdfilter-survey/obdfilter-survey index 12a8382..8b43ce5 100755 --- a/lustre-iokit/obdfilter-survey/obdfilter-survey +++ b/lustre-iokit/obdfilter-survey/obdfilter-survey @@ -236,16 +236,27 @@ print_summary () { echo $minusn "$*" } +# Return a numeric version code based on a version string. The version +# code is useful for comparison two version strings to see which is newer. version_code() { # split arguments like "2.3.61" into "2", "3", "61" eval set -- $(tr "[:punct:]" " " <<< $*) echo -n "$((($1 << 16) | ($2 << 8) | $3))" } +# inspired from the lustre_build_version routine in test-framework.sh get_lustre_version() { local host=${1:-${unique_hosts[0]}} - remote_shell $host $lctl get_param -n version | - awk '/^lustre:/ {print $2}' + local ver + + ver=$(remote_shell $host "$lctl get_param -n version 2>/dev/null || + $lctl lustre_build_version 2>/dev/null || + $lctl --version 2>/dev/null | cut -d' ' -f2") + local lver=$(egrep -i "lustre: |version: " <<<$ver | head -n 1) + [ -n "$lver" ] && ver="$lver" + + sed -e 's/.*: //' -e 's/^v//' -e 's/-.*//' -e 's/_/./g' <<<$ver | + cut -d. -f1-4 } # Check whether the record size (KBytes) exceeds the maximum bulk I/O RPC size -- 1.8.3.1