Bug 1244330

Summary: backport support for product.img and updates.img creation from 7.2
Product: Red Hat Enterprise Linux 7 Reporter: Brian Lane <bcl>
Component: loraxAssignee: Brian Lane <bcl>
Status: CLOSED ERRATA QA Contact: Release Test Team <release-test-team-automation>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.1CC: bcl, jherrman, jkurik, jstodola, pasteur, rcyriac, rstrode
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: lorax-19.6.59-1 Doc Type: Enhancement
Doc Text:
When creating an Anaconda installation image, the lorax utility now also creates a product.img file and an updates.img file. The product image contains the files in the /usr/share/lorax/product/ directory, and can be used to customize the look and behavior of the installer. The updates image contains the files from the /usr/share/lorax/updates/ directory, and can be used to automatically apply updates to the installer. Both product.img and updates.img are placed in the boot.iso image.
Story Points: ---
Clone Of:
: 1272359 (view as bug list) Environment:
Last Closed: 2015-11-19 09:41:04 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
lorax.log
none
program.log none

Description Brian Lane 2015-07-17 19:17:40 UTC
Description of problem:
The 7.1 version of lorax doesn't support creating product.img and updates.img, the 7.2 version does. This feature should be back-ported to help support other projects using lorax to create customized boot.iso's and trees.

Comment 8 Jan Stodola 2015-10-15 11:34:32 UTC
It doesn't seem to work:

# rpm -q lorax
lorax-19.6.66-1.el7.x86_64
# setenforce 0
# mkdir /usr/share/lorax/product/ /usr/share/lorax/updates/ 
# echo product_test > /usr/share/lorax/product/product
# echo updates_test > /usr/share/lorax/updates/updates
# lorax -p test -v 7 -r 2 -s <URLto base repo> -s <URL to optional repo> lorax_result
...
# cd lorax_result/
# find -name "updates*" -o -name "product*"
#

No product.img nor updates.img were created.

Another issue is that README.product says:
"The x86, ppc, ppc64le and aarch64 templates all look for /usr/share/lorax/product/ and /usr/share/lorax/updates/ directories while creating the final install tree."

s390x is not mentioned there and s390.tmpl is not creating those files - is there any reason for not implementing this feature for s390x?

Moving to ASSIGNED.

Comment 9 Jan Stodola 2015-10-15 11:35:04 UTC
Created attachment 1083219 [details]
lorax.log

Comment 10 Jan Stodola 2015-10-15 11:35:31 UTC
Created attachment 1083220 [details]
program.log

Comment 11 Brian Lane 2015-10-15 15:48:57 UTC
(In reply to Jan Stodola from comment #8)
> It doesn't seem to work:
> 
> # rpm -q lorax
> lorax-19.6.66-1.el7.x86_64
> # setenforce 0
> # mkdir /usr/share/lorax/product/ /usr/share/lorax/updates/ 
> # echo product_test > /usr/share/lorax/product/product
> # echo updates_test > /usr/share/lorax/updates/updates
> # lorax -p test -v 7 -r 2 -s <URLto base repo> -s <URL to optional repo>
> lorax_result
> ...

That isn't the correct way to test it. The files it looks for are *inside* the installation root, so they need to be added by a package.

For manual testing you can add something like this to /usr/share/lorax/runtime-postinstall.tmpl

mkdir usr/share/lorax/product/run/install/product/pyanaconda/installclasses/
append usr/share/lorax/product/run/install/product/pyanaconda/installclasses/custom.py "import logging\nlog = logging.getLogger('anaconda')\nlog.info('bcl was here')\n"

> Another issue is that README.product says:
> "The x86, ppc, ppc64le and aarch64 templates all look for
> /usr/share/lorax/product/ and /usr/share/lorax/updates/ directories while
> creating the final install tree."
> 
> s390x is not mentioned there and s390.tmpl is not creating those files - is
> there any reason for not implementing this feature for s390x?

Looks like it needs commit a2c2a4be280794dcb1, but I'm not sure how important s390 support is at the moment. If it is required, please open a new bug with blocker=? set.

Comment 12 Jan Stodola 2015-10-16 08:47:03 UTC
(In reply to Brian Lane from comment #11)
> (In reply to Jan Stodola from comment #8)
> > It doesn't seem to work:
> > ...
> That isn't the correct way to test it. The files it looks for are *inside*
> the installation root, so they need to be added by a package.

Thanks, I've created bug 1272361 to make it more clear.

After creating the files in the correct location, both product.img and updates.img were created, included on boot.iso and automatically loaded during boot.

> > Another issue is that README.product says:
> > "The x86, ppc, ppc64le and aarch64 templates all look for
> > /usr/share/lorax/product/ and /usr/share/lorax/updates/ directories while
> > creating the final install tree."
> > 
> > s390x is not mentioned there and s390.tmpl is not creating those files - is
> > there any reason for not implementing this feature for s390x?
> 
> Looks like it needs commit a2c2a4be280794dcb1, but I'm not sure how
> important s390 support is at the moment. If it is required, please open a
> new bug with blocker=? set.

Reported as bug 1272359, but it's not a blocker.


Tested with lorax-19.6.66-1.el7.
Moving to VERIFIED.

Comment 14 errata-xmlrpc 2015-11-19 09:41:04 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHEA-2015-2289.html