Bug 1140358 - liveimg fails with file:// url
Summary: liveimg fails with file:// url
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: anaconda
Version: 21
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: rmarshall
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: ovirt-node-ng
TreeView+ depends on / blocked
 
Reported: 2014-09-10 18:10 UTC by Fabian Deutsch
Modified: 2014-11-15 09:15 UTC (History)
7 users (show)

Fixed In Version: anaconda-21.48.14-1.fc21
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-11-15 09:15:52 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
anaconda-tb (283.60 KB, text/plain)
2014-09-10 18:12 UTC, David Shea
no flags Details
patch to handle liveimg --url=file:// as special case (3.06 KB, patch)
2014-11-04 21:15 UTC, Gene Czarcinski
no flags Details | Diff

Description Fabian Deutsch 2014-09-10 18:10:05 UTC
Description of problem:
liveimg --url=file:///root/hostos/rootfs.tar.xz
in a kickstart fails with:

anaconda 21.48.4-1 exception report
Traceback (most recent call first):
  File "/usr/lib64/python2.7/site-packages/pyanaconda/packaging/livepayload.py", line 205, in update
    pct = min(100, int(100 * bytes_read / self.size))
  File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 1848, in _progress_update
    self.opts.progress_obj.update(downloaded)
ZeroDivisionError: float division by zero

http://paste.fedoraproject.org/132533/41037174/raw/

Comment 1 David Shea 2014-09-10 18:12:36 UTC
Created attachment 936280 [details]
anaconda-tb

Comment 2 Martin Kolman 2014-09-11 10:15:05 UTC
>min(100, int(100 * bytes_read / self.size))
size == 0 -> oops :P

Comment 3 Gene Czarcinski 2014-11-03 13:18:13 UTC
I am working on a fix.

A quick hack is to check for size == 0 and not do the divide by zero (fake it).

Right now, the code copies the specified file to a workarea even if file:/// is specified.  What I want to do is skip all this copy stuff if file:/// specified and just use the file directly.  The solution is a bit more complicated because that file could be a tarball, is squishfs.img or a Live install iso file.

I am dancing as fast as I can.  If someone more expert in python gets there first, I will be happy.  Just, please, cover all the bases for file:/// and the different types of files.

Comment 4 Gene Czarcinski 2014-11-04 21:15:52 UTC
Created attachment 953837 [details]
patch to handle liveimg --url=file:// as special case

This fixes the divide by zero by avoiding the whole issue of "downloading" the file.  Instead it uses the file directly.  This has the added benefit of taking a lot less time.

The patch and a updates.img for anaconda-21.48.13-1 are available at http://czarc.org

Comment 5 Fedora Update System 2014-11-11 21:02:37 UTC
anaconda-21.48.14-1.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/anaconda-21.48.14-1.fc21

Comment 6 Fedora Update System 2014-11-13 18:16:48 UTC
Package anaconda-21.48.14-1.fc21, python-blivet-0.61.9-1.fc21:
* should fix your issue,
* was pushed to the Fedora 21 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing anaconda-21.48.14-1.fc21 python-blivet-0.61.9-1.fc21'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-14928/python-blivet-0.61.9-1.fc21,anaconda-21.48.14-1.fc21
then log in and leave karma (feedback).

Comment 7 Fedora Update System 2014-11-15 09:15:52 UTC
anaconda-21.48.14-1.fc21, python-blivet-0.61.9-1.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.


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