From: Jacques Gelinas (jack_at_solucorp.qc.ca)
Date: Thu 04 Apr 2002 - 18:43:38 BST
1.1. Install vserver from cdrom
This is a start and contributions are welcome. I have written a script
called /usr/lib/vserver/install-rh7.2. This script expects a single
argument (for now), which is the name of the vserver to create. It
will install a vserver based on Red Hat 7.2 CD (found in /mnt/cdrom)
from scratch. It is not using the root server at all. It installs
everything from the first CD. With unification, it creates a not-so-
big vserver and contains pretty much anything an admin might want.
I would be interested in other script like this to install SuSE,
Mandrake and Debian from scratch. At some point, the newvserver front-
end will offer those in the pop-up list. So you will be able to
install either from the root server, from another vserver or from any
Contribution welcome :-)
1.2. v services all supporting /etc/vservices/*.conf configuration
All the /etc/init.d/v_xxx services are now completed and use the
optional /etc/vservices/xxx.conf file. This file provides the IP
number to use to bind the service. By default, the service is bound to
eth0. Using the optional file, you bind it to whatever you want
1.3. Various /usr/sbin/vxxxx utilities
Utilities like vtop, vpstree and friends are using /usr/sbin/chcontext
to switch to context number 1. They are using the --silent option so
you don't see the "New security context is 1" needlessly.
1.4. vserver script enhancement
A vserver may operate with 0.0.0.0 as its IPROOT. This means the
vserver is allowed to use any IP it wants, like the root server. The
vserver script was trying to setup and IP alias with this address.
When not using the fakeinit (per vserver private init process)
facility the vserver script was starting in runlevel 3. It is now
using the default runlevel (initdefault) found in the vserver
/etc/inittab file. One step closer to have this script distribution
independent. Please test it and send me other fixes as needed.
The script uses /etc/init.d or /etc/rc.d/init.d on the fly.
When stopping a vserver, the IP alias is removed even if the vserver
was not running. When you "enter" a vserver, the IP alias is put in
place. If you stop it, it is removed. Especially useful when you
fiddle with a two copies of a vserver (on different physical server).
When stopping a vserver, the vserver script /etc/vservers/xx.sh is
always called with the post-stop argument. So doing a "vserver xx
stop" clean everything.
When doing "vserver xx exec ..." or "vserver xx enter" and the vserver
xx is not running, the /etc/vservers/xx.sh script is called with the
pre-start option, making sure the vserver is entered with the proper
When doing "vserver xx enter", bash is started with the option
--login. This insure proper environment settings.
2. Bug fixes
2.1. chcontext: printing wrong result
When switching to a specific security context (generally context
number one), chcontext was reporting 0 as the new context. A little
2.2. cosmetic bug in save_s_context and vserverkillall
Those two utilities were reporting some shell errors. Although arm-
less it was annoying. You could see the bug when shutting down a
2.3. kernel ctx-10
Thanks to Willy Tarreau, the netstat bug in kernel 2.4.18ctx-9 is
fixed. 2.4.18ctx-10 is the same thing as ctx-9 with only cosmetic
change + a little rework of "struct sock". The added field (in ctx-9)
has been moved closer to the end of the structure so the beginning of
"struct sock" still look like another kernel structure. (C does not
Now that 2.4.18ctx-10 works (should be as reliable as 2.4.18ctx-8), it
is time to test ctx-9 enhancements, notably the ability to support UDP
broadcast in vservers. Samba now work completely out of the box in a
vserver. Please test it out.
2.4. vbuild and vunify: zombies process
The vbuild and vunify are calling the rpm command repeatedly and were
not waiting properly for its end status. This was creating many many
zombie processes. Fixed!
2.5. vservers sysv init script
This script was sourcing the /etc/init.d/functions script uselessly.
This script is a RedHat-ism and vservers do not need any of its
Jacques Gelinas <jack_at_solucorp.qc.ca>
vserver: run general purpose virtual servers on one box, full speed!