merge with 0.30.213
[util-vserver.git] / doc / configuration.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE database SYSTEM "configuration.dtd" []>
3 <!-- $Id: configuration.xml 2478 2007-01-27 11:10:09Z dhozac $ -->
4
5 <database xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6           xsi:noNamespaceSchemaLocation="file:configuration.xsd">
7
8   <!-- Global configuration -->
9   <collection name=".defaults" use="optional">
10     <collection name="init" type="fixed">
11       <data name="mtab">
12         <description>Default mtab file</description>
13       </data>
14     </collection>
15
16     <link name="vdirbase">
17       <default>/vservers</default>
18       <description>A link to the default vserver rootdirectory.</description>
19     </link>
20
21     <link name="cachebase">
22       <default>/var/cache/vservers</default>
23       <description>
24 A link to the directory which will hold cached information about
25 vservers.
26       </description>
27     </link>
28
29     <boolean id="global-nonamespace" name="nonamespace">
30       <description>
31 Disable namespace usage globally. It can be overridden for a single vserver
32 by setting the <optionref ref="global-namespace">namespace</optionref> flag
33 there.
34
35 In this mode the <directory>/vservers</directory> directory must have
36 the 'barrier' attribute. Else, common chroot(2) exploits are possible.
37       </description>
38     </boolean>
39
40     <boolean id="global-nonamespace-cleanup" name="nonamespace-cleanup">
41       <description>
42 Disable namespace cleanup globally. It can be overridden for a single vserver
43 by setting the <optionref ref="namespace-cleanup">namespace-cleanup</optionref> flag
44 there.
45       </description>
46     </boolean>
47
48     <list id="global-namespace-cleanup-skip" name="namespace-cleanup-skip">
49       <description>
50 List of paths to skip during namespace cleanup.
51       </description>
52     </list>
53
54     <link name="run.rev">
55       <description>
56 Path of the vserver run reverse directory. This directory contains
57 symlinks named with XID numbers which point back to the configuration
58 directory of vservers. Under kernel 2.4 this is required for the XID
59 to VSERVER mapping; Under kernel 2.6 it is unused.
60
61 NOTE: this link exists in 0.30.202+ only; in previous versions it was
62 a vserver specific setting.
63       </description>
64     </link>
65
66     <scalar name="shell">
67       <description>
68 Contains the pathname of the shell which will be used by the "vserver
69 ... enter" command. Can be overridden by the
70 <optionref ref="shell">per-guest shell</optionref>.
71       </description>
72     </scalar>
73
74     <data name="fstab">
75       <description>
76 The default fstab file to put in newly built guests.
77       </description>
78     </data>
79
80     <boolean name="context.dynamic">
81       <description>
82 If this file exists, kernel-side dynamic contexts will be used by the "vserver
83 ... build" command. Otherwise a context will be generated, based on the
84 contents of <optionref>context.next</optionref>.
85       </description>
86     </boolean>
87
88     <scalar id="context.next" name="context.next">
89       <description>
90 The context id to use for the next guest created by "vserver ... build".
91       </description>
92     </scalar>
93     
94     <collection name="apps">
95       <collection name="pkgmgmt">
96         <link name="base">
97           <default>/vservers/.pkg</default>
98         </link>
99         <data name="apt.conf">
100           <description>The default apt.conf which is going to be used. It is overridden by
101 distribution specific configuration file.
102           </description>
103         </data>
104       </collection>
105       
106       <collection name="debootstrap">
107         <scalar name="mirror">
108           <description>
109 The Debian mirror to use with the <tool>debootstrap</tool> program
110           </description>
111         </scalar>
112         <scalar name="uri">
113           <description>
114 When the <tool>debootstrap</tool> package is not installed; fetch it
115 from this uri and install it at a temporary place.
116           </description>
117         </scalar>
118       </collection>
119
120       <collection name="vdevmap">
121         <collection name="x" type="sybmolic">
122           <description>'x' is an arbitrary name, replace it with e.g. device names</description>
123           <boolean name="open">
124             <description>When this file exists, the device can be opened</description>
125           </boolean>
126           <boolean name="create">
127             <description>When this file exists, the device can be created (if the guest has <optionref ref="bcapabilities">CAP_MKNOD</optionref>)</description>
128           </boolean>
129           <boolean id="vdevmap-remap" name="remap">
130             <description>
131 When this file exists, <optionref ref="vdevmap-target">target</optionref> will
132 have to exist as well and opening the device will in fact open the target device
133             </description>
134           </boolean>
135           <scalar name="flags">
136             <description>This file will let you specify unimplemented flags manually</description>
137           </scalar>
138           <scalar name="device">
139             <description>Contains the name of a device node</description>
140           </scalar>
141           <scalar id="vdevmap-target" name="target">
142             <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>
143           </scalar>
144         </collection>
145       </collection>
146
147       <collection name="vshelper">
148         <link name="logfile">
149           <description>
150 The file where output will be logged to when <tool>vshelper</tool>
151 is invoked from the kernel. This should point somewhere e.g. into
152 <directory>/var/log</directory>.
153           </description>
154         </link>
155
156         <collection name="vshelper-methods">
157           <program name="handler" type="symbolic">
158             <description>
159 See <optionref ref="vshelper-action">vshelper/action</optionref>.
160             </description>
161           </program>
162         </collection>
163
164         <boolean name="disabled">
165           <description>
166 When existing, the vshelper functionality will be disabled for all
167 vservers.
168           </description>
169         </boolean>
170
171         <boolean name="debug">
172           <description>
173 When existing, the vshelper execution will be traced.
174           </description>
175         </boolean>
176         
177         <boolean name="warning-disabled">
178           <description>
179 When existing, sanity checks for the vshelper functionality will be
180 skipped.
181           </description>
182         </boolean>
183
184       </collection>
185       
186       <collection name="vprocunhide">
187         <list name="files">
188           <description>
189 A list of files which will be made visible by vprocunhide. Wildcards are
190 allowed and anything ending in '/' will be processed recursively. When this file exists,
191 it overrides the defaults in SYSDEFAULTDIR/vprocunhide-files. The entries there must be
192 absolute filenames inclusive the leading '/proc'.
193           </description>
194         </list>
195       </collection>
196       
197       <collection name="init">
198         <link name="tty">
199           <description>
200 A symlink to the TTY device where input/output will be redirected from/to
201 at startup via initscript.
202           </description>
203         </link>
204
205         <hash id="global-environment" name="environment" since="0.30.211">
206           <description>
207 The environment to set when starting guests. Contains one VAR=VAL
208 pair per line.
209           </description>
210         </hash>
211       </collection>
212       
213       <collection name="vunify">
214         <list name="exclude">
215           <description>Static list of excluded files.</description>
216         </list>
217
218         <collection name="hash" since="0.30.205">
219           <description>
220 A directory which will be used as the storage place for the
221 <tool>vhashify</tool> command.
222           </description>
223           <link name="id" type="symbolic">
224             <description>
225 Points to a directory within the filesystems which are used for the
226 vservers. There must be not more than one of such a directory per
227 filesystem.
228             </description>
229           </link>
230
231           <scalar name="method" since="0.30.299">
232             <default>SHA1</default>
233             <description>The used hash method.</description>
234           </scalar>
235         </collection>
236
237         <boolean name="pkgmgmt-ignore" default="off" since="0.30.205">
238           <description>
239 When existing, information from packagemanagement will not be used to
240 create dynamic exclude-lists.
241           </description>
242         </boolean>
243
244         <boolean name="pgkmgmt-force" default="off" since="0.30.205">
245           <description>
246 When existing, information from packagemanagement will be used to
247 create dynamic exclude-lists. This option requires that (a known)
248 packagemanagement is configured for the vserver; else the requested
249 operation will fail. Most tools assume 'on' as the default value.
250           </description>
251         </boolean>
252
253       </collection>
254
255       <collection name="vlogin">
256         <boolean id="vlogin-disable" name="disable" since="0.30.212">
257           <description>
258 When this file exists, vlogin isn't used on vserver &lt;guest&gt; enter.
259           </description>
260         </boolean>
261       </collection>
262
263       <collection name="build">
264         <list name="options">
265           <description>
266 A list of default options to supply to vserver ... build, one option per line.
267           </description>
268         </list>
269       </collection>
270     </collection>
271
272     <collection name="interfaces" use="optional">
273       <boolean id="global-vlandev" name="vlandev" since="0.30.211">
274         <description>
275 When this file exists, the steps which setup and destroy a VLAN
276 interface will be executed.
277         </description>
278       </boolean>
279     </collection>
280
281     <collection name="files">
282       <description>This directory contains some files which will be copied to the guests during build.</description>
283       <data name="hosts">
284         <description>The default /etc/hosts file.</description>
285       </data>
286       <data name="nsswitch.conf">
287         <description>The default /etc/nsswitch.conf file.</description>
288       </data>
289       <data name="krb5.conf">
290         <description>The default /etc/krb5.conf file.</description>
291       </data>
292       <data name="krb.conf">
293         <description>The default /etc/krb.conf file.</description>
294       </data>
295       <data name="krb.realms">
296         <description>The default /etc/krb.realms file.</description>
297       </data>
298       <data name="ldap.conf">
299         <description>The default /etc/ldap.conf file.</description>
300       </data>
301       <data name="localtime">
302         <description>The default /etc/localtime file.</description>
303       </data>
304       <data name="resolv.conf">
305         <description>The default /etc/resolv.conf file.</description>
306       </data>
307     </collection>
308   </collection>
309     
310   <collection name=".distributions" use="optional">
311     <collection name="dist" type="symbolic">
312       <scalar name="dev">
313         <description></description>
314       </scalar>
315       <collection name="yum">
316         <description>
317 The default, yum-related content of the <directory>/etc</directory>
318 directory.
319         </description>
320         <scalar name="yum.conf">
321           <description>
322 The master yum configuration file. It supports the @YUMETCDIR@,
323 @YUMCACHEDIR@ and @YUMLOGDIR@ placeholder which will be replaced at
324 <command>vserver ... build</command> time.
325           </description>
326         </scalar>
327       </collection>
328       <collection name="yum.repos.d">
329         <description>A directory with yum repositories.</description>
330       </collection>
331       <data name="apt.conf">
332         <description>
333 The default apt.conf which is going to be used. It overrides the
334 apt.conf from CONFDIR/.defaults/apps/pkgmgmt.
335         </description>
336       </data>
337       <program name="initpre">
338         <description>
339 Script which will be executed before packages will be installed.
340           </description>
341         <parameterList>
342           <parameter name="confdir">
343             <description>
344 The configuration directory of the vserver which is going to be set up.
345             </description>
346           </parameter>
347           <parameter name="util-vserver-vars">
348             <description>
349 The pathname of the util-vserver-vars file.
350             </description>
351           </parameter>
352         </parameterList>
353       </program>
354       <program name="initpost">
355         <description>
356 Script which will be executed after packages are installed.
357           </description>
358         <parameterList>
359           <parameter name="confdir">
360             <description>
361 The configuration directory of the vserver which is going to be set up.
362             </description>
363           </parameter>
364           <parameter name="vserver">
365             <description>
366 The pathname of the util-vserver-vars file.
367             </description>
368           </parameter>
369         </parameterList>
370       </program>
371       
372       <collection name="pkgs">
373         <description>
374 Contains files with packagenames.
375         </description>
376         <list name="list">
377           <description>
378 File which contains the name of packages. On top of file the special
379 keywords '--reinstall' and '--can-fail' are possible.
380           </description>
381         </list>
382       </collection>
383       
384       <collection name="pubkeys">
385         <description>
386 Directory with GPG pubkeys which are used to sign the packages of this
387 distribution.
388         </description>
389       </collection>
390       
391       <collection name="apt">
392         <description>
393 Default content of the <directory>/etc/apt/</directory> directory.
394         </description>
395       </collection>
396       
397       <collection name="rpm">
398         <description>
399 Default content of the <directory>/etc/rpm</directory> directory.
400         </description>
401       </collection>
402       
403       <link name="rpmlib">
404         <description>
405 Directory which overrides <directory>/usr/lib/rpm</directory>.
406         </description>
407       </link>
408       <link name="execdir">
409         <description>
410 Directory with all executables and libraries which are required for
411 this distribution.
412         </description>
413       </link>
414     </collection>
415   </collection>
416   
417   <!-- Vserver configuration -->
418   <collection name="vserver-name" type="symbolic">
419     <description>
420 The configuration directory for the vserver vserver-name.
421     </description>
422
423     <link name="cache">
424       <default>../.defaults/cachebase/VSERVERNAME</default>
425       <description>
426 Path of the storage area for cached information about this vserver.
427       </description>
428     </link>
429     
430     <link name="vdir">
431       <default>../.defaults/vdirbase/VSERVERNAME</default>
432       <description>
433 Path of the vserver root directory.
434       </description>
435     </link>
436
437     <link name="run">
438       <description>
439 Points to a file which will contain the XID of the running vserver. When
440 the vserver is stopped, this can be a dangling symlink.
441       </description>
442     </link>
443
444     <list id="bcapabilities" name="bcapabilities">
445       <description>
446 Contains the system capabilities. See
447 <ulink url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/bcaps-v13.c">lib/bcaps-v13.c</ulink>
448 for possible values.
449       </description>
450     </list>
451     <list name="ccapabilities">
452       <description>
453 Contains the context capabilities. See <ulink
454 url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/ccaps-v13.c">lib/ccaps-v13.c</ulink>
455 for possible values.
456       </description>
457     </list>
458     <list name="ncapabilities" since="0.30.212">
459       <description>
460 Contains the network capabilities. See <ulink
461 url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/ncaps-net.c">lib/ncaps-net.c</ulink>
462 for possible values.
463       </description>
464     </list>
465
466     <boolean id="global-namespace" name="namespace">
467       <description>
468 Overrides the global <optionref ref="global-nonamespace">nonamespace</optionref> flag and enables
469 namespace usage for the current vserver.
470       </description>
471     </boolean>
472
473     <boolean name="nonamespace">
474       <description>
475 Disables namespace usage for the current vserver.
476
477 In this mode the <directory>/vservers</directory> directory must have
478 the 'barrier' attribute. Else, common chroot(2) exploits are possible.
479       </description>
480     </boolean>
481
482     <boolean id="namespace-cleanup" name="namespace-cleanup">
483       <description>
484 Overrides the global <optionref ref="global-nonamespace-cleanup">nonamespace-cleanup</optionref> flag and enables
485 namespace cleanup for the current vserver.
486       </description>
487     </boolean>
488
489     <list name="namespace-cleanup-skip">
490       <description>
491 List of paths to skip during namespace cleanup. This overrides the global
492 <optionref ref="global-namespace-cleanup-skip">namespace-cleanup-skip</optionref>
493 file.
494       </description>
495     </list>
496
497     <hash name="schedule">
498       <description>
499 [deprecated; use <optionref ref="sched">sched</optionref> instead] Contains the
500 scheduler parameters, one per line.
501
502 The Hard CPU limit uses a mechanism called a Token Bucket.  the
503 concept is simple: you have a bucket of a certain size which is
504 filled with a specified amount R of tokens each interval T until the
505 maximum is reached (excess tokens are spilled). At each timer tick,
506 a running process consumes one token from the bucket, unless the
507 bucket is empty. If the bucket is empty the process is put in the
508 hold queue. When the bucket has been refilled to at least M tokens,
509 all on hold processes are rescheduled.
510
511 See the <ulink url="http://linux-vserver.org/Scheduler+Parameters">Linux
512 VServer Wiki</ulink> for more information about this file.
513       </description>
514       <keys>
515         <key id="fill_rate" name="fill-rate">
516           <description>
517 Amount of tokens append to the bucket each interval.
518             </description>
519         </key>
520         <key name="interval">
521           <description>
522 The intervall between refills of amount <optionref>fill_rate</optionref>. This
523 value is express in ticks.
524           </description>
525         </key>
526         <key name="tokens">
527           <description>
528 Initial bucket contents.
529           </description>
530         </key>
531         <key name="tokens-min">
532           <description>
533 The minimum amount of tokens required to unhold processes
534           </description>
535         </key>
536         <key name="tokens-max">
537           <description>
538 The bucket size.
539           </description>
540         </key>
541         <key name="priority-bias">
542           <description>
543 ???
544           </description>
545         </key>
546       </keys>
547     </hash>
548     <scalar name="name">
549       <description>
550 Contains the name of the vserver. When not given, the basename of the directory
551 will be assumed as this name.
552       </description>
553     </scalar>
554     <scalar name="nice">
555       <description>
556 The nice-level on which the vserver will be started.
557       </description>
558     </scalar>
559     <list name="capabilities">
560       <description>
561 Contains per line a capability. This file is used for the 2.4 kernel
562 only; for 2.6 use <optionref>bcapabilities</optionref>.
563       </description>
564     </list>
565     <scalar id="shell" name="shell">
566       <description>
567 Contains the pathname of the shell which will be used by the "vserver
568 ... enter" command.
569       </description>
570     </scalar>
571     <list name="personality">
572       <description>
573 Used to set the personality of the vserver. First line in the file
574 is the personality-type followed by flags (one item per line). See
575 <filename>/usr/include/linux/personality.h</filename> for possible
576 values.
577       </description>
578     </list>
579     <list name="flags">
580       <description>
581 Contains per line a flag. See <ulink
582 url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/cflags-v13.c">lib/cflags-v13.c</ulink>
583 for possible values.
584       </description>
585       <!--
586       <elements>
587         <element name="fakeinit">
588           <description>
589 The new process will believe it is process number 1. Useful to run a
590 real /sbin/init in a vserver. Warning: this flag should not be used
591 unless you know what you are doing. Often, it is better to use the
592 'plain' initstyle.
593           </description>
594         </element>
595         <element name="lock">
596           <description>
597 The new process is trapped and can't use chcontext anymore.
598           </description>
599         </element>
600         <element name="sched">
601           <description>
602 The new process and its children will share a common
603           </description>
604         </element>
605         <element name="nproc">
606           <description>
607 Limit the number of process in the vserver according to
608 ulimit setting. Normally, ulimit is a per user thing.
609 With this flag, it becomes a per vserver thing.
610           </description>
611         </element>
612         <element name="private">
613           <description>
614 No one can join this security context once created.
615           </description>
616         </element>
617         <element name="ulimit">
618           <description>
619 Apply the current ulimit to the whole context
620           </description>
621         </element>
622       </elements>
623       -->
624     </list>
625     <list name="nflags" since="0.30.212">
626       <description>
627 Contains a network flag per line. See <ulink
628 url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/nflags-net.c">lib/nflags-net.c</ulink>
629 for possible values.
630       </description>
631     </list>
632     <scalar name="context">
633       <description>
634 Contains the context which shall be used for the vserver.
635         </description>
636     </scalar>
637     <data id="fstab" name="fstab">
638       <description>
639 The fstab file for the vserver. Entries in this file will be mounted
640 within the network context of the host. Use the
641 <optionref>fstab.remote</optionref> file when you want that the
642 mounting happens in the network context of the vserver. In most cases
643 the 'fstab' file should be used.
644       </description>
645     </data>
646     <data id="fstab.remote" name="fstab.remote">
647       <description>
648 The fstab file for the vserver. Entries in this file will be mounted
649 within the network context of the host; this means that mount will be
650 called as <command>chbind &lt;options&gt; mount ...</command>. See
651 <optionref>fstab</optionref> also.
652       </description>
653     </data>
654     
655     <collection name="apps">
656       <collection name="init">
657         <data name="mtab">
658           <description>
659 The initial-mtab which will be used for the vserver.
660           </description>
661         </data>
662         
663         <scalar name="style">
664           <description>
665 Contains the init-style.
666           </description>
667           <restriction>
668             <enumeration value="sysv"/>
669             <enumeration value="plain"/>
670             <enumeration value="minit"/>
671           </restriction>
672         </scalar>
673         
674         <scalar name="runlevel">
675           <description>The start runlevel.</description>
676         </scalar>
677         
678         <scalar name="runlevel.start">
679           <description>The start runlevel.</description>
680         </scalar>
681         
682         <scalar name="runlevel.stop">
683           <description>The stop runlevel.</description>
684         </scalar>
685         
686         <scalar name="killseq">
687           <description>
688 Contains the 'signal [wait signal]*' sequence which is used to stop
689 the vserver.
690           </description>
691         </scalar>
692         
693         <list name="cmd.start">
694           <description>
695 The command which is used to start the vserver. Each option must be on
696 a separate line.
697           </description>
698         </list>
699         
700         <list name="cmd.start-sync">
701           <description>
702 The command which is used to wait on the vserver after it has been
703 started. Each option must be on a separate line. This file will be
704 ignored when the <optionref>sync</optionref> flag does not exist and the
705 '--sync' option was not used.
706           </description>
707         </list>
708         
709         <list name="cmd.stop">
710           <description>
711 The command which is used to stop the vserver. Each option must be on
712 a separate line.
713           </description>
714         </list>
715         
716         <list name="cmd.stop-sync">
717           <description>
718 The command which is used to wait on the vserver after it has been
719 stopped. Each option must be on a separate line. This file will be
720 ignored when the <optionref>sync</optionref> flag does not exist and the
721 '--sync' option was not used.
722           </description>
723         </list>
724         
725         <list name="cmd.prepare">
726           <description>
727 The command which is used to setup the init-system (e.g. to set the
728 runlevel in the utmp-file). Each option must be on a separate line.
729           </description>
730         </list>
731         
732         <boolean id="sync" name="sync">
733           <description>
734 If this file is not present, all 'cmd.*-sync files will be ignored.
735             </description>
736         </boolean>
737         
738         <link name="tty">
739           <description>
740 A symlink to the TTY device where input/output will be redirected
741 from/to at startup via initscript.
742           </description>
743         </link>
744         
745         <scalar name="mark">
746           <description>
747 This file is used to mark group of vservers which shall be started/stopped
748 together by the initscript. Content is a simple string like 'default'.
749           </description>
750         </scalar>
751         
752         <list name="depends">
753           <description>
754 This file is used to configure vservers which must be running before
755 the current vserver can be started. At shutdown, the current vserver
756 will be stopped before its dependencies. Content of this file are
757 vserver ids (one name per line).
758           </description>
759         </list>
760
761         <hash name="environment" since="0.30.211">
762           <description>
763 The environment to set when starting the guest. Contains one VAR=VAL
764 pair per line.
765           </description>
766         </hash>
767       </collection>
768       
769       <collection name="vshelper">
770         <scalar name="sync-timeout">
771           <default>30</default>
772           <description>
773 The timeout in seconds which is used when synchronising vserver
774 startup/shutdown with the vshelper. When not set, 30 seconds will be
775 assumed.
776           </description>
777         </scalar>
778         
779         <scalar id="vshelper-action" name="action">
780           <default>restart</default>
781           <description>
782 The action which is going to be executed when a vshelper event
783 occurs. The default value is 'restart', but there can be defined own
784 methods by placing scripts into the
785 <optionref>vshelper-methods</optionref> directories. These scripts are
786 fed with the same arguments as the <tool>vshelper</tool> script.
787           </description>
788         </scalar>
789         
790         <program name="event" type="symbolic">
791           <description>
792 When existing, these scripts will be executed *instead* of the default
793 handler defined in 'action'. Their name must match the event which caused
794 the execution of <tool>vshelper</tool>; e.g. 'restart' or 'poweroff'. See
795 the vs_reboot() function in the kernel for more details.
796           </description>
797           <parameterList>
798             <parameter name="xid">
799               <description>
800 The xid of the context calling the vshelper
801               </description>
802             </parameter>
803             <parameter name="event">
804               <description>
805 The reboot-event.
806               </description>
807             </parameter>
808           </parameterList>
809         </program>
810         
811         <boolean name="disabled">
812           <description>
813 When existing, the vshelper functionality will be disabled for this
814 vserver.
815           </description>
816         </boolean>
817
818         <boolean name="debug">
819           <description>
820 When existing, the vshelper execution will be traced for this vserver.
821           </description>
822         </boolean>
823         
824         <boolean name="warning-disabled">
825           <description>
826 When existing, sanity checks for the vshelper functionality will be
827 skipped.
828           </description>
829         </boolean>
830         
831       </collection>
832       
833       <collection id="vshelper-methods" name="vshelper-methods">
834         <program name="handler" type="symbolic">
835           <description>
836 See <optionref ref="vshelper-action">vshelper/action</optionref>.
837           </description>
838         </program>
839       </collection>
840       
841       <collection name="vunify">
842         <description>
843 This directory contains configuration data required for vserver
844 unification.
845         </description>
846         
847         <list name="exclude">
848           <description>
849 <p>Static list of files which are excluded for unification. This list
850 supports an rsync-like syntax: when a file is prefixed by '+', it is a
851 candidate for unification; when there is no prefix or a '-' or a '~' it
852 will be excluded. Shell-wildcards are allowed for the filenames.</p>
853 <p>When used with <tool>vcopy</tool>, the '~' prefix prevents copying
854 of the file entirely (e.g. for keyfiles). With this tool, the file will
855 be copied instead of hardlinked when the '-' prefix is used.</p>
856           </description>
857         </list>
858         
859         <link name="refserver.X" type="symbolic">
860           <description>
861 These are symlinks to the configuration directory
862 (e.g. CONFDIR/vservers/&lt;id&gt;) of a refserver. There may be
863 multiple such symlinks but they must be prefixed by 'refserver.' and
864 will be processed in alphanumerical order.
865           </description>
866         </link>
867
868         <collection name="hash" since="0.30.205">
869           <description>
870 A directory which will be used as the storage place for the
871 <tool>vhashify</tool> command.
872           </description>
873           <link name="id" type="symbolic">
874             <description>
875 Points to a directory within the filesystems which are used for the
876 vservers. There must be not more than one of such a directory per
877 filesystem.
878             </description>
879           </link>
880
881           <scalar name="method"  since="0.30.299">
882             <default>SHA1</default>
883             <description>The used hash method.</description>
884           </scalar>
885         </collection>
886
887         <boolean name="pkgmgmt-ignore" default="off" since="0.30.205">
888           <description>
889 When existing, information from packagemanagement will not be used to
890 create dynamic exclude-lists.
891           </description>
892         </boolean>
893
894         <boolean name="pgkmgmt-force" default="off" since="0.30.205">
895           <description>
896 When existing, information from packagemanagement will be used to
897 create dynamic exclude-lists. This option requires that (a known)
898 packagemanagement is configured for the vserver; else the requested
899 operation will fail. Most tools assume 'on' as the default value.
900           </description>
901         </boolean>
902         
903       </collection>
904     </collection>
905     
906     <collection name="scripts">
907       <description>
908 A directory for scripts. By default, when one of these scripts will be
909 executed, the execution of defaultscripts (within .../.defaults/scripts)
910 will be skipped. To execute them nevertheless, the $DONT_SKIP_DEFAULTS
911 environment variable must be set by one of the in-shellcontext scripts
912 (the non-executable ones).
913       </description>
914       
915       <program name="initialize" since="0.30.211">
916         <description>
917 The scriptlet which will be executed before the root filesystem is mounted and
918 the configuration has been loaded. Before executing the script, the
919 configuration directory will be made the working directory.
920         </description>
921         <parameterList>
922           <parameter name="action">
923             <description>
924 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
925             </description>
926           </parameter>
927           <parameter name="vserver-name">
928             <description>
929 The name of the current vserver.
930             </description>
931           </parameter>
932         </parameterList>
933       </program>
934       <collection name="initialize.d" since="0.30.211">
935         <description>
936 Repository of initialize like scripts.  Before executing the script,
937 the configuration directory will be made the working directory.
938         </description>
939         <program name="script" type="symbolic">
940           <description>See initialize.</description>
941           <parameterList>
942             <parameter name="action">
943               <description>
944 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
945               </description>
946             </parameter>
947             <parameter name="vserver-name">
948               <description>
949 The name of the current vserver.
950               </description>
951             </parameter>
952           </parameterList>
953         </program>
954       </collection>
955       
956       <program name="prepre-start">
957         <description>
958 The scriptlet which will be executed before the network-interfaces are
959 enabled and the directories are mounted. Before executing the script,
960 the configuration directory will be made the working directory.
961         </description>
962         <parameterList>
963           <parameter name="action">
964             <description>
965 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
966             </description>
967           </parameter>
968           <parameter name="vserver-name">
969             <description>
970 The name of the current vserver.
971             </description>
972           </parameter>
973         </parameterList>
974       </program>
975       <collection name="prepre-start.d">
976         <description>
977 Repository of prepre-start like scripts.  Before executing the script,
978 the configuration directory will be made the working directory.
979         </description>
980         <program name="script" type="symbolic">
981           <description>See prepre-start.</description>
982           <parameterList>
983             <parameter name="action">
984               <description>
985 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
986               </description>
987             </parameter>
988             <parameter name="vserver-name">
989               <description>
990 The name of the current vserver.
991               </description>
992             </parameter>
993           </parameterList>
994         </program>
995       </collection>
996       
997       <program name="pre-start">
998         <description>
999 The scriptlet which will be executed after network-interfaces were
1000 enabled and the directories mounted, but before the vserver itself has
1001 been started.  Before executing the script, the vserver root directory
1002 will be made the working directory.
1003         </description>
1004         <parameterList>
1005           <parameter name="action">
1006             <description>
1007 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1008             </description>
1009           </parameter>
1010           <parameter name="vserver-name">
1011             <description>
1012 The name of the current vserver.
1013             </description>
1014           </parameter>
1015         </parameterList>
1016       </program>
1017       <collection name="pre-start.d">
1018         <description>
1019 Repository of pre-start like scripts. Before executing these scripts,
1020 the vserver root directory will be made the working directory.
1021         </description>
1022         <program name="script" type="symbolic">
1023           <description>See pre-start.</description>
1024           <parameterList>
1025             <parameter name="action">
1026               <description>
1027 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1028               </description>
1029             </parameter>
1030             <parameter name="vserver-name">
1031               <description>
1032 The name of the current vserver.
1033               </description>
1034             </parameter>
1035           </parameterList>
1036         </program>
1037       </collection>
1038       
1039
1040       <program name="post-start">
1041         <description>
1042 The scriptlet which will be executed after the vserver has been
1043 started. Before executing the script, the vserver root directory
1044 will be made the working directory.
1045         </description>
1046         <parameterList>
1047           <parameter name="action">
1048             <description>
1049 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1050             </description>
1051           </parameter>
1052           <parameter name="vserver-name">
1053             <description>
1054 The name of the current vserver.
1055             </description>
1056           </parameter>
1057         </parameterList>
1058       </program>
1059       <collection name="post-start.d">
1060         <description>
1061 Repository of post-start like scripts. Before executing these scripts,
1062 the vserver root directory will be made the working directory.
1063         </description>
1064         <program name="script" type="symbolic">
1065           <description>See post-start.</description>
1066           <parameterList>
1067             <parameter name="action">
1068               <description>
1069 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1070               </description>
1071             </parameter>
1072             <parameter name="vserver-name">
1073               <description>
1074 The name of the current vserver.
1075               </description>
1076             </parameter>
1077           </parameterList>
1078         </program>
1079       </collection>
1080
1081
1082       <program name="pre-stop">
1083         <description>
1084 The scriptlet which will be executed before the vserver will be
1085 stopped. Before executing the script, the vserver root directory
1086 will be made the working directory.
1087         </description>
1088         <parameterList>
1089           <parameter name="action">
1090             <description>
1091 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1092             </description>
1093           </parameter>
1094           <parameter name="vserver-name">
1095             <description>
1096 The name of the current vserver.
1097             </description>
1098           </parameter>
1099         </parameterList>
1100       </program>
1101       <collection name="pre-stop.d">
1102         <description>
1103 Repository of pre-stop like scripts. Before executing the script, the
1104 vserver root directory will be made the working directory.
1105         </description>
1106         <program name="script" type="symbolic">
1107           <description>See pre-stop.</description>
1108           <parameterList>
1109             <parameter name="action">
1110               <description>
1111 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1112               </description>
1113             </parameter>
1114             <parameter name="vserver-name">
1115               <description>
1116 The name of the current vserver.
1117               </description>
1118             </parameter>
1119           </parameterList>
1120         </program>
1121       </collection>
1122
1123       <program name="post-stop">
1124         <description>
1125 The scriptlet which will be executed after the vserver has been
1126 stopped, but before the directories will be umounted and the the
1127 interfaces disabled. Before executing the script, the vserver root
1128 directory will be made the working directory.
1129         </description>
1130         <parameterList>
1131           <parameter name="action">
1132             <description>
1133 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1134             </description>
1135           </parameter>
1136           <parameter name="vserver-name">
1137             <description>
1138 The name of the current vserver.
1139             </description>
1140           </parameter>
1141         </parameterList>
1142       </program>
1143       <collection name="post-stop.d">
1144         <description>
1145 Repository of post-stop like scripts. Before executing the script, the
1146 vserver root directory will be made the working directory.
1147         </description>
1148         <program name="script" type="symbolic">
1149           <description>See post-stop.</description>
1150           <parameterList>
1151             <parameter name="action">
1152               <description>
1153 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1154               </description>
1155             </parameter>
1156             <parameter name="vserver-name">
1157               <description>
1158 The name of the current vserver.
1159               </description>
1160             </parameter>
1161           </parameterList>
1162         </program>
1163       </collection>
1164       
1165       <program name="postpost-stop">
1166         <description>
1167 The scriptlet which will be executed after the vserver has been stopped
1168 completely. Before executing the script, the vserver root directory
1169 will be made the working directory.
1170         </description>
1171         <parameterList>
1172           <parameter name="action">
1173             <description>
1174 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1175             </description>
1176           </parameter>
1177           <parameter name="vserver-name">
1178             <description>
1179 The name of the current vserver.
1180             </description>
1181           </parameter>
1182         </parameterList>
1183       </program>
1184       <collection name="postpost-stop.d">
1185         <description>
1186 Repository of postpost-stop like scripts. Before executing the script,
1187 the vserver root directory will be made the working directory.
1188         </description>
1189         <program name="script" type="symbolic">
1190           <description>See postpost-stop.</description>
1191           <parameterList>
1192             <parameter name="action">
1193               <description>
1194 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1195               </description>
1196             </parameter>
1197             <parameter name="vserver-name">
1198               <description>
1199 The name of the current vserver.
1200               </description>
1201             </parameter>
1202           </parameterList>
1203         </program>
1204       </collection>
1205     </collection>
1206     
1207     <collection name="interfaces">
1208       <scalar name="bcast">
1209         <description>The default broadcast address.</description>
1210       </scalar>
1211       <scalar name="dev">
1212         <description>The default network device.</description>
1213       </scalar>
1214       <scalar name="prefix">
1215         <description>The default network prefix-length.</description>
1216       </scalar>
1217       <scalar name="mask">
1218         <description>The default network mask.</description>
1219       </scalar>
1220       <scalar name="scope">
1221         <description>The default scope of the network interfaces.</description>
1222       </scalar>
1223       <boolean id="local-vlandev" name="vlandev" since="0.30.211">
1224         <description>
1225 When this file exists, the steps which setup and destroy a VLAN
1226 interface will be executed for all interfaces of this vserver.
1227         </description>
1228       </boolean>
1229       <boolean id="local-novlandev" name="novlandev">
1230         <description>
1231 When this file exists, the steps which setup and destroy a VLAN
1232 interface will be skipped. This overrides the global
1233 <optionref ref="global-vlandev">vlandev</optionref> setting for
1234 this vserver.
1235         </description>
1236       </boolean>
1237       
1238       <collection name="iface" type="symbolic">
1239         <description>
1240 'iface' is an arbitrary name for the interface; the value itself is
1241 not important but may be interesting regarding interface-creation and
1242 usage with <tool>chbind</tool>. Both happens in alphabetical order and
1243 numbers like '00' are good names for these directories.
1244         </description>
1245         
1246         <boolean name="disabled">
1247           <description>When this file exists, this interface will be ignored.</description>
1248         </boolean>
1249         
1250         <scalar name="ip">
1251           <description>The ip which will be assigned to this interface.</description>
1252         </scalar>
1253         <scalar name="bcast">
1254           <description>The broadcast address.</description>
1255         </scalar>
1256         <scalar name="dev">
1257           <description>The network device.</description>
1258         </scalar>
1259         <scalar name="prefix">
1260           <description>The network prefix-length.</description>
1261         </scalar>
1262         <scalar name="mask">
1263           <description>The network mask.</description>
1264         </scalar>
1265         <scalar name="scope">
1266           <description>The scope of the network interface.</description>
1267         </scalar>
1268         <scalar name="name">
1269           <description>
1270 When this file exists, the interface will be named with the text in
1271 this file. Without such an entry, the IP will not be shown by
1272 <tool>ifconfig</tool> but by <command>ip addr ls</command> only.  Such
1273 a labeled interface is known as an "alias" also (e.g. 'eth0:foo').
1274           </description>
1275         </scalar>
1276         <boolean name="nodev">
1277           <description>
1278 When this file exists, the interface will be assumed to exist
1279 already. This can be used to assign primary interfaces which are
1280 created by the host or another vserver.
1281           </description>
1282         </boolean>
1283         <boolean name="novlandev">
1284           <description>
1285 When this file exists, the steps which setup and destroy a VLAN
1286 interface will be skipped. This will override the global
1287 <optionref ref="global-vlandev">vlandev</optionref> and the per-guest
1288 <optionref ref="local-vlandev">vlandev</optionref>.
1289           </description>
1290         </boolean>
1291         <boolean name="vlandev" since="0.30.211">
1292           <description>
1293 When this file exists, the steps which setup and destroy a VLAN
1294 interface will be executed.
1295           </description>
1296         </boolean>
1297       </collection>
1298     </collection>
1299     
1300     <collection name="ulimits">
1301       <description>
1302 A directory with ulimits. Possible resources are cpu, data, fsize,
1303 locks, memlock, nofile, nproc, rss and/or stack.
1304       </description>
1305       <scalar name="resource" type="symbolic">
1306         <description>
1307 A file which contains the hard- and soft-limit of the given resource
1308 in the first line. The special keyword 'inf' is recognized.
1309         </description>
1310       </scalar>
1311       <scalar name="resource.hard" type="symbolic">
1312         <description>
1313 A file which contains the hard-limit of the given resource in the first
1314 line. The special keyword 'inf' is recognized.
1315         </description>
1316       </scalar>
1317       <scalar name="resource.soft" type="symbolic">
1318         <description>
1319 A file which contains the soft-limit of the given resource in the first
1320 line. The special keyword 'inf' is recognized.
1321         </description>
1322       </scalar>
1323     </collection>
1324     
1325     <collection name="rlimits">
1326       <description>
1327 A directory with resource limits. Possible resources are cpu, fsize,
1328 data, stack, core, rss, nproc, nofile, memlock, as, locks, msgqueue,
1329 nsock, openfd, anon, shmem, semary, nsems and dentry. This
1330 configuration will be honored for kernel 2.6 only.
1331       </description>
1332       <scalar name="resource" type="symbolic">
1333         <description>
1334 A file which contains the hard- and soft-limit of the given resource
1335 in the first line. The special keyword 'inf' is recognized.
1336         </description>
1337       </scalar>
1338       <scalar name="resource.hard" type="symbolic">
1339         <description>
1340 A file which contains the hard-limit of the given resource in the first
1341 line. The special keyword 'inf' is recognized.
1342         </description>
1343       </scalar>
1344       <scalar name="resource.soft" type="symbolic">
1345         <description>
1346 A file which contains the soft-limit of the given resource in the first
1347 line. The special keyword 'inf' is recognized.
1348         </description>
1349       </scalar>
1350       <scalar name="resource.min" type="symbolic">
1351         <description>
1352 A file which contains the guaranteed minimum of the given resource in
1353 the first line. The special keyword 'inf' is recognized.
1354         </description>
1355       </scalar>
1356     </collection>
1357     
1358     <collection name="uts">
1359       <scalar name="context">
1360         <description>
1361 The context-name of the vserver. This file is listed for completeness
1362 only; the 'context' name is used and set internally by the util-vserver
1363 tools and can *not* be modified.
1364         </description>
1365       </scalar>
1366       <scalar name="sysname">
1367         <description>The sysname of the vserver</description>
1368       </scalar>
1369       <scalar name="nodename">
1370         <description>The node-/hostname of the vserver</description>
1371       </scalar>
1372       <scalar name="release">
1373         <description>The OS-release of the vserver</description>
1374       </scalar>
1375       <scalar name="version">
1376         <description>The OS-version of the vserver</description>
1377       </scalar>
1378       <scalar name="machine">
1379         <description>The machine-type of the vserver</description>
1380       </scalar>
1381       <scalar name="domainname">
1382         <description>The NIS domainname of the vserver</description>
1383       </scalar>
1384     </collection>
1385
1386     <collection name="dlimits" since="0.30.210">
1387       <collection name="dlimit" type="symbolic">
1388         <scalar name="directory">
1389           <description>The directory to which the limit should be applied</description>
1390         </scalar>
1391         <scalar name="inodes_total">
1392           <description>The amount of inodes this vserver should be limited to</description>
1393         </scalar>
1394         <scalar name="space_total">
1395           <description>The amount of space this vserver should be limited to (measured in blocks of 1024 bytes)</description>
1396         </scalar>
1397         <scalar name="reserved">
1398           <description>How much space (percentage-wise) should be reserved for the root user</description>
1399         </scalar>
1400       </collection>
1401     </collection>
1402
1403     <collection name="sysctl" since="0.30.213">
1404       <collection name="x" type="symbolic">
1405         <description>'x' is an arbitrary name, replace it with e.g. integers</description>
1406         <scalar name="setting">
1407           <description>The sysctl setting</description>
1408         </scalar>
1409         <scalar name="value">
1410           <description>The value</description>
1411         </scalar>
1412       </collection>
1413     </collection>
1414
1415     <collection name="cpuset" since="0.30.211">
1416       <scalar name="name">
1417         <description>The name of the cpuset for this vserver</description>
1418       </scalar>
1419       <scalar name="cpus">
1420         <description>The list of CPUs in this cpuset</description>
1421       </scalar>
1422       <scalar name="mems">
1423         <description>The list of Memory Nodes in this cpuset</description>
1424       </scalar>
1425       <scalar name="cpu_exclusive">
1426         <description>Is the CPU assignment exclusive?</description>
1427       </scalar>
1428       <scalar name="mems_exclusive">
1429         <description>Is the memory node assignment exclusive?</description>
1430       </scalar>
1431       <scalar name="nocreate">
1432         <description>When this file exists, the cpuset will be assumed to exist already</description>
1433       </scalar>
1434     </collection>
1435
1436     <collection id="sched" name="sched" since="0.30.212">
1437       <scalar id="global-tokens" name="tokens">
1438         <description>The initial amount of tokens to put in the bucket</description>
1439       </scalar>
1440       <scalar id="global-tokens-min" name="tokens-min">
1441         <description>The minimum amount of tokens required to unhold the context</description>
1442       </scalar>
1443       <scalar id="global-tokens-max" name="tokens-max">
1444         <description>The bucket's size</description>
1445       </scalar>
1446       <scalar id="global-fill-rate" name="fill-rate">
1447         <description>Amount of tokens to add each <optionref ref="global-interval">interval</optionref></description>
1448       </scalar>
1449       <scalar id="global-interval" name="interval">
1450         <description>The interval between refills of the bucket</description>
1451       </scalar>
1452       <scalar id="global-priority-bias" name="priority-bias">
1453         <description>Bias added to priorities calculated within the guest (result is clamped to -20/+19)</description>
1454       </scalar>
1455       <scalar id="global-fill-rate2" name="fill-rate2">
1456         <description>Amount of tokens to add each <optionref ref="global-interval2">interval2</optionref> when advancing idle time</description>
1457       </scalar>
1458       <scalar id="global-interval2" name="interval2">
1459         <description>The interval between refills of the bucket when advancing idle time</description>
1460       </scalar>
1461       <boolean id="global-idle-time" name="idle-time">
1462         <description>When this file exists, advancing idle time is activated</description>
1463       </boolean>
1464       <collection name="cpu-id" type="symbolic">
1465         <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>
1466         <scalar name="tokens">
1467           <description>The initial amount of tokens to put in the bucket</description>
1468         </scalar>
1469         <scalar name="tokens-min">
1470           <description>The minimum amount of tokens required to unhold the context</description>
1471         </scalar>
1472         <scalar name="tokens-max">
1473           <description>The bucket's size</description>
1474         </scalar>
1475         <scalar name="fill-rate">
1476           <description>Amount of tokens to add each <optionref ref="local-interval">interval</optionref></description>
1477         </scalar>
1478         <scalar id="local-interval" name="interval">
1479           <description>The interval between refills of the bucket</description>
1480         </scalar>
1481         <scalar name="priority-bias">
1482           <description>Bias added to priorities calculated within the guest (result is clamped to -20/+19)</description>
1483         </scalar>
1484         <scalar name="fill-rate2">
1485           <description>Amount of tokens to add each <optionref ref="local-interval2">interval2</optionref> when advancing idle time</description>
1486         </scalar>
1487         <scalar id="local-interval2" name="interval2">
1488           <description>The interval between refills of the bucket when advancing idle time</description>
1489         </scalar>
1490         <boolean name="idle-time">
1491           <description>When this file exists, advancing idle time is activated</description>
1492         </boolean>
1493         <scalar id="cpu-id" name="cpu-id">
1494           <description>The CPU to apply these settings to</description>
1495         </scalar>
1496         <scalar name="bucket-id">
1497           <description>The bucket to apply these settings to</description>
1498         </scalar>
1499       </collection>
1500     </collection>
1501   </collection>
1502   </database>