linux-system-roles / storage

Ansible role for linux storage management
https://linux-system-roles.github.io/storage/
MIT License
101 stars 58 forks source link

fix: Add libblockdev-nvme to blivet dependencies on RHEL/CentOS 9 #383

Closed vojtechtrefny closed 10 months ago

vojtechtrefny commented 11 months ago

On RHEL blivet now also uses libblockdev NVMe plugin so we should add it as a dependency here as well.

Fixes: #382

spetrosi commented 11 months ago

[citest]

richm commented 11 months ago

Do we need a list of packages in vars/ files at all, for any platform? Doesn't blivet dynamically generate the list of packages to be installed?

vojtechtrefny commented 11 months ago

Do we need a list of packages in vars/ files at all, for any platform? Doesn't blivet dynamically generate the list of packages to be installed?

Technically all dependencies of blivet are optional and it's up to the user to install all dependencies they need (we for example don't have libblockdev-loop here because the role doesn't support loop device management, but blivet does). I wouldn't be against just requiring everything in blivet, but we had lot of issues from people complaining about too many dependencies that are not needed.

libblockdev-nvme is not needed for working with NVMe drives (we need it just to gather some extra information about the namespace and for NVMe over Fabrics support, we can use NVMes without it) so we could just not include the dependency and ignore the warnings if we are ok with that.

richm commented 11 months ago

Do we need a list of packages in vars/ files at all, for any platform? Doesn't blivet dynamically generate the list of packages to be installed?

Technically all dependencies of blivet are optional and it's up to the user to install all dependencies they need (we for example don't have libblockdev-loop here because the role doesn't support loop device management, but blivet does). I wouldn't be against just requiring everything in blivet, but we had lot of issues from people complaining about too many dependencies that are not needed.

libblockdev-nvme is not needed for working with NVMe drives (we need it just to gather some extra information about the namespace and for NVMe over Fabrics support, we can use NVMes without it) so we could just not include the dependency and ignore the warnings if we are ok with that.

Fine with me - but can we somehow suppress the WARNING and CRITICAL errors? Many times we have storage role issues, and the very first thing the user sees is the WARNING and CRITICAL which leads the user on the wrong path - these messages just add noise and make debugging more difficult.