Bug 1273688

Summary: --make-ostree-live fails in blivet/util.py umount()
Product: [Fedora] Fedora Reporter: Jon Disnard <jdisnard>
Component: loraxAssignee: Brian Lane <bcl>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 22CC: anaconda-maint-list, bcl, rvykydal, walters
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-02-11 22:58:08 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
The kickstart used for ostree live pxe
none
Anaconda TB file none

Description Jon Disnard 2015-10-21 02:55:19 UTC
Created attachment 1084956 [details]
The kickstart used for ostree live pxe

Description of problem:

Using --make-ostree-live with --no-virt option. So it fails in blivet/util.py umount() which simply shells-out to the system umount command. The issue here is that ostree is apparently leaving sub-mounts under /mnt/sysimage for things like /var or /usr. Obviously one cannot umount a location that is still being used, due to sub-mounts. I was able to work-around the issue by hacking blivet to use recursion (aka umount --recursive /mnt/sysimage), but the issue of ostree leaving stuff mounted under /mnt/sysimage cannot be ignored. I'm not sure if ostree should be changed to cleanup after itself, or if blivet should gain recursive umount. Either way, we need to get those thing umount'ed under /mnt/sysimage.


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

# rpm -q fedora-release python-blivet lorax anaconda ostree
fedora-release-22-1.noarch
lorax-22.12-1.fc22.x86_64
python-blivet-1.0.10-1.fc22.noarch
anaconda-22.20.13-1.fc22.x86_64
ostree-2015.6-2.fc22.x86_64

How reproducible:

100% using the attached kickstart

Steps to Reproduce:
1. livemedia-creator --no-virt --make-ostree-live --ks fedora-cloud-atomic-pxetolive.ks --live-rootfs-keep-size
2.
3.

Actual results:

bails in blivet/util.py:umount()

Expected results:


Additional info:

Comment 1 Jon Disnard 2015-10-21 03:09:11 UTC
Created attachment 1084958 [details]
Anaconda TB file

Here is the Anaconda TB file, compressed.

Comment 2 Radek Vykydal 2015-10-21 07:41:04 UTC
Would this PR fix the problem?
https://github.com/rhinstaller/anaconda/pull/370

Comment 3 Jon Disnard 2015-10-21 15:29:05 UTC
(In reply to Radek Vykydal from comment #2)
> Would this PR fix the problem?
> https://github.com/rhinstaller/anaconda/pull/370

Yes.

However the PR does not apply cleanly on my F22 test environment, and manually adding does not appear to succeed either. 

But generally speaking the code in rpmostreepayload.py that does umount stuff looks encouraging. Probably minor tweaks to get working in Fedora.