vserver 0.18 changes log

vserver 0.18 changes log

previous versions: 0.17
Change log index

Enhancements

Building vservers out of RedHat CDs

The newvserver utility has been enhanced so you can interactively build vservers from the first Redhat CD or either 7.2 or 7.3. This is done by using the /usr/lib/vserver/install-rh7,2 or install-rh7.3 script. The later is new in vserver 0.18.

The build process configure properly /etc/sysconfig/network to help some package operate properly. netatalk for one grabs the host name from /etc/sysconfig/network.

kernel ctx-12: binding to the broadcast address

ctx-12 allows this. A normal kernel allows this as well.

kernel ctx-12: multi-IP

The new kernel supports multiple IP numbers assigned to a vserver. This allows a vserver to setup services on more than one IP. To make use of that, you simply enter several IP number in the IPROOT field of the vserver configuration file:

	IPROOT="192.168.1.1 192.168.1.2"

Do not forget the quotes!

The vserver utility will create the necessary IP aliases. The first one is created using the vserver name (eth0:name) and the other are adding a number as a suffix (eth0:name1, eth0:name2, ...).

The multi-IP support keeps the original semantic of the vserver in some ways. A service doing a bind ANY (bind to 0.0.0.0) will setup its IP service on the first IP number of the vserver. If you wants to listen to several IP, you will need to configure your service for each IP number explicitly. For example, for apache, you will need multiple listen statements. By default, apache has a "listen 80" statement (a bind any) which translate in a vserver to a listen first-ip-of-the-vserver:80. So you must simply add listen statement for the remaining IP. For example, for the above IPROOT statement:

	listen 192.168.1.2:80

This departs from the normal behavior of a Unix/Linux OS. When you do a bind any, you end up listening to every IP configured on the box. It was not possible to achieve that easily in the kernel, while keeping performance high (100%) and yet control which IP may be use by a vserver. So this is a compromise. Time will tell how usable it is.

Bug fixes

Building the package on rh6.2

The vserver source do include linux/capability.h. Mixing kernel and glibc header is not a good thing (generally), but glibc do not provide support for capabilities yet. This was causing some strange problem (remember the thread "C++ sucks". This was fixed by moving the #include after the other #include in various source.