VZGOT Description: vzgot is a package to manage linux container. it is working with a PLAIN linux kernel (currently 2.6.31.6-162.fc12), without need to make any kernel adjustementm (project mandatory). Most of installation is done using shell script, allowing host admin to make local adjustement. I was able to have containers (rh7.3, rh8, rh9, fc2 -> fc12, Centos 4.6 ->5.3) for a total of 33, up and running on a FC12 plain distribution. Some old distribution need small adjustement and RPM are included within the vzgot RPM (src.rpm included). Template used by vzgot are the exact same one used with openvz (this was project mandatory) commands: Basic commands: vzgot boot|shutdown container_name To boot or shutdown the name container. To debug your first container: vzgot -d9 -f -v boot cont_name /bin/bash vzgot create container_name template_tar_filename distribution_name architecture Take template_tar_filename and store it in the vzgot main directory (/var/lib/vzgot/vzdir) vzgot firstboot container_name distribution_name domain_name node_name ip_list Configure the template to set the host name (node.domain.name), preparing device definition (/dev/tty, etc..), configuring network, etc... Some specific site configuration allow you to prepare user,group, ssh key, resolv.conf to be exactly the same for all generated container. /var/lib/vzgot/etc is where common data are stored. vzgot destroy container_name To get rid of the container directory once for all (need to be shutdown first. Complex commands: vzgot.mksrvz nodename.your_domain.name [distribution] [architecture] It used to prepare a container (create,firstboot,boot) using the nodename.your_domain.name resolution to extract IP. You may need to change the TPL enviromenet variable (within the script) to fit your template name of your own. (ours is TPL=linux-$DISTRIB-$CPUARCH-vzserver.tar.gz). vzgot.redoall filename_list_to_redo This script check for a file /etc/vzgot/'filename_list_to_redo' and use it to regenerate all set container. There is a file /etc/vzgot/vzredoall as example, this is the list of all template we are able to succesfully run now (33 all together). Production command: service vzgot start|stop Classical redhat service start|stop this script will start all container with a file named /var/lib/vzgot/vzdir/cont_name/status with content to be "BOOT=ON" this script will stop all container with a file named /var/lib/vzgot/vzdir/cont_name/first.pid Notes: We are using our own template (the one used with the openvz package), they are fine tuned to do what we want (be able to use container to compile package, check bug on distribution configuration). to make sure you own template can be used we have made a successful test using standard openvz template centos-5-x86_64-devel.tar.gz as vzgot feed. While fully operationnal for us, vzgot need to be improved on the resources allocation (cgroups) and quota (?), before to be expose to uncontrolled/adverse production usage. Package structure: /etc/vzgot: directory with configuration file needed by the main host to create or manage a container. /var/lib/vzgot: application core directory /var/lib/vzgot/vzdir: all container storage area, the directory name is the container name. /var/lib/vzgot/vzdir/cont_name: - rootfs is the container root directory - console is a file receiving ALL data transmitted to container /dev/console (/sbin/init boot process) - first.pid is file with the /sbin/init - status, used to boot container, contens is BOOT=ON of BOOT=OFF /var/lib/vzgot/RPM: tree with RPM to be added to have some distribution fully working (RH7.3 etc...), you can add your own if you like. /var/lib/vzgot/home: template directory to standard user to be added on container while created. /var/lib/vzgot/etc: - groups,users list of group and users you want to be added at template creation - shadow, crypted password you want to set on container. - resolv.conf to be set in the container. - sudoers to be added to container /etc/sudoers. Please feel free to play with it and you are welcome to give me feed back about it jmp AT safe DOT ca