Bug 1395398

Summary: gi.overrides.BlockDev.BlockDevNotImplementedError: The function 'bd_dm_map_exists' called, but not implemented!
Product: [Fedora] Fedora Reporter: Adam Williamson <awilliam>
Component: libblockdevAssignee: Vratislav Podzimek <vpodzime>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: anaconda-maint-list, g.kaviyarasu, jburke, jonathan, mkolman, mschorm, robatino, sbueno, vanmeeuwen+fedora, vpodzime, vponcova
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: abrt_hash:4d7ddbfc0489210a71a0e35f3d9f2ad7be37ee75fe7c1ca6f0af9379bb3bd403; AcceptedBlocker
Fixed In Version: libblockdev-2.1-2.fc26 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-12-09 19:16:48 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1349184    
Attachments:
Description Flags
File: anaconda-tb
none
File: anaconda.log
none
File: dnf.librepo.log
none
File: environ
none
File: lsblk_output
none
File: nmcli_dev_list
none
File: os_info
none
File: storage.log
none
File: syslog
none
File: ifcfg.log
none
File: packaging.log
none
File: program.log none

Description Adam Williamson 2016-11-15 22:09:00 UTC
Description of problem:
Happens on boot of any Rawhide installer image from Fedora-Rawhide-20161108.n.1 onwards.

Version-Release number of selected component:
anaconda-26.11-1

The following was filed automatically by anaconda:
anaconda 26.11-1 exception report
Traceback (most recent call first):
  File "/usr/lib64/python3.5/site-packages/gi/overrides/BlockDev.py", line 433, in wrapped
    raise self._xrules[e_type].new_exc(msg)
  File "/usr/lib/python3.5/site-packages/blivet/devices/dm.py", line 113, in status
    return blockdev.dm.map_exists(self.map_name, True, True)
  File "/usr/lib/python3.5/site-packages/blivet/threads.py", line 45, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.5/site-packages/blivet/devices/storage.py", line 146, in __init__
    if self.status:
  File "/usr/lib/python3.5/site-packages/blivet/threads.py", line 45, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.5/site-packages/blivet/devices/dm.py", line 84, in __init__
    parents=parents, sysfs_path=sysfs_path)
  File "/usr/lib/python3.5/site-packages/blivet/threads.py", line 45, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.5/site-packages/blivet/devices/lvm.py", line 596, in __init__
    exists=exists)
  File "/usr/lib/python3.5/site-packages/blivet/threads.py", line 45, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.5/site-packages/blivet/devices/lvm.py", line 1736, in __init__
    percent, cache_request, pvs, from_lvs)
  File "/usr/lib/python3.5/site-packages/blivet/threads.py", line 45, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.5/site-packages/blivet/populator/helpers/lvm.py", line 264, in add_lv
    exists=True, **lv_kwargs)
  File "/usr/lib/python3.5/site-packages/blivet/populator/helpers/lvm.py", line 319, in _update_lvs
    new_lv = add_lv(lv)
  File "/usr/lib/python3.5/site-packages/blivet/populator/helpers/lvm.py", line 401, in run
    self._update_lvs()
  File "/usr/lib/python3.5/site-packages/blivet/populator/populator.py", line 345, in handle_format
    helper_class(self, info, device).run()
  File "/usr/lib/python3.5/site-packages/blivet/threads.py", line 45, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.5/site-packages/blivet/populator/populator.py", line 318, in handle_device
    self.handle_format(info, device)
  File "/usr/lib/python3.5/site-packages/blivet/threads.py", line 45, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.5/site-packages/blivet/populator/populator.py", line 518, in _populate
    self.handle_device(dev)
  File "/usr/lib/python3.5/site-packages/blivet/threads.py", line 45, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.5/site-packages/blivet/populator/populator.py", line 451, in populate
    self._populate()
  File "/usr/lib/python3.5/site-packages/blivet/threads.py", line 45, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.5/site-packages/blivet/blivet.py", line 271, in reset
    self.devicetree.populate(cleanup_only=cleanup_only)
  File "/usr/lib/python3.5/site-packages/blivet/threads.py", line 45, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.5/site-packages/blivet/osinstall.py", line 1175, in storage_initialize
    storage.reset()
  File "/usr/lib64/python3.5/threading.py", line 862, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib64/python3.5/site-packages/pyanaconda/threads.py", line 251, in run
    threading.Thread.run(self, *args, **kwargs)
gi.overrides.BlockDev.BlockDevNotImplementedError: The function 'bd_dm_map_exists' called, but not implemented!

Additional info:
addons:         com_redhat_kdump, com_redhat_docker
cmdline:        /usr/bin/python3  /sbin/anaconda
cmdline_file:   BOOT_IMAGE=vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=Fedora-E-dvd-x86_64-rawh quiet
executable:     /sbin/anaconda
hashmarkername: anaconda
kernel:         4.9.0-0.rc5.git0.1.fc26.x86_64
product:        Fedora
release:        Cannot get release name.
type:           anaconda
version:        rawhide

Comment 1 Adam Williamson 2016-11-15 22:09:06 UTC
Created attachment 1220964 [details]
File: anaconda-tb

Comment 2 Adam Williamson 2016-11-15 22:09:07 UTC
Created attachment 1220965 [details]
File: anaconda.log

Comment 3 Adam Williamson 2016-11-15 22:09:08 UTC
Created attachment 1220966 [details]
File: dnf.librepo.log

Comment 4 Adam Williamson 2016-11-15 22:09:10 UTC
Created attachment 1220967 [details]
File: environ

Comment 5 Adam Williamson 2016-11-15 22:09:11 UTC
Created attachment 1220968 [details]
File: lsblk_output

Comment 6 Adam Williamson 2016-11-15 22:09:12 UTC
Created attachment 1220969 [details]
File: nmcli_dev_list

Comment 7 Adam Williamson 2016-11-15 22:09:13 UTC
Created attachment 1220970 [details]
File: os_info

Comment 8 Adam Williamson 2016-11-15 22:09:14 UTC
Created attachment 1220971 [details]
File: storage.log

Comment 9 Adam Williamson 2016-11-15 22:09:16 UTC
Created attachment 1220972 [details]
File: syslog

Comment 10 Adam Williamson 2016-11-15 22:09:17 UTC
Created attachment 1220973 [details]
File: ifcfg.log

Comment 11 Adam Williamson 2016-11-15 22:09:18 UTC
Created attachment 1220974 [details]
File: packaging.log

Comment 12 Adam Williamson 2016-11-15 22:09:19 UTC
Created attachment 1220975 [details]
File: program.log

Comment 13 Adam Williamson 2016-11-15 22:10:41 UTC
This prevents all F26 installer images from reaching the Welcome screen, so it's an automatic blocker per " Complete failure of any release-blocking TC/RC image to boot at all under any circumstance - "DOA" image (conditional failure is not an automatic blocker)".

This is why most Rawhide openQA tests fail since 2016-11-08.

Comment 14 Adam Williamson 2016-11-15 22:11:14 UTC
I think this is probably in libblockdev.

Comment 15 Vratislav Podzimek 2016-11-16 07:33:56 UTC
This is caused by quite weird in 'dmsetup' utility's behavior. And it should be fixed in libblockdev-2.1-2.fc26 built yesterday.

Comment 16 Yanko Kaneti 2016-11-16 15:24:23 UTC
*** Bug 1394819 has been marked as a duplicate of this bug. ***

Comment 17 Adam Williamson 2016-11-16 16:12:36 UTC
Well, it's broken *differently* now:

https://openqa.fedoraproject.org/tests/48712#step/_boot_to_anaconda/8

ValueError: Namespace BlockDev not available for version 1.0

Comment 18 Adam Williamson 2016-11-16 16:13:36 UTC
That just means blivet is requiring explicitly blockdev 1.0 but that is no longer available (because it's 2.0 now), right? Guess I'll file another bug.

Comment 19 Adam Williamson 2016-11-16 16:45:01 UTC
Filed https://bugzilla.redhat.com/show_bug.cgi?id=1395791 . I'm not closing this yet as I *think* that one happens before this, so we can't technically be sure this is fixed yet.

Comment 20 Vratislav Podzimek 2016-11-18 07:50:27 UTC
(In reply to Adam Williamson from comment #19)
> Filed https://bugzilla.redhat.com/show_bug.cgi?id=1395791 . I'm not closing
> this yet as I *think* that one happens before this, so we can't technically
> be sure this is fixed yet.

Yes, you're absolutely right about this.

Comment 21 Adam Williamson 2016-12-09 19:16:48 UTC
This is OK now, install tests are mostly working.

Comment 22 Adam Williamson 2016-12-14 16:53:39 UTC
However, this is now affecting F25, as lvm2 (which ultimately contains dmsetup) got bumped in an F25 update. This affects folks building updated F25 images. Can the fix be backported to F25's libblockdev?

Comment 23 Adam Williamson 2016-12-14 18:39:57 UTC
vpodzime says https://bodhi.fedoraproject.org/updates/FEDORA-2016-0510ab2764 should fix this for F25.