Anaconda/Features/ReworkLiveCD

= Rework current livecd support (livemedia-creator) =

Summary
Rethink livecd installation and figure a way to sanely support. RHEL use case is virt (RHEV). Fedora use case are the live CDs.

The creation of live cd/dvd media should use Anaconda instead of python-imgcreate. Currently we have to maintain logic in both places and the final install is not the same since two different methods are used to populate the target image. We then promote installing from livecd's to the user's system, resulting in a system that really wasn't built by Anaconda.

lorax is what builds the install trees and creates the boot media. It is the logical place to maintain any live image creation code. The treebuilder branch goes a long ways towards making this possible, but it needs to be enhanced to use Anaconda to install to the target image file instead of the custom templates that it uses for boot media.

Owner

 * Name: Brian Lane

Current status

 * Targeted release: Fedora 17
 * Last updated: 2012-04-04
 * Percentage of completion: 100%

Detailed Description
The only reliable way to create a livecd that works exactly like a DVD install is to use anaconda to handle the livecd creation instead of livecd-creator. The way to do this is to use the netboot.iso or dvd iso created by pungi+lorax. Everything else is a pale imitation. The plan, as it currently stands, is to use virt-install to process the kickstart into an image. The files from that will then be wrapped up inside a squashfs filesystem and wrapped in a bootable iso as we currently do for Live CD creation.

Parts to build
 * kickstart to image processing using virt-install (WORKS)
 * Enhancements to anaconda to allow kickstarts to modify anaconda behavior via a plugin API (NOT NEEDED)
 * creation of squashfs filesystem (WORKS)
 * move installed files to squashfs filesystem (WORKS)
 * create iso to boot the squashfs filesystem (WORKS)
 * Integrate these into lorax and a new application owned by the lorax package (WORKS)
 * livemedia-creator is the name of the new tool, included in lorax-17.1-1 release
 * Naive build host calling anaconda directly (WORKS)

Benefit to Fedora

 * Less bugs, more features
 * Logic for releases only needs to be maintained in lorax, which makes boot media, and in anaconda the installer as opposed to maintaining specific information in python-imgcreate and livecd-creator.

Scope

 * Anaconda
 * Lorax

Test Plan
Modify existing spin kickstarts (changes needed are documented in the README.livemedia-creator included in lorax) and use the standard LiveCD testing criteria. And example Fedora Desktop kickstart is here.

User Experience
Users will experience less bugs and will have a system that is identical to one installed using the DVD.

Dependencies

 * Anaconda
 * Lorax
 * virt-install

Contingency Plan

 * Continue to use python-imgcreate

Documentation
Documentation is included in README.livemedia-creator in Lorax.

Release Notes

 * livemedia-creator is now included in Lorax as of release 17.1 and can be used to create live iso's using modified spin kickstarts.
 * Fedora 17 LiveCD's will continue to use livecd-creator.
 * Fedora 18 will use livemedia-creator to create LiveCDs. This will require changing how koji is used for the LiveCD builds.