Bug 1385847 - livecd-creator throws python because it tries to mount unknown hfsplus filesystem type
Summary: livecd-creator throws python because it tries to mount unknown hfsplus filesy...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: lorax
Version: 7.0
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: pre-dev-freeze
: ---
Assignee: Brian Lane
QA Contact: Release Test Team
URL:
Whiteboard:
Depends On:
Blocks: 1420851
TreeView+ depends on / blocked
 
Reported: 2016-10-17 19:27 UTC by Dylan Gross
Modified: 2020-09-10 09:52 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-06-19 16:51:01 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Dylan Gross 2016-10-17 19:27:12 UTC
Description of problem:

  When using the /usr/bin/livecd-creator tool, if it detects that it needs to create an efiboot image, it *appears* that imgcreate/live.py:_generate_efiboot() will call "mkefiboot" with the -a option (--apple), even if there is no need by the customer to create the image for a Mac.   Since the hfsutils RPM doesn't seem to be provided by RedHat but rather EPEL and it may not be installed and will eventually create an error such as this when mkefiboot tries to mount the fs ....


Loop device does not match a floppy size, using default hd params
Initialized /dev/loop1 as a 20 MB HFS Plus volume
ERROR:program:mount: unknown filesystem type 'hfsplus'
mount: unknown filesystem type 'hfsplus'
Traceback (most recent call last):
  File "/usr/sbin/mkefiboot", line 153, in <module>
    opt.diskname)
  File "/usr/sbin/mkefiboot", line 44, in mkmacboot
    mkhfsimg(None, outfile, label=label, graft=graft, size=size)
  File "/usr/lib/python2.7/site-packages/pylorax/imgutils.py", line 397, in mkhfsimg
    mkfsargs=["-v", label], graft=graft)
  File "/usr/lib/python2.7/site-packages/pylorax/imgutils.py", line 374, in mkfsimage
    with Mount(loopdev, mountargs) as mnt:
  File "/usr/lib/python2.7/site-packages/pylorax/imgutils.py", line 289, in __enter__
    self.mnt = mount(self.dev, self.opts, self.mnt)
  File "/usr/lib/python2.7/site-packages/pylorax/imgutils.py", line 176, in mount
    runcmd(mount)
  File "/usr/lib/python2.7/site-packages/pylorax/executils.py", line 414, in runcmd
    return execWithRedirect(cmd[0], cmd[1:], **kwargs)
  File "/usr/lib/python2.7/site-packages/pylorax/executils.py", line 179, in execWithRedirect
    raise subprocess.CalledProcessError(ret, [command]+argv)
subprocess.CalledProcessError: Command '['mount', '/dev/loop1', '/tmp/lorax.imgutils.RbYCZf']' returned non-zero exit status 32


The user may have no intention of deploying to a mac, but it appears to still try and make an EFI image with hfsplus.



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

   livecd-tools-20.4-1.6.el7sat.x86_64
   python-imgcreate-20.4-1.6.el7sat.x86_64

How reproducible:


Steps to Reproduce:
1.   Ensure that hfsutils RPM is not installed
2.   Use a kickstart that specifies an EFI boot filesystem
   example:  
3.  Try to create using livecd-creator:  (customer example) #  livecd-creator -v '--title=Discovery Image' --compression-type=xz --cache /var/cache/build-fdi --config /tmp/tmp.nPpIV2DJcG/foreman-discovery-image/fdi-image.ks -f fdi -t /tmp

Actual results:

   The image is created successfully.   The python trace appears to just be an annoyance, but could lead to the impression that something went wrong and the image did not get created successfully.

Expected results:

   Perhaps a simple log message indicating that no mac image would be created, rather than an unhandled python trace, if hfsutils RPM is not installed.   Or a check before doing mkefiboot and perhaps don't call it with the -a option if it's unnecessary.

Additional info:

   Note:  If called from image-creator (instead of livecd-creator) I get different results, presumably because the LiveCD needs to be a bit more flexible.   But still, the python traceback should maybe be handled.

Comment 1 Brian Lane 2016-10-18 17:49:38 UTC
livecd-creator is not shipped with RHEL and is not supported. The official way to make live isos and other image types is to use livemedia-creator.

Comment 3 RHEL Program Management 2016-10-18 19:35:39 UTC
Development Management has reviewed and declined this request.
You may appeal this decision by reopening this request.

Comment 4 Dylan Gross 2016-10-18 19:50:44 UTC
Brian,

Regarding ...  "livecd-creator is not shipped with RHEL and is not supported."

The first part of that *appears* to be incorrect, which I believe nullifies the second part about not supporting it.  (Unless there's a different reason for usnot supporting it like it's tech preview or something).

As you'll see, the livecd-creator utility is provided by the livecd-tools in the Sat6.2 channel.   Please let me know if this allows further consideration of the BZ.

-----------------------------------------------
# rpm -qf $(which livecd-creator)
livecd-tools-20.4-1.6.el7sat.x86_64

# yum provides "*/livecd-creator"
Loaded plugins: product-id, search-disabled-repos, subscription-manager
1:livecd-tools-20.4-1.6.el7sat.x86_64 : Tools for building live CDs
Repo        : rhel-7-server-satellite-6.2-rpms
Matched from:
Filename    : /usr/bin/livecd-creator

1:livecd-tools-20.4-1.6.el7sat.x86_64 : Tools for building live CDs
Repo        : @rhel-7-server-satellite-6.2-rpms
Matched from:
Filename    : /usr/bin/livecd-creator


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