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/