Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1378162

Summary: blivet.errors.DeviceFormatError: device path does not exist or is not writable
Product: [Fedora] Fedora Reporter: Adam Williamson <awilliam>
Component: python-blivetAssignee: David Lehman <dlehman>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 25CC: anaconda-maint-list, awilliam, blivet-maint-list, g.kaviyarasu, jonathan, mkolman, robatino, vanmeeuwen+fedora
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: abrt_hash:46a2117db2160d5d9d5253f052c8807032df142068a51b36ba60fb5f051da1ce; AcceptedBlocker
Fixed In Version: python-blivet-2.1.5-1.fc26 python-blivet-2.1.5-1.fc25 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-09-28 13:09:38 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: 1277287    
Attachments:
Description Flags
File: anaconda-tb
none
File: anaconda.log
none
File: dnf.librepo.log
none
File: environ
none
File: hawkey.log
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-09-21 16:30:14 UTC
Description of problem:
Crash occurred during the openQA install_delete_pata test on BIOS - not UEFI - when testing Fedora-Rawhide-20160921.n.0 . That test uses a PATA disk (that is, qemu's emulation of a PATA disk) containing an existing partition, and uses guided partitioning to wipe the entire disk; you can see a video of the install process at https://openqa.fedoraproject.org/tests/35228/file/video.ogv . The exact same test is run on both BIOS and UEFI, and both variants run on both production and staging openQA. On both production and staging the BIOS variant of the test failed but the UEFI one passed, so it seems to be a real difference between BIOS and UEFI somehow, not some openQA randomness...

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

The following was filed automatically by anaconda:
anaconda 26.3-1 exception report
Traceback (most recent call first):
  File "/usr/lib/python3.5/site-packages/blivet/formats/__init__.py", line 558, in _pre_destroy
    raise DeviceFormatError("device path does not exist or is not writable")
  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/formats/__init__.py", line 545, in destroy
    self._pre_destroy(**kwargs)
  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/deviceaction.py", line 700, in execute
    self.format.destroy()
  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/actionlist.py", line 325, in process
    action.execute(callbacks)
  File "/usr/lib/python3.5/site-packages/blivet/actionlist.py", line 48, in wrapped_func
    return func(obj, *args, **kwargs)
  File "/usr/lib/python3.5/site-packages/blivet/blivet.py", line 163, in do_it
    self.devicetree.actions.process(callbacks=callbacks, devices=self.devices)
  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 1112, in turn_on_filesystems
    storage.do_it(callbacks)
  File "/usr/lib64/python3.5/site-packages/pyanaconda/install.py", line 204, in doInstall
    turn_on_filesystems(storage, mount_only=flags.flags.dirInstall, callbacks=callbacks_reg)
  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)
blivet.errors.DeviceFormatError: device path does not exist or is not writable

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-S-dvd-x86_64-rawh quiet
executable:     /sbin/anaconda
hashmarkername: anaconda
kernel:         4.8.0-0.rc7.git1.1.fc26.x86_64
product:        Fedora
release:        Cannot get release name.
type:           anaconda
version:        rawhide

Comment 1 Adam Williamson 2016-09-21 16:30:20 UTC
Created attachment 1203393 [details]
File: anaconda-tb

Comment 2 Adam Williamson 2016-09-21 16:30:21 UTC
Created attachment 1203394 [details]
File: anaconda.log

Comment 3 Adam Williamson 2016-09-21 16:30:22 UTC
Created attachment 1203395 [details]
File: dnf.librepo.log

Comment 4 Adam Williamson 2016-09-21 16:30:24 UTC
Created attachment 1203396 [details]
File: environ

Comment 5 Adam Williamson 2016-09-21 16:30:25 UTC
Created attachment 1203397 [details]
File: hawkey.log

Comment 6 Adam Williamson 2016-09-21 16:30:26 UTC
Created attachment 1203398 [details]
File: lsblk_output

Comment 7 Adam Williamson 2016-09-21 16:30:27 UTC
Created attachment 1203399 [details]
File: nmcli_dev_list

Comment 8 Adam Williamson 2016-09-21 16:30:28 UTC
Created attachment 1203400 [details]
File: os_info

Comment 9 Adam Williamson 2016-09-21 16:30:29 UTC
Created attachment 1203401 [details]
File: storage.log

Comment 10 Adam Williamson 2016-09-21 16:30:31 UTC
Created attachment 1203402 [details]
File: syslog

Comment 11 Adam Williamson 2016-09-21 16:30:32 UTC
Created attachment 1203403 [details]
File: ifcfg.log

Comment 12 Adam Williamson 2016-09-21 16:30:33 UTC
Created attachment 1203404 [details]
File: packaging.log

Comment 13 Adam Williamson 2016-09-21 16:30:34 UTC
Created attachment 1203405 [details]
File: program.log

Comment 14 Adam Williamson 2016-09-21 16:32:23 UTC
Proposing as a Beta blocker per criterion "When using the guided partitioning flow, the installer must be able to: ...  Remove existing storage volumes to free up space, at the user's direction".

Comment 15 David Lehman 2016-09-21 19:23:15 UTC
Updates image with proposed fix:

  https://dlehman.fedorapeople.org/updates/updates-1378162.0.img


Please test and provide feedback at your convenience.

Comment 16 Adam Williamson 2016-09-22 01:48:43 UTC
test should run as https://openqa.stg.fedoraproject.org/tests/44129 , when openQA grinds around to it.

Comment 17 Adam Williamson 2016-09-22 16:43:18 UTC
Test passed, no other anaconda-ish test that passed before starting failing (except the other updates tests, because the updates image they were expecting wasn't used), so this fix looks good.

Comment 18 David Lehman 2016-09-22 17:37:22 UTC
New updates image with v2 of proposed fix:

  https://dlehman.fedorapeople.org/updates/updates-1378162.1.img


Please test and provide feedback at your convenience. The first version caused a failure when removing a second format on a disk that was scheduled for reformatting with a new disklabel.

Comment 19 Adam Williamson 2016-09-23 15:30:48 UTC
Tested:

https://openqa.stg.fedoraproject.org/tests/overview?distri=fedora&version=Rawhide&build=Fedora-Rawhide-20160921.n.0-EXTRA&groupid=1
https://openqa.stg.fedoraproject.org/tests/44497

looks good. The failures are not related to the commit (some base repo setup failures for tests that use the default repos, which just happens sometimes thanks to mirror sync problems, some existing unrelated fails, and some fails - the other updates.img tests, and the freeipa kickstart test that doesn't have working name resolution when it tries to download the updates image).

Comment 20 David Lehman 2016-09-23 20:27:08 UTC
Upstream pull request:

  https://github.com/rhinstaller/blivet/pull/512

Comment 21 Adam Williamson 2016-09-26 16:22:30 UTC
Whoops - this should be nominated as an F26 Beta blocker as it's affecting Rawhide, not F25. My bad.

Comment 22 Adam Williamson 2016-09-26 21:04:17 UTC
Hah, and right after I posted #c21, it seems the new anaconda/blivet update *does* pull this bug into F25. I ran openQA on an image built with that update - https://bodhi.fedoraproject.org/updates/FEDORA-2016-bdc5976992 - and it hit this bug in one test:

https://openqa.stg.fedoraproject.org/tests/46007

so looks like we will need this fix for F25 too, now. https://bodhi.fedoraproject.org/updates/FEDORA-2016-a8a52958b8 should fix it, I guess.

I'm gonna do a bit of cheeky process short-circuiting here and make this an accepted blocker, because we discussed it at the blocker meeting this morning:

https://meetbot-raw.fedoraproject.org/fedora-blocker-review/2016-09-26/f25-blocker-review.2016-09-26-16.04.log.html

and it was going to be accepted as a blocker, right up until I noticed it wasn't affecting F25 at the time. So I think it's OK to take it as a blocker without re-voting.

Comment 23 Fedora Update System 2016-09-27 07:21:11 UTC
python-blivet-2.1.5-1.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-a8a52958b8

Comment 24 Fedora Update System 2016-09-28 13:09:38 UTC
python-blivet-2.1.5-1.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.