[LU-15976] 2.15.0 - zfs-dkms packages cannot be installed under rhel8.5 Created: 28/Jun/22  Updated: 22/Aug/22  Resolved: 22/Aug/22

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.15.0
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Thomas Roth Assignee: WC Triage
Resolution: Duplicate Votes: 1
Labels: DKMS
Environment:

Alma Linux 8.5, kernel 4.18.0-348.23.1.el8_5.x86_64


Issue Links:
Related
is related to LU-16006 can't install kmod-lustre-osd-zfs Open
Epic/Theme: zfs
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

The Lustre-ZFS packages from the official Whamcloud repo do not install 

dnf install lustre  lustre-osd-zfs-mount lustre-zfs-dkms

because package lustre-osd-zfs-mount depends invariably on package kmod-lustre-osd-zfs.
kmod-packages were built for kernel ...345.2.1.. and thus do not fit (nothing provides ksym...)
That's what dkms is for?



 Comments   
Comment by Thomas Roth [ 28/Jun/22 ]

Actually, this might be due to some issue with the supplied zfs packages:
I installed (from downloads.whamcloud.com/public/lustre/lustre-2.15.0/el8.5.2111)

zfs.x86_64                   2.0.7-1.el8      
zfs-dkms.noarch         2.0.7-1.el8
libzpool4.x86_64                     2.0.7-1.el8    
libzfs4.x86_64 2.0.7-1.el8
libzfs4-devel.x86_64 2.0.7-1.el8

Then tried the above installation of the Lustre packages, which failed, then got the git repo, configure

./configure --prefix=/usr --enable-modules --disable-iokit --disable-snmp --disable-doc --disable-tests --disable-maintainer-mode --with-linux=/lib/modules/4.18.0-348.23.1.el8_5.x86_64/build --with-linux-obj=/lib/modules/4.18.0-348.23.1.el8_5.x86_64/build --with-o2ib=/usr/src/kernels/4.18.0-348.23.1.el8_5.x86_64 --disable-gss --enable-server --disable-ldiskfs --with-linux=/lib/modules/4.18.0-348.23.1.el8_5.x86_64/build --with-linux-obj=/lib/modules/4.18.0-348.23.1.el8_5.x86_64/build --disable-manpages --disable-mpitests 

, make rpms, resulting in the expected kmod-lustre-2.15.0-1, kmod-lustre-osd-zfs-2.15.0-1, ... lustre-osd-zfs-mount-2.15.0-1  - rpms, but

 

rpm -i ./kmod-lustre-osd-zfs-2.15.0-1.el8.x86_64.rpm
error: Failed dependencies:
    ksym(__cv_broadcast) = 0x03cebd8a is needed by kmod-lustre-osd-zfs-2.15.0-1.el8.x86_64
    ksym(arc_add_prune_callback) = 0x1363912f is needed by kmod-lustre-osd-zfs-2.15.0-1.el8.x86_64
    ksym(arc_buf_size) = 0xa2990474 is needed by kmod-lustre-osd-zfs-2.15.0-1.el8.x86_64
    ksym(arc_remove_prune_callback) = 0x1ab2d851 is needed by kmod-lustre-osd-zfs-2.15.0-1.el8.x86_64
...

ZFS by itself seems ok.
 

2022-06-29 Update

These self-compiled packages can be installed by

rpm -i --nodeps ...

Imho this points to the rpm-creating part of the code.

 

Comment by Minh Diep [ 28/Jun/22 ]

thomasr, to use ZFS, you can't really use any of lustre's binaries directly since they were built against lustre's patched kernel.

I assume you use on non-patches kernel, so you might need to install zfs-dkms and lustre-zfs-dkms + lustre user tools.

Comment by Thomas Roth [ 28/Jun/22 ]

Next iteration: Boot the kernel supplied by Whamcloud,

 

uname -r
4.18.0-348.2.1.el8_lustre.x86_64

Reinstall zfs, zfs-dkms -> works
Try Lustre:

 

dnf install lustre kmod-lustre kmod-lustre-osd-zfs lustre-osd-zfs-mount
Error: 
Problem 1: conflicting requests

nothing provides ksym(dmu_tx_abort) = 0xa9691ccd needed by kmod-lustre-osd-zfs-2.15.0-1.el8.x86_64 nothing provides ksym(zio_buf_alloc) = 0x0c211976 needed by kmod-lustre-osd-zfs-2.15.0-1.el8.x86_64
... 

And again, with dkms

 

dnf install lustre lustre-zfs-dkms lustre-osd-zfs-mount
Error: 
Problem 1: package lustre-osd-zfs-mount-2.15.0-1.el8.x86_64 requires kmod-lustre-osd-zfs, but none of the providers can be installed

conflicting requests nothing provides ksym(dmu_tx_abort) = 0xa9691ccd needed by kmod-lustre-osd-zfs-2.15.0-1.el8.x86_64
... 
Comment by Karsten Weiss [ 15/Jul/22 ]

Maybe I'm misunderstanding something fundamental but AFAICS at least in the ZFS+DKMS (patchless kernel) case the rpm "lustre-osd-zfs-mount" shouldn't have a hard requirement (introduced in LU-13120) for the (kernel-specific!)  "kmod-lustre-osd-zfs" rpm because the `lustre-zfs`DKMS module (rpm: lustre-zfs-dkms) does already compile and provide the kernel module osd_zfs.ko for the current kernel. And this is the only module the `kmod-lustre-osd-zfs` rpm contains.

I.e. if we are using DKMS for lustre server there should not be a kmod requirement.

Comment by Nathaniel Clark [ 22/Jul/22 ]

If you install via zfs-dkms, you need to install lustre-all-dkms or lustre-zfs-dkms, not the kmod-lustre-* rpms.

Comment by Thomas Roth [ 23/Jul/22 ]

To clarify, I did several different attempts:

  • whamcloud-supplied kernel (348.2.1) plus kmod-packages -> errors
  • distribution-supplied kernel (348.23.1) plus dkms-packages -> errors
  • distribution-supplied kernel (348.23.1) plus self-compiled Lustre (from git) -> errors

In the last step, I did "configure + make rpms", which yields new kmod-packages, obviously.

These can be force-installed by supplying --nodeps.

(I did not try "configure; make; make install"  - if that exists. That might avoid the fatal dependencies check, which seems to be introduced by the package-bundling step ?)

Comment by Karsten Weiss [ 25/Jul/22 ]

Nathaniel, this is not a personal choice but a rpm dependency of the official rpms:

 

$ rpm -q --requires -p lustre-all-dkms-2.15.0-1.el8.noarch.rpm |grep lustre-osd-zfs-mount
lustre-osd-zfs-mount
$ rpm -q --requires -p lustre-osd-zfs-mount-2.15.0-1.el8.x86_64.rpm|grep kmod
kmod-lustre-osd-zfs

 

Please also see my comment above.

Comment by Nathaniel Clark [ 25/Jul/22 ]

This dependency was added by https://review.whamcloud.com/37809 (LU-13120) for 2.14.  The solution is to either remove the kmod dependency from lustre-osd-zfs-mount, which may be the right answer because the dependencies have run kmod to utils packages prior to this, or add kmod to the "Provides" for dkms.

Comment by Jian Yu [ 22/Aug/22 ]

The issue is being fixed in LU-16059.

Generated at Sat Feb 10 03:22:54 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.