Stacaccli (Sta-teless Ca-ched Cl-ient)
======================================
stacaccli is a collection of tools to support the Cached Client mode
of Stateless Linux.
An overview of how this works is available from here:
http://fedoraproject.org/wiki/StatelessLinuxCachedClient
stataccli-install
=================
stacaccli-install is intended to be run on a stateless client which
has been booted using a network (e.g. NFS) root
filesystem. stacaccli-install will set up the client to run in cached
mode, using a local disk as the cache.
To run it:
$> ./stacaccli-install --verbose \
--repository=http://myserver.foo.com/images \
--image=fc6-xterminal-01 /dev/hdd
Image Repositories
==================
stacaccli-install can use OS image repositories via HTTP, FTP or
NFS. A repository contains the following an imagemetadata.xml file
which looks like:
fc6-xterminal-01
4294967296
2.6.16-1.2200_FC6
StatelessVG
LogVol00
LogVol01
1
104857600
2.6.16-1.2201_FC6
2
104857600
2.6.16-1.2202_FC6
Each image is described by its name, size, the kernel version it uses,
and the names of the LVM volume group, root and swap volumes. Each
image will also have a raw image file ($name.img) whose size is
specified by the tag and a kernel image, named
vmlinuz-$kernelversion. The volume group and volume names should be
the same names that are used in e.g. /etc/fstab on the image.
Each image may also have a number of associated revisions. Each
revision has a file named $name-$id.cow and contains the changes
made since the previous revision represented using device-mapper's COW
format. Revision identifiers must be integers.
Images should be configured to run read-only, so set READONLY=yes in
/etc/sysconfig/readonly-root.
Also, /etc/sysconfig/stacaccli on each image contain the url for image
repository, the image name and current revision so that stacacclid can
pull down image updates.
Requirements
============
The following packages are required:
- python-urlgrabber
- pyparted
- libxml2-python
- lvm2
- e2fsprogs
Until https://bugzilla.redhat.com/194452 gets fixed, we also need
policycoreutils.
A number of lvm2 and device-mapper patches are required until they are
accepted upstream. They are available from here:
http://www.gnome.org/~markmc/code/lvm-snapshot-merging/