RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1810910 - [blivet]Package libblockdev-nvdimm is missing in Rhel 8
Summary: [blivet]Package libblockdev-nvdimm is missing in Rhel 8
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: python-blivet
Version: 8.2
Hardware: Unspecified
OS: Unspecified
urgent
urgent
Target Milestone: rc
: 8.2
Assignee: Vojtech Trefny
QA Contact: Release Test Team
URL:
Whiteboard:
Depends On:
Blocks: 1810905
TreeView+ depends on / blocked
 
Reported: 2020-03-06 08:08 UTC by Gobinda Das
Modified: 2023-09-15 00:30 UTC (History)
11 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1810905
Environment:
Last Closed: 2021-09-06 07:27:07 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 107620 0 None MERGED gluster: Added 'libblockdev-plugins-all' as dependency for gluster-vdsm 2020-08-19 15:51:17 UTC

Description Gobinda Das 2020-03-06 08:08:53 UTC
Description of problem:
package libblockdev-nvdimm is missing in RHVH 4.4 which is causing disk sync failure.
[root@tendrl25 ~]# rpm -qa | grep "blivet"
python3-blivet-3.1.0-19.el8.noarch
blivet-data-3.1.0-19.el8.noarch

[root@tendrl25 ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux release 8.2


Full log:

[root@tendrl25 ~]# /usr/bin/python3
Python 3.6.8 (default, Dec  5 2019, 15:45:45)
[GCC 8.3.1 20191121 (Red Hat 8.3.1-5)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import blivet
 
** (process:857218): WARNING **: 16:35:31.051: failed to load module lvm: libbd_lvm.so.2: cannot open shared object file: No such file or directory
 
** (process:857218): WARNING **: 16:35:31.059: failed to load module mpath: libbd_mpath.so.2: cannot open shared object file: No such file or directory
 
** (process:857218): WARNING **: 16:35:31.059: failed to load module dm: libbd_dm.so.2: cannot open shared object file: No such file or directory
 
** (process:857218): WARNING **: 16:35:31.060: failed to load module nvdimm: libbd_nvdimm.so.2: cannot open shared object file: No such file or directory
>>> blivetEnv = blivet.Blivet()
>>> blivetEnv.reset()
 
** (process:857218): CRITICAL **: 16:35:49.913: The function 'bd_nvdimm_namespace_get_devname' called, but not implemented!
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.6/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/blivet.py", line 161, in reset
    self.devicetree.populate(cleanup_only=cleanup_only)
  File "/usr/lib/python3.6/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/populator/populator.py", line 413, in populate
    self._populate()
  File "/usr/lib/python3.6/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/populator/populator.py", line 461, in _populate
    self.handle_device(dev)
  File "/usr/lib/python3.6/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/populator/populator.py", line 261, in handle_device
    helper_class = self._get_device_helper(info)
  File "/usr/lib/python3.6/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/populator/populator.py", line 226, in _get_device_helper
    return get_device_helper(info)
  File "/usr/lib/python3.6/site-packages/blivet/populator/helpers/__init__.py", line 53, in get_device_helper
    return _six.next((h for h in _device_helpers if h.match(data)), None)
  File "/usr/lib/python3.6/site-packages/blivet/populator/helpers/__init__.py", line 53, in <genexpr>
    return _six.next((h for h in _device_helpers if h.match(data)), None)
  File "/usr/lib/python3.6/site-packages/blivet/populator/helpers/disk.py", line 228, in match
    udev.device_is_nvdimm_namespace(data))
  File "/usr/lib/python3.6/site-packages/blivet/udev.py", line 966, in device_is_nvdimm_namespace
    ninfo = blockdev.nvdimm_namespace_get_devname(devname)
GLib.Error: g-bd-init-error-quark: The function 'bd_nvdimm_namespace_get_devname' called, but not implemented! (1)



Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 4 Vojtech Trefny 2020-03-06 11:13:18 UTC
upstream PR with the fix: https://github.com/storaged-project/blivet/pull/738

Comment 11 Gobinda Das 2020-03-09 09:40:55 UTC
I installed libblockdev-nvdimm manually in my server but still issue persists and now it's something different.

[root@tendrl25 ~]# rpm -qa | grep libblockdev-nvdimm
libblockdev-nvdimm-2.19-12.el8.x86_64

[root@tendrl25 ~]# /usr/bin/python3
Python 3.6.8 (default, Dec  5 2019, 15:45:45) 
[GCC 8.3.1 20191121 (Red Hat 8.3.1-5)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import blivet

** (process:185621): WARNING **: 09:28:39.436: failed to load module lvm: libbd_lvm.so.2: cannot open shared object file: No such file or directory

** (process:185621): WARNING **: 09:28:39.439: failed to load module mpath: libbd_mpath.so.2: cannot open shared object file: No such file or directory

** (process:185621): WARNING **: 09:28:39.439: failed to load module dm: libbd_dm.so.2: cannot open shared object file: No such file or directory
>>> blivetEnv = blivet.Blivet()
>>> blivetEnv.reset()

** (process:185621): CRITICAL **: 09:29:13.331: The function 'bd_lvm_pvs' called, but not implemented!

** (process:185621): CRITICAL **: 09:29:13.421: The function 'bd_dm_get_subsystem_from_name' called, but not implemented!
Traceback (most recent call last):
  File "/usr/lib64/python3.6/site-packages/gi/overrides/BlockDev.py", line 967, in wrapped
    ret = orig_obj(*args, **kwargs)
GLib.Error: g-bd-init-error-quark: The function 'bd_dm_get_subsystem_from_name' called, but not implemented! (1)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.6/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/blivet.py", line 161, in reset
    self.devicetree.populate(cleanup_only=cleanup_only)
  File "/usr/lib/python3.6/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/populator/populator.py", line 413, in populate
    self._populate()
  File "/usr/lib/python3.6/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/populator/populator.py", line 461, in _populate
    self.handle_device(dev)
  File "/usr/lib/python3.6/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/populator/populator.py", line 261, in handle_device
    helper_class = self._get_device_helper(info)
  File "/usr/lib/python3.6/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/populator/populator.py", line 226, in _get_device_helper
    return get_device_helper(info)
  File "/usr/lib/python3.6/site-packages/blivet/populator/helpers/__init__.py", line 53, in get_device_helper
    return _six.next((h for h in _device_helpers if h.match(data)), None)
  File "/usr/lib/python3.6/site-packages/blivet/populator/helpers/__init__.py", line 53, in <genexpr>
    return _six.next((h for h in _device_helpers if h.match(data)), None)
  File "/usr/lib/python3.6/site-packages/blivet/populator/helpers/luks.py", line 43, in match
    return udev.device_is_dm_luks(data)
  File "/usr/lib/python3.6/site-packages/blivet/udev.py", line 633, in device_is_dm_luks
    is_crypt = device_dm_subsystem_match(info, "crypt")
  File "/usr/lib/python3.6/site-packages/blivet/udev.py", line 614, in device_dm_subsystem_match
    _subsystem = blockdev.dm.get_subsystem_from_name(name)
  File "/usr/lib64/python3.6/site-packages/gi/overrides/BlockDev.py", line 985, in wrapped
    raise self._xrules[e_type].new_exc(msg)
gi.overrides.BlockDev.BlockDevNotImplementedError: The function 'bd_dm_get_subsystem_from_name' called, but not implemented!

Any idea?

Comment 12 Vojtech Trefny 2020-03-09 14:36:00 UTC
(In reply to Gobinda Das from comment #11)
> I installed libblockdev-nvdimm manually in my server but still issue
> persists and now it's something different.
>
> Any idea?

This is another symptom of blivet not being good at handling missing dependencies. This was always an issue and we are working on fixing this but it's still work in progress and definitely not ready for 8.2.
We had a fix for the missing NVDIMM plugin ready because this was a newly added feature, but currently blivet won't work correctly without following libblockdev plugins: swap, crypto, loop, mdraid, mpath, dm.
I again suggest installing "libblockdev-plugins-all" as a workaround for this problem.

Comment 13 David Lehman 2020-03-11 23:24:33 UTC
The RHEL installation media seems to pick up the libblockdev plugin packages (all of them) because anaconda requires libblockdev-plugins-all. How is it that your installation media does not have all of anaconda's dependencies? I must be missing something.

Comment 14 David Lehman 2020-03-11 23:27:15 UTC
Ah, I think the answer to my question is that you are not using anaconda. If that is correct, probably the best solution is for you to add 'Requires: libblockdev-plugins-all' to the same spec file that has 'Requires: python3-blivet'. Is that possible?

Comment 15 Gobinda Das 2020-03-12 14:12:41 UTC
Sandro, here is the patch https://gerrit.ovirt.org/#/c/107620/ to add libblockdev-plugins-all dependency in vdsm-gluster. Will this enough to pull libblockdev-plugins-all ?

Comment 16 Sandro Bonazzola 2020-03-17 11:18:55 UTC
(In reply to Gobinda Das from comment #15)
> Sandro, here is the patch https://gerrit.ovirt.org/#/c/107620/ to add
> libblockdev-plugins-all dependency in vdsm-gluster. Will this enough to pull
> libblockdev-plugins-all ?

It will be enough but sounds like a workaround for a blivet bug, will work for us but anyone else using blivet out of anaconda or vdsm scenario will hit this again.

Comment 19 Gobinda Das 2020-04-19 06:39:35 UTC
Moving this back to NEW as I don't see a blivet build solving this.

Comment 24 RHEL Program Management 2021-09-06 07:27:07 UTC
After evaluating this issue, there are no plans to address it further or fix it in an upcoming release.  Therefore, it is being closed.  If plans change such that this issue will be fixed in an upcoming release, then the bug can be reopened.

Comment 26 Red Hat Bugzilla 2023-09-15 00:30:09 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 500 days


Note You need to log in before you can comment on or make changes to this bug.