rocky-linux / sig-cloud-instance-images

53 stars 7 forks source link

Problem installing lustre 2.15.3 on Rocky linux 9.2 #45

Closed denisbertini closed 12 months ago

denisbertini commented 1 year ago

I tried to install the latest lustre client RPMs for Rocky Linux 9.2 using the official Rocky linux 9.2 docker using the following command

(that worked perfectly on Rocky linux 8.x up to 8.8 )

cat <<EOF >/etc/yum.repos.d/lustre-client.repo
[lustre-client]
name=Lustre Client
gpgcheck=0
baseurl=http://downloads.whamcloud.com/public/lustre/lustre-2.15.3/el9.2/client
EOF
yum install -y lustre-client

But it gives this errors:


+ yum install -y lustre-client-devel
Lustre Client                                                                                                                                                  25 kB/s |  64 kB     00:02    
Error: 
 Problem: package lustre-client-devel-2.15.3-1.el9.x86_64 requires kmod-lustre-client = 2.15.3, but none of the providers can be installed
  - conflicting requests
  - nothing provides kernel(crypto_ahash_digest) = 0xc50a5719 needed by kmod-lustre-client-2.15.3-1.el9.x86_64
  - nothing provides kernel(crypto_ahash_final) = 0x39073654 needed by kmod-lustre-client-2.15.3-1.el9.x86_64
  - nothing provides kernel(crypto_ahash_setkey) = 0x577e4a60 needed by kmod-lustre-client-2.15.3-1.el9.x86_64
  - nothing provides kernel(crypto_alloc_ahash) = 0x291a209c needed by kmod-lustre-client-2.15.3-1.el9.x86_64
  - nothing provides kernel(crypto_alloc_base) = 0xd4b6cf95 needed by kmod-lustre-client-2.15.3-1.el9.x86_64
  - nothing provides kernel(crypto_alloc_shash) = 0x98ddbeda needed by kmod-lustre-client-2.15.3-1.el9.x86_64
  - nothing provides kernel(crypto_alloc_skcipher) = 0xdf166e36 needed by kmod-lustre-client-2.15.3-1.el9.x86_64
  - nothing provides kernel(crypto_alloc_sync_skcipher) = 0xa9b0847c needed by kmod-lustre-client-2.15.3-1.el9.x86_64
  - nothing provides kernel(crypto_cipher_encrypt_one) = 0x28acf635 needed by kmod-lustre-client-2.15.3-1.el9.x86_64
  - nothing provides kernel(crypto_cipher_setkey) = 0xbda9e6d6 needed by kmod-lustre-client-2.15.3-1.el9.x86_64
  - nothing provides kernel(crypto_destroy_tfm) = 0xd18dacc2 needed by kmod-lustre-client-2.15.3-1.el9.x86_64
  - nothing provides kernel(crypto_register_shash) = 0xc3063037 needed by kmod-lustre-client-2.15.3-1.el9.x86_64
  - nothing provides kernel(crypto_req_done) = 0x2c6a5b21 needed by kmod-lustre-client-2.15.3-1.el9.x86_64
  - nothing provides kernel(crypto_shash_digest) = 0x8dc78714 needed by kmod-lustre-client-2.15.3-1.el9.x86_64
  - nothing provides kernel(crypto_shash_finup) = 0xa3713695 needed by kmod-lustre-client-2.15.3-1.el9.x86_64
  - nothing provides kernel(crypto_shash_setkey) = 0x2cf93f39 needed by kmod-lustre-client-2.15.3-1.el9.x86_64
  - nothing provides kernel(crypto_shash_update) = 0x074f18b9 needed by kmod-lustre-client-2.15.3-1.el9.x86_64
  - nothing provides kernel(crypto_skcipher_decrypt) = 0x94437fc6 needed by kmod-lustre-client-2.15.3-1.el9.x86_64
  - nothing provides kernel(crypto_skcipher_encrypt) = 0xb2ffa5b1 needed by kmod-lustre-client-2.15.3-1.el9.x86_64
  - nothing provides kernel(crypto_skcipher_setkey) = 0x1fcaf4e5 needed by kmod-lustre-client-2.15.3-1.el9.x86_64
  - nothing provides kernel(crypto_stats_ahash_update) = 0xa4582db7 needed by kmod-lustre-client-2.15.3-1.el9.x86_64
  - nothing provides kernel(crypto_stats_get) = 0xf7f859b8 needed by kmod-lustre-client-2.15.3-1.el9.x86_64
  - nothing provides kernel(crypto_unregister_shash) = 0x8944b515 needed by kmod-lustre-client-2.15.3-1.el9.x86_64
  - nothing provides /usr/bin/python2 needed by lustre-client-dkms-2.15.3-1.el9.noarch
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
FATAL:   While performing build: while running engine: exit status 1

Any idea why the Kernel crypto symbols are missing on the distro? Could it be linked to a separate module that needs to be loaded to the OS?

lumarel commented 1 year ago

Hi Denis!

This looks to me like lustre requires a kernel module, also can see a dkms module in their repo, but here is the thing, a container does not provide a kernel, did you already try to install in a VM, I suspect it will work there?

(if you check against pkgs.org you will see that kernel-core provides these dependencies: https://pkgs.org/search/?q=kernel(crypto_ahash_digest))

denisbertini commented 1 year ago

yes OK there is not kernel shipped with the container but why only the crypto_xxx kernel entry points are missing. But anyway good idea, i can try it on a VM with real rocky 9.2 kernel.

lumarel commented 1 year ago

As you can see here the kernel is excluded from the container creation, which makes it not being installed in the container. Theoretically it should be able to install the kernel in the container, and normally if the BaseOS repo is accessible it should also pull the kernel packages into the container.

But... I just saw another thing:

- nothing provides /usr/bin/python2 needed by lustre-client-dkms-2.15.3-1.el9.noarch

There is no python2 in EL9, like at all.

denisbertini commented 1 year ago

yes indeed no python, i think you need to use alternatives or install it yourself. But this is also strange ...

lumarel commented 1 year ago

Nono, that's a package dependency, that would need to be fixed by the lustre-client maintainer (removed or changed to python3), as there is really no package with the /usr/bin/python2 file in it, dnf (rpm) will just not be able to find that dependency.

denisbertini commented 1 year ago

oh than we have to tell this to the lustre-client maintainers

lumarel commented 12 months ago

Close as discussed this is something for the lustre-client people