Whamcloud - gitweb
LU-17905 kernel: new kernel [SLES15 SP6 6.4.0-150600.23.14.2] 63/55563/14
authorJian Yu <yujian@whamcloud.com>
Thu, 25 Jul 2024 17:27:34 +0000 (10:27 -0700)
committerOleg Drokin <green@whamcloud.com>
Wed, 31 Jul 2024 16:07:04 +0000 (16:07 +0000)
This patch makes changes to support new SLES15 SP6 release
with kernel 6.4.0-150600.23.14.2 for Lustre client.

In Lustre test suites, there are some subtests using filefrag
from Lustre-patched e2fsprogs. This patch adds checks in those
subtests to skip them if the Lustre-patched e2fsprogs is not
installed on Lustre client.

Test-Parameters: trivial mdtcount=4 mdscount=2 \
  env=SANITY_EXCEPT="27J 103a 244a" \
  clientdistro=sles15sp6 testlist=sanity

Test-Parameters: optional clientdistro=sles15sp6 testgroup=full-part-1
Test-Parameters: optional clientdistro=sles15sp6 testgroup=full-part-2
Test-Parameters: optional clientdistro=sles15sp6 testgroup=full-part-3

Change-Id: Ib9159d200122595d0a56e3581cfc66d75ddb59f6
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55563
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
contrib/lbuild/funcs.sh
contrib/lbuild/lbuild-sles15
lustre.spec.in
lustre/ChangeLog
lustre/autoconf/lustre-core.m4
lustre/kernel_patches/targets/6.4-sles15sp6.target.in [new file with mode: 0644]
lustre/tests/sanity-compr.sh
lustre/tests/sanity-hsm.sh
lustre/tests/sanity-pfl.sh
lustre/tests/sanity-sec.sh
lustre/tests/sanity.sh

index 1627f0c..6453a46 100644 (file)
@@ -223,6 +223,7 @@ autodetect_target() {
         sles15.3) target="$(uname -r | cut -d . -f 1,2)-sles15sp3";;
        sles15.4) target="$(uname -r | cut -d . -f 1,2)-sles15sp4";;
        sles15.5) target="$(uname -r | cut -d . -f 1,2)-sles15sp5";;
+       sles15.6) target="$(uname -r | cut -d . -f 1,2)-sles15sp6";;
           fc18)   target="3.x-fc18";;
          oe2203) target="5.10-oe2203";;
        oe2203.sp1) target="5.10-oe2203sp1";;
index 2bc2df8..33eca62 100644 (file)
@@ -45,6 +45,10 @@ get_distro_kdir() {
                        ;;
                esac
                ;;
+       6.4)
+               distro=sles15.6
+               kdir=updates-sles15.6-src
+               ;;
        esac
 
        case $1 in
index e875b7b..e157c0c 100644 (file)
@@ -490,8 +490,13 @@ BuildRequires: mpich-devel
 %if "%{_vendor}" == "redhat" || 0%{?openEuler} || 0%{?suse_version} < 1500
 BuildRequires: openmpi-devel
 %else
+%if 0%{?sle_version} && 0%{?sle_version} >= 150600
+BuildRequires: openmpi4-devel
+%else
 BuildRequires: openmpi2-devel
 %endif
+# openmpi-devel
+%endif
 # openmpi
 %endif
 # mpi
index dc9e00e..250d474 100644 (file)
@@ -43,6 +43,7 @@ TBD Whamcloud
          4.18.0-513.24.1.el8  (RHEL8.9)
          4.18.0-477.27.1.el8  (RHEL8.8)
          5.4.0-37             (Ubuntu 20.04)
+         6.4.0-150600.23.14   (SLES15 SP6)
          5.14.21-150500.55.68 (SLES15 SP5)
        * Other clients known to build on these kernels at some point (others may also work):
          3.10.0-862.14.4.el7  (RHEL7.5)
index af8c98e..b6d5423 100644 (file)
@@ -5678,6 +5678,7 @@ lustre/kernel_patches/targets/5.3-sles15sp2.target
 lustre/kernel_patches/targets/5.3-sles15sp3.target
 lustre/kernel_patches/targets/5.14-sles15sp4.target
 lustre/kernel_patches/targets/5.14-sles15sp5.target
+lustre/kernel_patches/targets/6.4-sles15sp6.target
 lustre/kernel_patches/targets/3.x-fc18.target
 lustre/kernel_patches/targets/5.10-oe2203.target
 lustre/kernel_patches/targets/5.10-oe2203sp1.target
diff --git a/lustre/kernel_patches/targets/6.4-sles15sp6.target.in b/lustre/kernel_patches/targets/6.4-sles15sp6.target.in
new file mode 100644 (file)
index 0000000..2995c3d
--- /dev/null
@@ -0,0 +1,37 @@
+lnxmaj="6.4"
+lnxmin=".0"
+lnxrel="150600.23.14"
+# use this when there is an "RPM fix" which means that the name of the
+# (source) RPM has been updated but the version of the kernel inside the
+# RPM is not also updated
+rpmfix=".2"
+
+# this is the delimeter that goes before the "smp" at the end of the version
+# defaults to empty
+FLAVOR_DELIMITER="-"
+
+KERNEL_SRPM=kernel-source-${lnxmaj}${lnxmin}-${lnxrel}${rpmfix}.src.rpm
+SERIES=""
+VERSION=$lnxmaj
+EXTRA_VERSION="${lnxmin#.}-${lnxrel}_lustre.@VERSION@"
+LUSTRE_VERSION=@VERSION@
+
+OFED_VERSION=inkernel
+
+BASE_ARCHS="i686 ppc x86_64 ia64 ppc64"
+BIGMEM_ARCHS=""
+BOOT_ARCHS=""
+JENSEN_ARCHS=""
+DEFAULT_ARCHS="i686 x86_64 ia64 ppc64"
+BIGSMP_ARCHS=""
+PSERIES64_ARCHS="ppc"
+UP_ARCHS=""
+SRC_ARCHS=""
+#RPMSMPTYPE="smp"
+
+for cc in gcc ; do
+    if which $cc >/dev/null 2>/dev/null ; then
+        export CC=$cc
+        break
+    fi
+done
index 135ceba..c6b2029 100644 (file)
@@ -50,6 +50,9 @@ test_sanityn()
 run_test sanityn "Run sanityn with PFL layout"
 
 test_1000() {
+       local filefrag_op=$(filefrag -l 2>&1 | grep "invalid option")
+       [[ -z "$filefrag_op" ]] || skip_env "filefrag missing logical ordering"
+
        local blocks=128
        local dense=$(do_facet ost1 lctl get_param -n \
                              osd*.*OST0000*.extents_dense)
index 906d13e..3d20fde 100755 (executable)
@@ -4501,6 +4501,9 @@ test_227() {
 run_test 227 "changelog when explicit setting of HSM flags"
 
 test_228() {
+       local filefrag_op=$(filefrag -l 2>&1 | grep "invalid option")
+       [[ -z "$filefrag_op" ]] || skip_env "filefrag missing logical ordering"
+
        # test needs a running copytool
        copytool setup
        mkdir_on_mdt0 $DIR/$tdir
index a09dbce..268f851 100755 (executable)
@@ -2466,6 +2466,8 @@ cleanup_24() {
 }
 
 test_24a() {
+       local filefrag_op=$(filefrag -l 2>&1 | grep "invalid option")
+       [[ -z "$filefrag_op" ]] || skip_env "filefrag missing logical ordering"
        [ "$OSTCOUNT" -lt "3" ] && skip_env "needs >= 3 OSTs"
 
        trap cleanup_24 EXIT RETURN
index f540ace..867df37 100755 (executable)
@@ -5090,6 +5090,9 @@ test_55() {
 run_test 55 "access with seteuid"
 
 test_56() {
+       local filefrag_op=$(filefrag -l 2>&1 | grep "invalid option")
+       [[ -z "$filefrag_op" ]] || skip_env "filefrag missing logical ordering"
+
        local testfile=$DIR/$tdir/$tfile
 
        [[ $(facet_fstype ost1) == zfs ]] && skip "skip ZFS backend"
index 064e7d6..78ab98c 100755 (executable)
@@ -11598,6 +11598,8 @@ check_filefrag_77n() {
 }
 
 test_77n() {
+       local filefrag_op=$(filefrag -l 2>&1 | grep "invalid option")
+       [[ -z "$filefrag_op" ]] || skip_env "filefrag missing logical ordering"
        [[ "$CKSUM_TYPES" =~ t10 ]] || skip "no T10 checksum support on osc"
 
        touch $DIR/$tfile
@@ -16264,8 +16266,8 @@ cleanup_130() {
 }
 
 test_130a() {
-       local filefrag_op=$(filefrag -e 2>&1 | grep "invalid option")
-       [[ -z "$filefrag_op" ]] || skip_env "filefrag does not support FIEMAP"
+       local filefrag_op=$(filefrag -l 2>&1 | grep "invalid option")
+       [[ -z "$filefrag_op" ]] || skip_env "filefrag missing logical ordering"
 
        trap cleanup_130 EXIT RETURN