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