Appliance Building
Summary
Appliances are pre-installed, pre-configured, system images. This feature consists of a tools and meta-data that make it easier for anyone (ISVs, developers, OEMS, etc) to create and deploy virtual appliances. The two components of this feature are the ACT (Appliance Creation Tool) and the AOS (The Appliance Operating System)
Owner
- Name: David Huff
Current status
- Targeted release: Fedora 10
- Last updated: 08-7-08
- Percentage of completion: %80
- https://bugzilla.redhat.com/show_bug.cgi?id=457152
Detailed Description
ACT: The Appliance Creation Tool is a tool to create Appliance Images from a kickstart file. This tool uses the liveCD creator API as well as patches to the LIVECD API originally written by Daniel P. Berrange to create a multi-partitioned disk image. These disk images can then be booted in a virtual container such as Xen, KVM, and VMware. This tool will be contained in the applianace-tools
package. This package contains tools for building appliance images on Fedora based systems including derived distributions such as RHEL, CentOS and others.
AOS: The AOS is a scaled down version of Fedora with a small footprint containing only the packages necessary to run an appliance. The hardware supported by this spin of Fedora would be limited, primarily focusing on virtual containers such as KVM and VMware. The goal is to create a base that developers can build their applications on top of, only pulling in packages that their software requires. A "start from the bottom and build up" mentality.
This is similar to the concepts of (Just enough operation system).
See more info on the project at:
Benefit to Fedora
- Provides a template for developers who want to build a fedora based appliance.
- Provides a tools for developers who want to build a fedora based appliance.
- Provides a tool to generated a preinstalled multi partitioned disk
- It would also provide a minimal version of fedora for those who want to start form the ground up and add only what they want/need
- Will start to form some continuity around what Fedora appliances will look like.
Scope
- Requires new package applinace-tools
- Requires hosting an AOS kickstart file in the kickstart pool
- Requires hosting a binary image on http://spins.fedoraproject.org/
- May require tooling changes to build/host an appliance image rather than a livecd iso? (appliance image = tar.gz which contains a binary disk image and meta-date used to launch the image.)
Target audience would mainly be developers wanting to quickly develop appliances based off of fedora
Test Plan
- Test ACT on all supported platforms, currently rawhideand KVM:
1) Build image with appliance-creator, insure image builds with no errors 2) Launch image on kvm via virt-image (repeat for X flavors of Fedora) 3) Launch image on VMware??
- Test AOS image boots
1) Download image 2) Launch image on kvm via virt-image (repeat for X flavors of Fedora) 3) Launch image on VMware??
- In all cases the expected results are really "It boots, we can log in"
User Experience
- Users can download a pre-built binary image and run in a container such as vmware or KVM and be able to have a demo up and running in minimal time
# wget http://thincrust.org/downloads/thincrust.tar.gz # tar xvfz thincrust.tar.gz # virt-image ThinCrust.xml
- Users can build there own version of the AOS locally using the appliance-creator tool
# appliance-creator -n ThinCrust -c /usr/share/appliance-tools/aos-f9.ks --cache=/var/tmp/livecd/ # virt-image ThinCrust.xml
Dependencies
- patches in Livecd-tools
- [PATCH] added get_partitions to kickstart.py
- [PATCH] re-factor imgcreate/fs.py module
- [PATCH] added compat shims in fs.py for old api
- [PATCH] switch internal code to use new api
- commited on 08/05/2008 08:27 PM
- [Fedora-livecd-list] 7 commits - imgcreate/creator.py imgcreate/fs.py imgcreate/kickstart.py imgcreate/live.py
- commit: 5a3a91fe44795fb0d5c1f6215081b214d0af3f5b
- There may be a soft dependency on the "fedora upstream" or "based on fedora" trademark discussion. We think it would really make this a strong feature if there was a story similar to: "Build the appliance, and brand it this way." without this, we need to provide alot more robust un-branding tools/doco.
Contingency Plan
- port all functionality of new api re-factor imgcreate/fs.py module into applinace-tools package
Documentation
- http://thincrust.net/
- Discussion of this project takes places at the thincrust-devel@redhat.com mailing list:
Release Notes
Fedora 10 now includes tools which make it easier for anyone (ISVs, developers, OEMS, etc) to create and deploy virtual appliances. These tools are extensions of existing fedora tools, Meta-data, and best practices for appliance development and delivery. With these tools anyone with basic scripting experience can build virtual appliances.