From b881bd1051451ed18610e0cc3c3cd56c8803cbc9 Mon Sep 17 00:00:00 2001 From: Andreas Dilger Date: Thu, 11 Apr 2024 19:18:28 -0600 Subject: [PATCH] LU-16915 tests: except sanity-sec test_51 Skip sanity-sec test_51 since it has started failing recently with the move to el9.3 servers. Add common lustre_os_release infrastructure to make such checking easier in the future. Test-Parameters: trivial Test-Parameters: testlist=sanity-sec env=ONLY=51,HONOR_EXCEPT=y serverdistro=el9.3 Signed-off-by: Andreas Dilger Change-Id: Id02223752df4eb3fd3b62b339e8c417eb3e86a12 Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54751 Tested-by: jenkins Reviewed-by: Oleg Drokin --- lustre/tests/sanity-sec.sh | 11 ++++++----- lustre/tests/test-framework.sh | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 5 deletions(-) diff --git a/lustre/tests/sanity-sec.sh b/lustre/tests/sanity-sec.sh index b302a28..51ca209 100755 --- a/lustre/tests/sanity-sec.sh +++ b/lustre/tests/sanity-sec.sh @@ -15,9 +15,10 @@ init_test_env $@ init_logging ALWAYS_EXCEPT="$SANITY_SEC_EXCEPT " -# bug number for skipped test: -ALWAYS_EXCEPT+=" " -# UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT! +if [[ "$MDS1_OS_ID" == "rhel" || "$MDS1_OS_ID_LIKE" =~ "rhel" ]] && + (( $MDS1_OS_VERSION_CODE == $(version_code 9.3) )); then + always_except LU-16915 51 +fi [ "$SLOW" = "no" ] && EXCEPT_SLOW="26" @@ -4381,8 +4382,8 @@ test_50() { run_test 50 "DoM encrypted file" test_51() { - [ "$MDS1_VERSION" -gt $(version_code 2.13.53) ] || - skip "Need MDS version at least 2.13.53" + (( "$MDS1_VERSION" >= $(version_code v2_13_55-38-gf05edf8e2b) )) || + skip "Need MDS version at least 2.13.55.38" mkdir $DIR/$tdir || error "mkdir $tdir" local mdts=$(comma_list $(mdts_nodes)) diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh index 2f79852..120f5a1 100755 --- a/lustre/tests/test-framework.sh +++ b/lustre/tests/test-framework.sh @@ -382,6 +382,17 @@ get_lustre_env() { export MDS1_VERSION=$(lustre_version_code mds1) export OST1_VERSION=$(lustre_version_code ost1) export CLIENT_VERSION=$(lustre_version_code client) + + # import server-side version information into local variables + # so they can be used in tests instead of checked separately + # MGS_OS_VERSION_ID, MGS_OS_ID, MGS_OS_ID_LIKE, + # MDS1_OS_VERSION_ID, MDS1_OS_ID, MDS1_OS_ID_LIKE, + # OST1_OS_VERSION_ID, OST1_OS_ID, OST1_OS_ID_LIKE, + # CLIENT_OS_VERSION_ID, CLIENT_OS_ID, CLIENT_OS_ID_LIKE + lustre_os_release "eval export" mgs + lustre_os_release "eval export" mds1 + lustre_os_release "eval export" ost1 + lustre_os_release "eval export" client fi # Prefer using "mds1" directly instead of SINGLEMDS. @@ -757,6 +768,31 @@ lustre_version_code() { version_code $(lustre_build_version $1) } +# Extract the server-side /etc/os-release information into local variables +# usage: lustre_os_release +# generates $facet_OS_ID, $facet_OS_ID_LIKE, $facet_VERSION_ID +# and also $facet_OS_VERSION_CODE=$(version_code $facet_VERSION_ID) +lustre_os_release() { + local action=${1:-echo} + local facet=$2 + local FACET_OS=$(tr "[:lower:]" "[:upper:]" <<<$facet)_OS_ + + [[ "$action" == "echo" ]] && + echo "$facet: $(do_facet $facet "cat /etc/system-release")" + do_facet $facet "[[ -r /etc/os-release ]] || ls -s /etc/*release" 1>&2 + + while read LINE; do + case $LINE in + VERSION_ID=*|ID=*|ID_LIKE=*) $action ${FACET_OS}$LINE ;; + esac + done < <(do_facet $facet "cat /etc/os-release") + + [[ "$action" == "echo" ]] && return 0 + + local facet_version=${FACET_OS}VERSION + $action ${facet_version}_CODE=\$\(version_code \$${facet_version}_ID\) +} + module_loaded () { /sbin/lsmod | grep -q "^\<$1\>" } @@ -9555,8 +9591,11 @@ init_logging() { # log actual client and server versions if needed for debugging log "Client: $(lustre_build_version client)" + lustre_os_release echo client log "MDS: $(lustre_build_version mds1)" + lustre_os_release echo mds1 log "OSS: $(lustre_build_version ost1)" + lustre_os_release echo ost1 } log_test() { -- 1.8.3.1