vserver 0.16 changes log

vserver 0.16 changes log

previous versions: 0.14
Change log index

Enhancements

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 distribution CDroms.

Contribution welcome :-)

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

For example:

	IP=eth1
	IP=192.168.1.1

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.

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 environment.

When doing "vserver xx enter", bash is started with the option --login. This insure proper environment settings.

Bug fixes

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 miss-leading. Fixed!

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 vserver.

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 have inheritance...).

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.

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!

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 facility anyway.