gentoo: use /var/run for new /run compatibility
[util-vserver.git] / doc / configuration.xml
index 8866b7a..fc7416f 100644 (file)
@@ -37,6 +37,20 @@ the 'barrier' attribute. Else, common chroot(2) exploits are possible.
       </description>
     </boolean>
 
+    <boolean id="global-nonamespace-cleanup" name="nonamespace-cleanup">
+      <description>
+Disable namespace cleanup globally. It can be overridden for a single vserver
+by setting the <optionref ref="namespace-cleanup">namespace-cleanup</optionref> flag
+there.
+      </description>
+    </boolean>
+
+    <list id="global-namespace-cleanup-skip" name="namespace-cleanup-skip">
+      <description>
+List of paths to skip during namespace cleanup.
+      </description>
+    </list>
+
     <link name="run.rev">
       <description>
 Path of the vserver run reverse directory. This directory contains
@@ -48,12 +62,40 @@ NOTE: this link exists in 0.30.202+ only; in previous versions it was
 a vserver specific setting.
       </description>
     </link>
+
+    <scalar name="shell">
+      <description>
+Contains the pathname of the shell which will be used by the "vserver
+... enter" command. Can be overridden by the
+<optionref ref="shell">per-guest shell</optionref>.
+      </description>
+    </scalar>
+
+    <data name="fstab">
+      <description>
+The default fstab file to put in newly built guests.
+      </description>
+    </data>
+
+    <boolean name="context.dynamic">
+      <description>
+If this file exists, kernel-side dynamic contexts will be used by the "vserver
+... build" command. Otherwise a context will be generated, based on the
+contents of <optionref>context.next</optionref>.
+      </description>
+    </boolean>
+
+    <scalar id="context.next" name="context.next">
+      <description>
+The context id to use for the next guest created by "vserver ... build".
+      </description>
+    </scalar>
     
     <collection name="apps">
       <collection name="pkgmgmt">
        <link name="base">
          <default>/vservers/.pkg</default>
-       </link> 
+       </link>
        <data name="apt.conf">
          <description>The default apt.conf which is going to be used. It is overridden by
 distribution specific configuration file.
@@ -75,6 +117,33 @@ from this uri and install it at a temporary place.
        </scalar>
       </collection>
 
+      <collection name="vdevmap">
+        <collection name="x" type="sybmolic">
+          <description>'x' is an arbitrary name, replace it with e.g. device names</description>
+          <boolean name="open">
+            <description>When this file exists, the device can be opened</description>
+          </boolean>
+          <boolean name="create">
+            <description>When this file exists, the device can be created (if the guest has <optionref ref="bcapabilities">CAP_MKNOD</optionref>)</description>
+          </boolean>
+          <boolean id="vdevmap-remap" name="remap">
+            <description>
+When this file exists, <optionref ref="vdevmap-target">target</optionref> will
+have to exist as well and opening the device will in fact open the target device
+            </description>
+          </boolean>
+          <scalar name="flags">
+            <description>This file will let you specify unimplemented flags manually</description>
+          </scalar>
+          <scalar name="device">
+            <description>Contains the name of a device node</description>
+          </scalar>
+          <scalar id="vdevmap-target" name="target">
+            <description>Contains the device node of the target node to open instead of the device when <optionref ref="vdevmap-remap">remap</optionref> is set</description>
+          </scalar>
+        </collection>
+      </collection>
+
       <collection name="vshelper">
        <link name="logfile">
          <description>
@@ -87,7 +156,7 @@ is invoked from the kernel. This should point somewhere e.g. into
        <collection name="vshelper-methods">
          <program name="handler" type="symbolic">
            <description>
-See vshelper/action.
+See <optionref ref="vshelper-action">vshelper/action</optionref>.
             </description>
          </program>
        </collection>
@@ -117,7 +186,7 @@ skipped.
       <collection name="vprocunhide">
        <list name="files">
          <description>
-A list of files which will be made visibly by vprocunhide. Wildcards are
+A list of files which will be made visible by vprocunhide. Wildcards are
 allowed and anything ending in '/' will be processed recursively. When this file exists,
 it overrides the defaults in SYSDEFAULTDIR/vprocunhide-files. The entries there must be
 absolute filenames inclusive the leading '/proc'.
@@ -132,6 +201,13 @@ A symlink to the TTY device where input/output will be redirected from/to
 at startup via initscript.
           </description>
        </link>
+
+       <hash id="global-environment" name="environment" since="0.30.211">
+         <description>
+The environment to set when starting guests. Contains one VAR=VAL
+pair per line.
+         </description>
+       </hash>
       </collection>
       
       <collection name="vunify">
@@ -175,6 +251,104 @@ operation will fail. Most tools assume 'on' as the default value.
        </boolean>
 
       </collection>
+
+      <collection name="vlogin">
+       <boolean id="vlogin-disable" name="disable" since="0.30.212">
+         <description>
+When this file exists, vlogin isn't used on vserver &lt;guest&gt; enter.
+         </description>
+       </boolean>
+      </collection>
+
+      <collection name="build">
+        <list name="options">
+          <description>
+A list of default options to supply to vserver ... build, one option per line.
+          </description>
+        </list>
+      </collection>
+    </collection>
+
+    <collection name="interfaces" use="optional">
+      <boolean id="global-vlandev" name="vlandev" since="0.30.211">
+       <description>
+When this file exists, the steps which setup and destroy a VLAN
+interface will be executed.
+       </description>
+      </boolean>
+    </collection>
+
+    <collection name="files">
+      <description>This directory contains some files which will be copied to the guests during build.</description>
+      <data name="hosts">
+        <description>The default /etc/hosts file.</description>
+      </data>
+      <data name="nsswitch.conf">
+        <description>The default /etc/nsswitch.conf file.</description>
+      </data>
+      <data name="krb5.conf">
+        <description>The default /etc/krb5.conf file.</description>
+      </data>
+      <data name="krb.conf">
+        <description>The default /etc/krb.conf file.</description>
+      </data>
+      <data name="krb.realms">
+        <description>The default /etc/krb.realms file.</description>
+      </data>
+      <data name="ldap.conf">
+        <description>The default /etc/ldap.conf file.</description>
+      </data>
+      <data name="localtime">
+        <description>The default /etc/localtime file.</description>
+      </data>
+      <data name="resolv.conf">
+        <description>The default /etc/resolv.conf file.</description>
+      </data>
+    </collection>
+
+    <collection name="cgroup" use="optional" since="0.30.216" id="global-cgroup">
+      <description>
+This directory contains cgroup settings which should be applied to all guests.
+See your kernel documentation for what settings are valid with your
+configuration.
+      </description>
+      <scalar name="mnt">
+        <description>
+The directory to mount the cgroup hierarchy at. The default is /dev/cgroup.
+        </description>
+      </scalar>
+      <list name="subsys">
+        <description>
+List of subsystems to enable on the cgroup mount point. The default is "all".
+        </description>
+      </list>
+      <list name="inherit">
+        <description>
+Some subsystems start out with clean slates, making it impossible to use the
+cgroup before certain things have been set. This is true for e.g. the cpuset
+subsystem. This file contains a list of filenames which should be explicitly
+inherited from the parent (root) cgroup, if not overridden elsewhere.
+The default is cpuset.cpus and cpuset.mems.
+        </description>
+      </list>
+      <scalar name="name" id="global-cgroup-name">
+        <description>
+If this file exists, all guests will be put in one cgroup named after the
+contents of this file. The default is to put each guest in a cgroup named the
+same thing as the guest.
+        </description>
+      </scalar>
+      <scalar name="base">
+       <description>
+If this file exists, all cgroups will be created underneath this directory
+in the cgroup mount point.
+        </description>
+      </scalar>
+      <boolean name="per-ss">
+        <description>
+If this file exists, each subsystem will have its own mount point.
+        </description>
+      </boolean>
     </collection>
   </collection>
     
@@ -215,9 +389,9 @@ Script which will be executed before packages will be installed.
 The configuration directory of the vserver which is going to be set up.
             </description>
          </parameter>
-         <parameter name="vserver">
+         <parameter name="util-vserver-vars">
            <description>
-The pathname of the vserver binary.
+The pathname of the util-vserver-vars file.
             </description>
          </parameter>
        </parameterList>
@@ -234,7 +408,7 @@ The configuration directory of the vserver which is going to be set up.
          </parameter>
          <parameter name="vserver">
            <description>
-The pathname of the vserver binary.
+The pathname of the util-vserver-vars file.
             </description>
          </parameter>
        </parameterList>
@@ -283,6 +457,11 @@ this distribution.
         </description>
       </link>
     </collection>
+    <link name="template">
+      <description>
+Symlink to the default template for this distribution.
+      </description>
+    </link>
   </collection>
   
   <!-- Vserver configuration -->
@@ -301,7 +480,7 @@ Path of the storage area for cached information about this vserver.
     <link name="vdir">
       <default>../.defaults/vdirbase/VSERVERNAME</default>
       <description>
-Path of the vserver root directory
+Path of the vserver root directory.
       </description>
     </link>
 
@@ -314,16 +493,29 @@ the vserver is stopped, this can be a dangling symlink.
 
     <list id="bcapabilities" name="bcapabilities">
       <description>
-[experimental; name is subject of possible change] Contains the system capabilities. See
-<ulink url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/bcaps-v13.c?rev=HEAD">lib/bcaps-v13.c</ulink>
+Contains the system capabilities. See
+<ulink url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/bcaps-v13.c">lib/bcaps-v13.c</ulink>
 for possible values.
       </description>
     </list>
     <list name="ccapabilities">
       <description>
-[experimental; name is subject of possible change] Contains the
-context capabilities. See <ulink
-url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/ccaps-v13.c?rev=HEAD">lib/ccaps-v13.c</ulink>
+Contains the context capabilities. See <ulink
+url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/ccaps-v13.c">lib/ccaps-v13.c</ulink>
+for possible values.
+      </description>
+    </list>
+    <list name="ncapabilities" since="0.30.212">
+      <description>
+Contains the network capabilities. See <ulink
+url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/ncaps-net.c">lib/ncaps-net.c</ulink>
+for possible values.
+      </description>
+    </list>
+    <list name="umask" since="0.30.216">
+      <description>
+Contains the namespaces allowed to be unshared. See <ulink
+url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/umask-v23.c">lib/umask-v23.c</ulink>
 for possible values.
       </description>
     </list>
@@ -344,9 +536,24 @@ the 'barrier' attribute. Else, common chroot(2) exploits are possible.
       </description>
     </boolean>
 
+    <boolean id="namespace-cleanup" name="namespace-cleanup">
+      <description>
+Overrides the global <optionref ref="global-nonamespace-cleanup">nonamespace-cleanup</optionref> flag and enables
+namespace cleanup for the current vserver.
+      </description>
+    </boolean>
+
+    <list name="namespace-cleanup-skip">
+      <description>
+List of paths to skip during namespace cleanup. This overrides the global
+<optionref ref="global-namespace-cleanup-skip">namespace-cleanup-skip</optionref>
+file.
+      </description>
+    </list>
+
     <hash name="schedule">
       <description>
-[experimental; name is subject of possible change] Contains the
+[deprecated; use <optionref ref="sched">sched</optionref> instead] Contains the
 scheduler parameters, one per line.
 
 The Hard CPU limit uses a mechanism called a Token Bucket.  the
@@ -412,7 +619,7 @@ Contains per line a capability. This file is used for the 2.4 kernel
 only; for 2.6 use <optionref>bcapabilities</optionref>.
       </description>
     </list>
-    <scalar name="shell">
+    <scalar id="shell" name="shell">
       <description>
 Contains the pathname of the shell which will be used by the "vserver
 ... enter" command.
@@ -426,57 +633,40 @@ is the personality-type followed by flags (one item per line). See
 values.
       </description>
     </list>
-    <list name="flags">
+    <list name="cflags" id="cflags" since="0.30.216">
       <description>
 Contains per line a flag. See <ulink
-url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/cflags-v13.c?rev=HEAD">lib/cflags-v13.c</ulink>
+url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/cflags-v13.c">lib/cflags-v13.c</ulink>
+for possible values.
+      </description>
+    </list>
+    <list name="flags">
+      <description>
+Old name for <optionref>cflags</optionref>. Deprecated.
+      </description>
+    </list>
+    <list name="nflags" since="0.30.212">
+      <description>
+Contains a network flag per line. See <ulink
+url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/nflags-net.c">lib/nflags-net.c</ulink>
 for possible values.
       </description>
-      <!--
-      <elements>
-       <element name="fakeinit">
-         <description>
-The new process will believe it is process number 1. Useful to run a
-real /sbin/init in a vserver. Warning: this flag should not be used
-unless you know what you are doing. Often, it is better to use the
-'plain' initstyle.
-          </description>
-       </element>
-       <element name="lock">
-         <description>
-The new process is trapped and can't use chcontext anymore.
-          </description>
-       </element>
-       <element name="sched">
-         <description>
-The new process and its children will share a common
-          </description>
-       </element>
-       <element name="nproc">
-         <description>
-Limit the number of process in the vserver according to
-ulimit setting. Normally, ulimit is a per user thing.
-With this flag, it becomes a per vserver thing.  
-          </description>
-       </element>
-       <element name="private">
-         <description>
-No one can join this security context once created.
-          </description>
-       </element>
-       <element name="ulimit">
-         <description>
-Apply the current ulimit to the whole context
-          </description>
-       </element>
-      </elements>
-      -->
     </list>
     <scalar name="context">
       <description>
-Contains the context which shall be used for the vserver.
+Contains the context id which shall be used for the vserver. Valid range is 2 through 49151.
         </description>
     </scalar>
+    <scalar name="ncontext">
+      <description>
+Contains the network context id which shall be used for the vserver. Valid range is 2 through 49151.
+      </description>
+    </scalar>
+    <scalar name="tag">
+      <description>
+Contains the filesystem tag which shall be used for the vserver. Valid range is 2 through 49151.
+      </description>
+    </scalar>
     <data id="fstab" name="fstab">
       <description>
 The fstab file for the vserver. Entries in this file will be mounted
@@ -489,11 +679,16 @@ the 'fstab' file should be used.
     <data id="fstab.remote" name="fstab.remote">
       <description>
 The fstab file for the vserver. Entries in this file will be mounted
-within the network context of the host; this means that mount will be
+within the network context of the guest; this means that mount will be
 called as <command>chbind &lt;options&gt; mount ...</command>. See
 <optionref>fstab</optionref> also.
       </description>
     </data>
+    <scalar name="badness">
+      <description>
+Contains the bias to be applied to processes in this guest when the OOM-killer strikes.
+      </description>
+    </scalar>
     
     <collection name="apps">
       <collection name="init">
@@ -511,7 +706,6 @@ Contains the init-style.
            <enumeration value="sysv"/>
            <enumeration value="plain"/>
            <enumeration value="minit"/>
-           <enumeration value="gento"/>
          </restriction>
        </scalar>
        
@@ -601,19 +795,53 @@ will be stopped before its dependencies. Content of this file are
 vserver ids (one name per line).
           </description>
        </list>
+
+       <hash name="environment" since="0.30.211">
+         <description>
+The environment to set when starting the guest. Contains one VAR=VAL
+pair per line.
+         </description>
+       </hash>
       </collection>
-      
+
+      <collection name="vdevmap">
+        <collection name="x" type="sybmolic">
+          <description>'x' is an arbitrary name, replace it with e.g. device names</description>
+          <boolean name="open">
+            <description>When this file exists, the device can be opened</description>
+          </boolean>
+          <boolean name="create">
+            <description>When this file exists, the device can be created (if the guest has <optionref ref="bcapabilities">CAP_MKNOD</optionref>)</description>
+          </boolean>
+          <boolean id="guest-vdevmap-remap" name="remap">
+            <description>
+When this file exists, <optionref ref="guest-vdevmap-target">target</optionref> will
+have to exist as well and opening the device will in fact open the target device
+            </description>
+          </boolean>
+          <scalar name="flags">
+            <description>This file will let you specify unimplemented flags manually</description>
+          </scalar>
+          <scalar name="device">
+            <description>Contains the name of a device node</description>
+          </scalar>
+          <scalar id="guest-vdevmap-target" name="target">
+            <description>Contains the device node of the target node to open instead of the device when <optionref ref="guest-vdevmap-remap">remap</optionref> is set</description>
+          </scalar>
+        </collection>
+      </collection>
+  
       <collection name="vshelper">
        <scalar name="sync-timeout">
          <default>30</default>
          <description>
 The timeout in seconds which is used when synchronising vserver
-startup/shutdown with the vshelper. When no set, 30 seconds will be
+startup/shutdown with the vshelper. When not set, 30 seconds will be
 assumed.
          </description>
        </scalar>
        
-       <scalar name="action">
+       <scalar id="vshelper-action" name="action">
          <default>restart</default>
          <description>
 The action which is going to be executed when a vshelper event
@@ -670,7 +898,7 @@ skipped.
       <collection id="vshelper-methods" name="vshelper-methods">
        <program name="handler" type="symbolic">
          <description>
-See vshelper/action.
+See <optionref ref="vshelper-action">vshelper/action</optionref>.
           </description>
        </program>
       </collection>
@@ -749,16 +977,16 @@ environment variable must be set by one of the in-shellcontext scripts
 (the non-executable ones).
       </description>
       
-      <program name="prepre-start">
+      <program name="initialize" since="0.30.211">
        <description>
-The scriptlet which will be executed before the network-interfaces are
-enabled and the directories are mounted. Before executing the script,
-the configuration directory will be made the working directory.
+The scriptlet which will be executed before the root filesystem is mounted and
+the configuration has been loaded. Before executing the script, the
+configuration directory will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
+         <parameter name="action">
            <description>
-The configuration directory of the current vserver.
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
          <parameter name="vserver-name">
@@ -766,24 +994,60 @@ The configuration directory of the current vserver.
 The name of the current vserver.
             </description>
          </parameter>
+       </parameterList>
+      </program>
+      <collection name="initialize.d" since="0.30.211">
+       <description>
+Repository of initialize like scripts.  Before executing the script,
+the configuration directory will be made the working directory.
+        </description>
+       <program name="script" type="symbolic">
+         <description>See initialize.</description>
+         <parameterList>
+           <parameter name="action">
+             <description>
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
+              </description>
+           </parameter>
+           <parameter name="vserver-name">
+             <description>
+The name of the current vserver.
+              </description>
+           </parameter>
+         </parameterList>
+       </program>
+      </collection>
+      
+      <program name="prepre-start">
+       <description>
+The scriptlet which will be executed before the network-interfaces are
+enabled and the directories are mounted. Before executing the script,
+the configuration directory will be made the working directory.
+        </description>
+       <parameterList>
          <parameter name="action">
            <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
+         <parameter name="vserver-name">
+           <description>
+The name of the current vserver.
+            </description>
+         </parameter>
        </parameterList>
       </program>
       <collection name="prepre-start.d">
        <description>
 Repository of prepre-start like scripts.  Before executing the script,
 the configuration directory will be made the working directory.
-        </description>                                                                                                                 
+        </description>
        <program name="script" type="symbolic">
          <description>See prepre-start.</description>
          <parameterList>
-           <parameter name="vserver-dir">
+           <parameter name="action">
              <description>
-The configuration directory of the current vserver.
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
            <parameter name="vserver-name">
@@ -791,11 +1055,6 @@ The configuration directory of the current vserver.
 The name of the current vserver.
               </description>
            </parameter>
-           <parameter name="action">
-             <description>
-The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
-              </description>
-           </parameter>
          </parameterList>
        </program>
       </collection>
@@ -808,9 +1067,9 @@ been started.  Before executing the script, the vserver root directory
 will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
+         <parameter name="action">
            <description>
-The configuration directory of the current vserver.
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
          <parameter name="vserver-name">
@@ -818,32 +1077,24 @@ The configuration directory of the current vserver.
 The name of the current vserver.
             </description>
          </parameter>
-         <parameter name="action">
-           <description>
-The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
-            </description>
-         </parameter>
        </parameterList>
       </program>
       <collection name="pre-start.d">
        <description>
 Repository of pre-start like scripts. Before executing these scripts,
 the vserver root directory will be made the working directory.
-        </description>                                                                                                                 
+        </description>
        <program name="script" type="symbolic">
          <description>See pre-start.</description>
          <parameterList>
-           <parameter name="vserver-dir">
+           <parameter name="action">
              <description>
-The configuration directory of the current vserver.
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
            <parameter name="vserver-name">
-             <description>The name of the current vserver.</description>
-           </parameter>
-           <parameter name="action">
              <description>
-The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
+The name of the current vserver.
               </description>
            </parameter>
          </parameterList>
@@ -858,17 +1109,16 @@ started. Before executing the script, the vserver root directory
 will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
-           <description>The configuration directory of the current vserver.</description>
-         </parameter>
-         <parameter name="vserver-name">
-           <description>The name of the current vserver.</description>
-         </parameter>
          <parameter name="action">
            <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
+         <parameter name="vserver-name">
+           <description>
+The name of the current vserver.
+            </description>
+         </parameter>
        </parameterList>
       </program>
       <collection name="post-start.d">
@@ -879,17 +1129,16 @@ the vserver root directory will be made the working directory.
        <program name="script" type="symbolic">
          <description>See post-start.</description>
          <parameterList>
-           <parameter name="vserver-dir">
-             <description>The configuration directory of the current vserver.</description>
-           </parameter>
-           <parameter name="vserver-name">
-             <description>The name of the current vserver.</description>
-           </parameter>
            <parameter name="action">
              <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
+           <parameter name="vserver-name">
+             <description>
+The name of the current vserver.
+              </description>
+           </parameter>
          </parameterList>
        </program>
       </collection>
@@ -902,38 +1151,36 @@ stopped. Before executing the script, the vserver root directory
 will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
-           <description>The configuration directory of the current vserver.</description>
-         </parameter>
-         <parameter name="vserver-name">
-           <description>The name of the current vserver.</description>
-         </parameter>
          <parameter name="action">
            <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
+         <parameter name="vserver-name">
+           <description>
+The name of the current vserver.
+            </description>
+         </parameter>
        </parameterList>
       </program>
       <collection name="pre-stop.d">
        <description>
 Repository of pre-stop like scripts. Before executing the script, the
 vserver root directory will be made the working directory.
-        </description>                                                                                                                 
+        </description>
        <program name="script" type="symbolic">
          <description>See pre-stop.</description>
          <parameterList>
-           <parameter name="vserver-dir">
-             <description>The configuration directory of the current vserver.</description>
-           </parameter>
-           <parameter name="vserver-name">
-             <description>The name of the current vserver.</description>
-           </parameter>
            <parameter name="action">
              <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
+           <parameter name="vserver-name">
+             <description>
+The name of the current vserver.
+              </description>
+           </parameter>
          </parameterList>
        </program>
       </collection>
@@ -946,17 +1193,16 @@ interfaces disabled. Before executing the script, the vserver root
 directory will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
-           <description>The configuration directory of the current vserver.</description>
-         </parameter>
-         <parameter name="vserver-name">
-           <description>The name of the current vserver.</description>
-         </parameter>
          <parameter name="action">
            <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
+         <parameter name="vserver-name">
+           <description>
+The name of the current vserver.
+            </description>
+         </parameter>
        </parameterList>
       </program>
       <collection name="post-stop.d">
@@ -967,17 +1213,16 @@ vserver root directory will be made the working directory.
        <program name="script" type="symbolic">
          <description>See post-stop.</description>
          <parameterList>
-           <parameter name="vserver-dir">
-             <description>The configuration directory of the current vserver.</description>
-           </parameter>
-           <parameter name="vserver-name">
-             <description>The name of the current vserver.</description>
-           </parameter>
            <parameter name="action">
              <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
+           <parameter name="vserver-name">
+             <description>
+The name of the current vserver.
+              </description>
+           </parameter>
          </parameterList>
        </program>
       </collection>
@@ -989,17 +1234,16 @@ completely. Before executing the script, the vserver root directory
 will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
-           <description>The configuration directory of the current vserver.</description>
-         </parameter>
-         <parameter name="vserver-name">
-           <description>The name of the current vserver.</description>
-         </parameter>
          <parameter name="action">
            <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
+         <parameter name="vserver-name">
+           <description>
+The name of the current vserver.
+            </description>
+         </parameter>
        </parameterList>
       </program>
       <collection name="postpost-stop.d">
@@ -1010,17 +1254,16 @@ the vserver root directory will be made the working directory.
        <program name="script" type="symbolic">
          <description>See postpost-stop.</description>
          <parameterList>
-           <parameter name="vserver-dir">
-             <description>The configuration directory of the current vserver.</description>
-           </parameter>
-           <parameter name="vserver-name">
-             <description>The name of the current vserver.</description>
-           </parameter>
            <parameter name="action">
              <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
+           <parameter name="vserver-name">
+             <description>
+The name of the current vserver.
+              </description>
+           </parameter>
          </parameterList>
        </program>
       </collection>
@@ -1028,10 +1271,13 @@ The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
     
     <collection name="interfaces">
       <scalar name="bcast">
-       <description>The default broadcast address.</description>
+       <description>The guest's broadcast address.</description>
+      </scalar>
+      <scalar name="lback">
+        <description>The guest's loopback address.</description>
       </scalar>
       <scalar name="dev">
-       <description>The default network device.</description>
+       <description>The default network device. See <optionref ref="per-if-dev">iface/dev</optionref> for more information.</description>
       </scalar>
       <scalar name="prefix">
        <description>The default network prefix-length.</description>
@@ -1042,6 +1288,20 @@ The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
       <scalar name="scope">
        <description>The default scope of the network interfaces.</description>
       </scalar>
+      <boolean id="local-vlandev" name="vlandev" since="0.30.211">
+       <description>
+When this file exists, the steps which setup and destroy a VLAN
+interface will be executed for all interfaces of this vserver.
+       </description>
+      </boolean>
+      <boolean id="local-novlandev" name="novlandev">
+       <description>
+When this file exists, the steps which setup and destroy a VLAN
+interface will be skipped. This overrides the global
+<optionref ref="global-vlandev">vlandev</optionref> setting for
+this vserver.
+       </description>
+      </boolean>
       
       <collection name="iface" type="symbolic">
        <description>
@@ -1056,13 +1316,10 @@ numbers like '00' are good names for these directories.
        </boolean>
        
        <scalar name="ip">
-         <description>The ip which will be assigned to this interface.</description>
+         <description>The IP address which will be assigned to this interface.</description>
        </scalar>
-       <scalar name="bcast">
-         <description>The broadcast address.</description>
-       </scalar>
-       <scalar name="dev">
-         <description>The network device.</description>
+       <scalar name="dev" id="per-if-dev">
+         <description>The network device. When this is specified, the IP address will be assigned and removed when starting and stopping the guest.</description>
        </scalar>
        <scalar name="prefix">
          <description>The network prefix-length.</description>
@@ -1091,34 +1348,86 @@ created by the host or another vserver.
        <boolean name="novlandev">
          <description>
 When this file exists, the steps which setup and destroy a VLAN
-interface will be skipped. This flag should be set when a VLAN
-interface is used by multiple vservers or by the host.
+interface will be skipped. This will override the global
+<optionref ref="global-vlandev">vlandev</optionref> and the per-guest
+<optionref ref="local-vlandev">vlandev</optionref>.
+         </description>
+       </boolean>
+       <boolean name="vlandev" since="0.30.211">
+         <description>
+When this file exists, the steps which setup and destroy a VLAN
+interface will be executed.
+         </description>
+       </boolean>
+       <boolean name="tun" since="0.30.215">
+         <description>
+When this file exists, a tun interface will be created when the guest
+starts, and removed when the guest stops.
+         </description>
+       </boolean>
+       <boolean name="tap" since="0.30.215">
+         <description>
+When this file exists, a tap interface will be created when the guest
+starts, and removed when the guest stops.
+         </description>
+       </boolean>
+       <boolean name="nocsum" since="0.30.215">
+         <description>
+If a tun or tap interface is created, the presence of this file will
+disable checksumming on it.
+         </description>
+       </boolean>
+       <boolean name="shared" since="0.30.215">
+         <description>
+When this file exists, the tun/tap interface created will not be
+owned by this particular guest.
          </description>
        </boolean>
+       <scalar name="uid" since="0.30.215">
+         <description>
+Sets the ownership of tun/tap interfaces. Requires a user id, not a
+username.
+         </description>
+       </scalar>
+       <scalar name="gid" since="0.30.215">
+         <description>
+Sets the group ownership of tun/tap interfaces. Requires a group id,
+not a group name.
+         </description>
+       </scalar>
+       <scalar name="linktype" since="0.30.215">
+         <description>
+Sets the link type of tun/tap interfaces.
+         </description>
+       </scalar>
+       <scalar name="peer" since="0.30.216">
+         <description>
+Sets the peer for a point-to-point link, such as a tun interface.
+         </description>
+       </scalar>
       </collection>
     </collection>
     
     <collection name="ulimits">
       <description>
 A directory with ulimits. Possible resources are cpu, data, fsize,
-locks, memlock, nofile, nproc, rss and/or stack. This configuration
-will be honored for kernel 2.4 only.
-      </description>                                                                                                                 
+locks, memlock, nofile, nproc, rss and/or stack.
+      </description>
       <scalar name="resource" type="symbolic">
        <description>
 A file which contains the hard- and soft-limit of the given resource
 in the first line. The special keyword 'inf' is recognized.
        </description>
-      </scalar>                                                                            
+      </scalar>
       <scalar name="resource.hard" type="symbolic">
        <description>
-A file which contains the hard- of the given resource in the first
+A file which contains the hard-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </description>
-      </scalar>                                                                                             
+      </scalar>
       <scalar name="resource.soft" type="symbolic">
        <description>
-A file which contains the soft- of the given resource in the first
+A file which contains the soft-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </description>
       </scalar>
@@ -1127,30 +1436,31 @@ line. The special keyword 'inf' is recognized.
     <collection name="rlimits">
       <description>
 A directory with resource limits. Possible resources are cpu, fsize,
-data, stack, core, rss, nproc, nofile, memlock, as and locks. This
+data, stack, core, rss, nproc, nofile, memlock, as, locks, msgqueue,
+nsock, openfd, anon, shmem, semary, nsems and dentry. This
 configuration will be honored for kernel 2.6 only.
-      </description>                                                                                                                 
+      </description>
       <scalar name="resource" type="symbolic">
        <description>
 A file which contains the hard- and soft-limit of the given resource
 in the first line. The special keyword 'inf' is recognized.
        </description>
-      </scalar>                                                                            
+      </scalar>
       <scalar name="resource.hard" type="symbolic">
        <description>
-A file which contains the hard- of the given resource in the first
+A file which contains the hard-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </description>
-      </scalar>                                                                                             
+      </scalar>
       <scalar name="resource.soft" type="symbolic">
        <description>
-A file which contains the soft- of the given resource in the first
+A file which contains the soft-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </description>
       </scalar>
       <scalar name="resource.min" type="symbolic">
        <description>
-A file which contains the guaranted minimum of the given resource in
+A file which contains the guaranteed minimum of the given resource in
 the first line. The special keyword 'inf' is recognized.
         </description>
       </scalar>
@@ -1184,8 +1494,12 @@ tools and can *not* be modified.
       </scalar>
     </collection>
 
-    <collection name="dlimits">
-      <collection name="dlimit" type="symbolic">
+    <collection name="dlimits" since="0.30.210">
+      <description>
+Note that all entries are required for the disk limit to be applied.
+      </description>
+      <collection name="x" type="symbolic">
+        <description>'x' is an arbitrary name, replace it with e.g. integers</description>
         <scalar name="directory">
           <description>The directory to which the limit should be applied</description>
         </scalar>
@@ -1200,5 +1514,152 @@ tools and can *not* be modified.
         </scalar>
       </collection>
     </collection>
+
+    <collection name="sysctl" since="0.30.213">
+      <collection name="x" type="symbolic">
+        <description>'x' is an arbitrary name, replace it with e.g. integers</description>
+        <scalar name="setting">
+          <description>The sysctl setting</description>
+        </scalar>
+        <scalar name="value">
+          <description>The value</description>
+        </scalar>
+      </collection>
+    </collection>
+
+    <collection name="cpuset" since="0.30.211">
+      <description>
+Puts the guest in a cpuset. Required entries are name, cpus and mems.
+      </description>
+      <scalar name="name">
+        <description>The name of the cpuset for this vserver</description>
+      </scalar>
+      <scalar name="cpus">
+        <description>The list of CPUs in this cpuset</description>
+      </scalar>
+      <scalar name="mems">
+        <description>The list of Memory Nodes in this cpuset</description>
+      </scalar>
+      <scalar name="cpu_exclusive">
+        <description>Is the CPU assignment exclusive?</description>
+      </scalar>
+      <scalar name="mems_exclusive">
+        <description>Is the memory node assignment exclusive?</description>
+      </scalar>
+      <scalar name="nocreate">
+        <description>When this file exists, the cpuset will be assumed to exist already</description>
+      </scalar>
+    </collection>
+
+    <collection id="sched" name="sched" since="0.30.212">
+      <scalar id="global-tokens" name="tokens">
+        <description>The initial amount of tokens to put in the bucket</description>
+      </scalar>
+      <scalar id="global-tokens-min" name="tokens-min">
+        <description>The minimum amount of tokens required to unhold the context</description>
+      </scalar>
+      <scalar id="global-tokens-max" name="tokens-max">
+        <description>The bucket's size</description>
+      </scalar>
+      <scalar id="global-fill-rate" name="fill-rate">
+        <description>Amount of tokens to add each <optionref ref="global-interval">interval</optionref></description>
+      </scalar>
+      <scalar id="global-interval" name="interval">
+        <description>The interval between refills of the bucket</description>
+      </scalar>
+      <scalar id="global-priority-bias" name="priority-bias">
+        <description>Bias added to priorities calculated within the guest (result is clamped to -20/+19)</description>
+      </scalar>
+      <scalar id="global-fill-rate2" name="fill-rate2">
+        <description>Amount of tokens to add each <optionref ref="global-interval2">interval2</optionref> when advancing idle time</description>
+      </scalar>
+      <scalar id="global-interval2" name="interval2">
+        <description>The interval between refills of the bucket when advancing idle time</description>
+      </scalar>
+      <boolean id="global-idle-time" name="idle-time">
+        <description>When this file exists, advancing idle time is activated</description>
+      </boolean>
+      <collection name="cpu-id" type="symbolic">
+        <description>This directory contains per-CPU and/or per-bucket specific settings. Remember to set the <optionref ref="cpu-id">cpu-id</optionref> file. All CPUs inherit the global settings.</description>
+        <scalar name="tokens">
+          <description>The initial amount of tokens to put in the bucket</description>
+        </scalar>
+        <scalar name="tokens-min">
+          <description>The minimum amount of tokens required to unhold the context</description>
+        </scalar>
+        <scalar name="tokens-max">
+          <description>The bucket's size</description>
+        </scalar>
+        <scalar name="fill-rate">
+          <description>Amount of tokens to add each <optionref ref="local-interval">interval</optionref></description>
+        </scalar>
+        <scalar id="local-interval" name="interval">
+          <description>The interval between refills of the bucket</description>
+        </scalar>
+        <scalar name="priority-bias">
+          <description>Bias added to priorities calculated within the guest (result is clamped to -20/+19)</description>
+        </scalar>
+        <scalar name="fill-rate2">
+          <description>Amount of tokens to add each <optionref ref="local-interval2">interval2</optionref> when advancing idle time</description>
+        </scalar>
+        <scalar id="local-interval2" name="interval2">
+          <description>The interval between refills of the bucket when advancing idle time</description>
+        </scalar>
+        <boolean name="idle-time">
+          <description>When this file exists, advancing idle time is activated</description>
+        </boolean>
+        <scalar id="cpu-id" name="cpu-id">
+          <description>The CPU to apply these settings to</description>
+        </scalar>
+        <scalar name="bucket-id">
+          <description>The bucket to apply these settings to</description>
+        </scalar>
+      </collection>
+    </collection>
+
+    <collection name="spaces" since="0.30.215">
+      <boolean name="pid">
+        <description>Enables pid virtualization for this guest</description>
+      </boolean>
+      <boolean name="net">
+        <description>Enable network virtualization for this guest</description>
+      </boolean>
+      <scalar name="mask">
+        <description>Contains a mask of spaces to clone/enter</description>
+      </scalar>
+    </collection>
+
+    <collection name="ionice" since="0.30.216">
+      <scalar name="class">
+        <description>The IO scheduling class to use for this guest (see ionice(1)).</description>
+      </scalar>
+      <scalar name="priority">
+        <description>The IO scheduling priority to use for this guest (see ionice(1)).</description>
+      </scalar>
+    </collection>
+
+    <collection name="cgroup" use="optional" since="0.30.216" id="guest-cgroup">
+      <description>
+This directory contains cgroup settings to be applied to this guest.
+See your kernel documentation for what settings are valid with your
+configuration.
+      </description>
+      <scalar name="name">
+        <description>
+If this file exists, the guest will be put in a cgroup named after the
+contents of this file. The default is to name the cgroup the same thing as the
+guest, unless
+<optionref ref="global-cgroup-name">.defaults/cgroup/name</optionref> says
+otherwise.
+        </description>
+      </scalar>
+    </collection>
+    <scalar name="nocgroup" since="0.30.216">
+      <description>
+If this file exists,
+<optionref ref="global-cgroup">.defaults/cgroup</optionref> will be ignored
+for this guest.
+      </description>
+    </scalar>
   </collection>
   </database>