ready for tagging
[util-vserver.git] / doc / configuration.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE database SYSTEM "configuration.dtd" []>
3 <!-- $Id: configuration.xml 2599 2007-08-26 21:30:50Z 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     <link name="template">
416       <description>
417 Symlink to the default template for this distribution.
418       </description>
419     </link>
420   </collection>
421   
422   <!-- Vserver configuration -->
423   <collection name="vserver-name" type="symbolic">
424     <description>
425 The configuration directory for the vserver vserver-name.
426     </description>
427
428     <link name="cache">
429       <default>../.defaults/cachebase/VSERVERNAME</default>
430       <description>
431 Path of the storage area for cached information about this vserver.
432       </description>
433     </link>
434     
435     <link name="vdir">
436       <default>../.defaults/vdirbase/VSERVERNAME</default>
437       <description>
438 Path of the vserver root directory.
439       </description>
440     </link>
441
442     <link name="run">
443       <description>
444 Points to a file which will contain the XID of the running vserver. When
445 the vserver is stopped, this can be a dangling symlink.
446       </description>
447     </link>
448
449     <list id="bcapabilities" name="bcapabilities">
450       <description>
451 Contains the system capabilities. See
452 <ulink url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/bcaps-v13.c">lib/bcaps-v13.c</ulink>
453 for possible values.
454       </description>
455     </list>
456     <list name="ccapabilities">
457       <description>
458 Contains the context capabilities. See <ulink
459 url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/ccaps-v13.c">lib/ccaps-v13.c</ulink>
460 for possible values.
461       </description>
462     </list>
463     <list name="ncapabilities" since="0.30.212">
464       <description>
465 Contains the network capabilities. See <ulink
466 url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/ncaps-net.c">lib/ncaps-net.c</ulink>
467 for possible values.
468       </description>
469     </list>
470
471     <boolean id="global-namespace" name="namespace">
472       <description>
473 Overrides the global <optionref ref="global-nonamespace">nonamespace</optionref> flag and enables
474 namespace usage for the current vserver.
475       </description>
476     </boolean>
477
478     <boolean name="nonamespace">
479       <description>
480 Disables namespace usage for the current vserver.
481
482 In this mode the <directory>/vservers</directory> directory must have
483 the 'barrier' attribute. Else, common chroot(2) exploits are possible.
484       </description>
485     </boolean>
486
487     <boolean id="namespace-cleanup" name="namespace-cleanup">
488       <description>
489 Overrides the global <optionref ref="global-nonamespace-cleanup">nonamespace-cleanup</optionref> flag and enables
490 namespace cleanup for the current vserver.
491       </description>
492     </boolean>
493
494     <list name="namespace-cleanup-skip">
495       <description>
496 List of paths to skip during namespace cleanup. This overrides the global
497 <optionref ref="global-namespace-cleanup-skip">namespace-cleanup-skip</optionref>
498 file.
499       </description>
500     </list>
501
502     <hash name="schedule">
503       <description>
504 [deprecated; use <optionref ref="sched">sched</optionref> instead] Contains the
505 scheduler parameters, one per line.
506
507 The Hard CPU limit uses a mechanism called a Token Bucket.  the
508 concept is simple: you have a bucket of a certain size which is
509 filled with a specified amount R of tokens each interval T until the
510 maximum is reached (excess tokens are spilled). At each timer tick,
511 a running process consumes one token from the bucket, unless the
512 bucket is empty. If the bucket is empty the process is put in the
513 hold queue. When the bucket has been refilled to at least M tokens,
514 all on hold processes are rescheduled.
515
516 See the <ulink url="http://linux-vserver.org/Scheduler+Parameters">Linux
517 VServer Wiki</ulink> for more information about this file.
518       </description>
519       <keys>
520         <key id="fill_rate" name="fill-rate">
521           <description>
522 Amount of tokens append to the bucket each interval.
523             </description>
524         </key>
525         <key name="interval">
526           <description>
527 The intervall between refills of amount <optionref>fill_rate</optionref>. This
528 value is express in ticks.
529           </description>
530         </key>
531         <key name="tokens">
532           <description>
533 Initial bucket contents.
534           </description>
535         </key>
536         <key name="tokens-min">
537           <description>
538 The minimum amount of tokens required to unhold processes
539           </description>
540         </key>
541         <key name="tokens-max">
542           <description>
543 The bucket size.
544           </description>
545         </key>
546         <key name="priority-bias">
547           <description>
548 ???
549           </description>
550         </key>
551       </keys>
552     </hash>
553     <scalar name="name">
554       <description>
555 Contains the name of the vserver. When not given, the basename of the directory
556 will be assumed as this name.
557       </description>
558     </scalar>
559     <scalar name="nice">
560       <description>
561 The nice-level on which the vserver will be started.
562       </description>
563     </scalar>
564     <list name="capabilities">
565       <description>
566 Contains per line a capability. This file is used for the 2.4 kernel
567 only; for 2.6 use <optionref>bcapabilities</optionref>.
568       </description>
569     </list>
570     <scalar id="shell" name="shell">
571       <description>
572 Contains the pathname of the shell which will be used by the "vserver
573 ... enter" command.
574       </description>
575     </scalar>
576     <list name="personality">
577       <description>
578 Used to set the personality of the vserver. First line in the file
579 is the personality-type followed by flags (one item per line). See
580 <filename>/usr/include/linux/personality.h</filename> for possible
581 values.
582       </description>
583     </list>
584     <list name="flags">
585       <description>
586 Contains per line a flag. See <ulink
587 url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/cflags-v13.c">lib/cflags-v13.c</ulink>
588 for possible values.
589       </description>
590       <!--
591       <elements>
592         <element name="fakeinit">
593           <description>
594 The new process will believe it is process number 1. Useful to run a
595 real /sbin/init in a vserver. Warning: this flag should not be used
596 unless you know what you are doing. Often, it is better to use the
597 'plain' initstyle.
598           </description>
599         </element>
600         <element name="lock">
601           <description>
602 The new process is trapped and can't use chcontext anymore.
603           </description>
604         </element>
605         <element name="sched">
606           <description>
607 The new process and its children will share a common
608           </description>
609         </element>
610         <element name="nproc">
611           <description>
612 Limit the number of process in the vserver according to
613 ulimit setting. Normally, ulimit is a per user thing.
614 With this flag, it becomes a per vserver thing.
615           </description>
616         </element>
617         <element name="private">
618           <description>
619 No one can join this security context once created.
620           </description>
621         </element>
622         <element name="ulimit">
623           <description>
624 Apply the current ulimit to the whole context
625           </description>
626         </element>
627       </elements>
628       -->
629     </list>
630     <list name="nflags" since="0.30.212">
631       <description>
632 Contains a network flag per line. See <ulink
633 url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/nflags-net.c">lib/nflags-net.c</ulink>
634 for possible values.
635       </description>
636     </list>
637     <scalar name="context">
638       <description>
639 Contains the context id which shall be used for the vserver. Valid range is 2 through 49151.
640         </description>
641     </scalar>
642     <scalar name="ncontext">
643       <description>
644 Contains the network context id which shall be used for the vserver. Valid range is 2 through 49151.
645       </description>
646     </scalar>
647     <scalar name="tag">
648       <description>
649 Contains the filesystem tag which shall be used for the vserver. Valid range is 2 through 49151.
650       </description>
651     </scalar>
652     <data id="fstab" name="fstab">
653       <description>
654 The fstab file for the vserver. Entries in this file will be mounted
655 within the network context of the host. Use the
656 <optionref>fstab.remote</optionref> file when you want that the
657 mounting happens in the network context of the vserver. In most cases
658 the 'fstab' file should be used.
659       </description>
660     </data>
661     <data id="fstab.remote" name="fstab.remote">
662       <description>
663 The fstab file for the vserver. Entries in this file will be mounted
664 within the network context of the guest; this means that mount will be
665 called as <command>chbind &lt;options&gt; mount ...</command>. See
666 <optionref>fstab</optionref> also.
667       </description>
668     </data>
669     
670     <collection name="apps">
671       <collection name="init">
672         <data name="mtab">
673           <description>
674 The initial-mtab which will be used for the vserver.
675           </description>
676         </data>
677         
678         <scalar name="style">
679           <description>
680 Contains the init-style.
681           </description>
682           <restriction>
683             <enumeration value="sysv"/>
684             <enumeration value="plain"/>
685             <enumeration value="minit"/>
686           </restriction>
687         </scalar>
688         
689         <scalar name="runlevel">
690           <description>The start runlevel.</description>
691         </scalar>
692         
693         <scalar name="runlevel.start">
694           <description>The start runlevel.</description>
695         </scalar>
696         
697         <scalar name="runlevel.stop">
698           <description>The stop runlevel.</description>
699         </scalar>
700         
701         <scalar name="killseq">
702           <description>
703 Contains the 'signal [wait signal]*' sequence which is used to stop
704 the vserver.
705           </description>
706         </scalar>
707         
708         <list name="cmd.start">
709           <description>
710 The command which is used to start the vserver. Each option must be on
711 a separate line.
712           </description>
713         </list>
714         
715         <list name="cmd.start-sync">
716           <description>
717 The command which is used to wait on the vserver after it has been
718 started. Each option must be on a separate line. This file will be
719 ignored when the <optionref>sync</optionref> flag does not exist and the
720 '--sync' option was not used.
721           </description>
722         </list>
723         
724         <list name="cmd.stop">
725           <description>
726 The command which is used to stop the vserver. Each option must be on
727 a separate line.
728           </description>
729         </list>
730         
731         <list name="cmd.stop-sync">
732           <description>
733 The command which is used to wait on the vserver after it has been
734 stopped. Each option must be on a separate line. This file will be
735 ignored when the <optionref>sync</optionref> flag does not exist and the
736 '--sync' option was not used.
737           </description>
738         </list>
739         
740         <list name="cmd.prepare">
741           <description>
742 The command which is used to setup the init-system (e.g. to set the
743 runlevel in the utmp-file). Each option must be on a separate line.
744           </description>
745         </list>
746         
747         <boolean id="sync" name="sync">
748           <description>
749 If this file is not present, all 'cmd.*-sync files will be ignored.
750             </description>
751         </boolean>
752         
753         <link name="tty">
754           <description>
755 A symlink to the TTY device where input/output will be redirected
756 from/to at startup via initscript.
757           </description>
758         </link>
759         
760         <scalar name="mark">
761           <description>
762 This file is used to mark group of vservers which shall be started/stopped
763 together by the initscript. Content is a simple string like 'default'.
764           </description>
765         </scalar>
766         
767         <list name="depends">
768           <description>
769 This file is used to configure vservers which must be running before
770 the current vserver can be started. At shutdown, the current vserver
771 will be stopped before its dependencies. Content of this file are
772 vserver ids (one name per line).
773           </description>
774         </list>
775
776         <hash name="environment" since="0.30.211">
777           <description>
778 The environment to set when starting the guest. Contains one VAR=VAL
779 pair per line.
780           </description>
781         </hash>
782       </collection>
783       
784       <collection name="vshelper">
785         <scalar name="sync-timeout">
786           <default>30</default>
787           <description>
788 The timeout in seconds which is used when synchronising vserver
789 startup/shutdown with the vshelper. When not set, 30 seconds will be
790 assumed.
791           </description>
792         </scalar>
793         
794         <scalar id="vshelper-action" name="action">
795           <default>restart</default>
796           <description>
797 The action which is going to be executed when a vshelper event
798 occurs. The default value is 'restart', but there can be defined own
799 methods by placing scripts into the
800 <optionref>vshelper-methods</optionref> directories. These scripts are
801 fed with the same arguments as the <tool>vshelper</tool> script.
802           </description>
803         </scalar>
804         
805         <program name="event" type="symbolic">
806           <description>
807 When existing, these scripts will be executed *instead* of the default
808 handler defined in 'action'. Their name must match the event which caused
809 the execution of <tool>vshelper</tool>; e.g. 'restart' or 'poweroff'. See
810 the vs_reboot() function in the kernel for more details.
811           </description>
812           <parameterList>
813             <parameter name="xid">
814               <description>
815 The xid of the context calling the vshelper
816               </description>
817             </parameter>
818             <parameter name="event">
819               <description>
820 The reboot-event.
821               </description>
822             </parameter>
823           </parameterList>
824         </program>
825         
826         <boolean name="disabled">
827           <description>
828 When existing, the vshelper functionality will be disabled for this
829 vserver.
830           </description>
831         </boolean>
832
833         <boolean name="debug">
834           <description>
835 When existing, the vshelper execution will be traced for this vserver.
836           </description>
837         </boolean>
838         
839         <boolean name="warning-disabled">
840           <description>
841 When existing, sanity checks for the vshelper functionality will be
842 skipped.
843           </description>
844         </boolean>
845         
846       </collection>
847       
848       <collection id="vshelper-methods" name="vshelper-methods">
849         <program name="handler" type="symbolic">
850           <description>
851 See <optionref ref="vshelper-action">vshelper/action</optionref>.
852           </description>
853         </program>
854       </collection>
855       
856       <collection name="vunify">
857         <description>
858 This directory contains configuration data required for vserver
859 unification.
860         </description>
861         
862         <list name="exclude">
863           <description>
864 <p>Static list of files which are excluded for unification. This list
865 supports an rsync-like syntax: when a file is prefixed by '+', it is a
866 candidate for unification; when there is no prefix or a '-' or a '~' it
867 will be excluded. Shell-wildcards are allowed for the filenames.</p>
868 <p>When used with <tool>vcopy</tool>, the '~' prefix prevents copying
869 of the file entirely (e.g. for keyfiles). With this tool, the file will
870 be copied instead of hardlinked when the '-' prefix is used.</p>
871           </description>
872         </list>
873         
874         <link name="refserver.X" type="symbolic">
875           <description>
876 These are symlinks to the configuration directory
877 (e.g. CONFDIR/vservers/&lt;id&gt;) of a refserver. There may be
878 multiple such symlinks but they must be prefixed by 'refserver.' and
879 will be processed in alphanumerical order.
880           </description>
881         </link>
882
883         <collection name="hash" since="0.30.205">
884           <description>
885 A directory which will be used as the storage place for the
886 <tool>vhashify</tool> command.
887           </description>
888           <link name="id" type="symbolic">
889             <description>
890 Points to a directory within the filesystems which are used for the
891 vservers. There must be not more than one of such a directory per
892 filesystem.
893             </description>
894           </link>
895
896           <scalar name="method"  since="0.30.299">
897             <default>SHA1</default>
898             <description>The used hash method.</description>
899           </scalar>
900         </collection>
901
902         <boolean name="pkgmgmt-ignore" default="off" since="0.30.205">
903           <description>
904 When existing, information from packagemanagement will not be used to
905 create dynamic exclude-lists.
906           </description>
907         </boolean>
908
909         <boolean name="pgkmgmt-force" default="off" since="0.30.205">
910           <description>
911 When existing, information from packagemanagement will be used to
912 create dynamic exclude-lists. This option requires that (a known)
913 packagemanagement is configured for the vserver; else the requested
914 operation will fail. Most tools assume 'on' as the default value.
915           </description>
916         </boolean>
917         
918       </collection>
919     </collection>
920     
921     <collection name="scripts">
922       <description>
923 A directory for scripts. By default, when one of these scripts will be
924 executed, the execution of defaultscripts (within .../.defaults/scripts)
925 will be skipped. To execute them nevertheless, the $DONT_SKIP_DEFAULTS
926 environment variable must be set by one of the in-shellcontext scripts
927 (the non-executable ones).
928       </description>
929       
930       <program name="initialize" since="0.30.211">
931         <description>
932 The scriptlet which will be executed before the root filesystem is mounted and
933 the configuration has been loaded. Before executing the script, the
934 configuration directory will be made the working directory.
935         </description>
936         <parameterList>
937           <parameter name="action">
938             <description>
939 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
940             </description>
941           </parameter>
942           <parameter name="vserver-name">
943             <description>
944 The name of the current vserver.
945             </description>
946           </parameter>
947         </parameterList>
948       </program>
949       <collection name="initialize.d" since="0.30.211">
950         <description>
951 Repository of initialize like scripts.  Before executing the script,
952 the configuration directory will be made the working directory.
953         </description>
954         <program name="script" type="symbolic">
955           <description>See initialize.</description>
956           <parameterList>
957             <parameter name="action">
958               <description>
959 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
960               </description>
961             </parameter>
962             <parameter name="vserver-name">
963               <description>
964 The name of the current vserver.
965               </description>
966             </parameter>
967           </parameterList>
968         </program>
969       </collection>
970       
971       <program name="prepre-start">
972         <description>
973 The scriptlet which will be executed before the network-interfaces are
974 enabled and the directories are mounted. Before executing the script,
975 the configuration directory will be made the working directory.
976         </description>
977         <parameterList>
978           <parameter name="action">
979             <description>
980 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
981             </description>
982           </parameter>
983           <parameter name="vserver-name">
984             <description>
985 The name of the current vserver.
986             </description>
987           </parameter>
988         </parameterList>
989       </program>
990       <collection name="prepre-start.d">
991         <description>
992 Repository of prepre-start like scripts.  Before executing the script,
993 the configuration directory will be made the working directory.
994         </description>
995         <program name="script" type="symbolic">
996           <description>See prepre-start.</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>
1011       
1012       <program name="pre-start">
1013         <description>
1014 The scriptlet which will be executed after network-interfaces were
1015 enabled and the directories mounted, but before the vserver itself has
1016 been started.  Before executing the script, the vserver root directory
1017 will be made the working directory.
1018         </description>
1019         <parameterList>
1020           <parameter name="action">
1021             <description>
1022 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1023             </description>
1024           </parameter>
1025           <parameter name="vserver-name">
1026             <description>
1027 The name of the current vserver.
1028             </description>
1029           </parameter>
1030         </parameterList>
1031       </program>
1032       <collection name="pre-start.d">
1033         <description>
1034 Repository of pre-start like scripts. Before executing these scripts,
1035 the vserver root directory will be made the working directory.
1036         </description>
1037         <program name="script" type="symbolic">
1038           <description>See pre-start.</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>
1053       
1054
1055       <program name="post-start">
1056         <description>
1057 The scriptlet which will be executed after the vserver has been
1058 started. Before executing the script, the vserver root directory
1059 will be made the working directory.
1060         </description>
1061         <parameterList>
1062           <parameter name="action">
1063             <description>
1064 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1065             </description>
1066           </parameter>
1067           <parameter name="vserver-name">
1068             <description>
1069 The name of the current vserver.
1070             </description>
1071           </parameter>
1072         </parameterList>
1073       </program>
1074       <collection name="post-start.d">
1075         <description>
1076 Repository of post-start like scripts. Before executing these scripts,
1077 the vserver root directory will be made the working directory.
1078         </description>
1079         <program name="script" type="symbolic">
1080           <description>See post-start.</description>
1081           <parameterList>
1082             <parameter name="action">
1083               <description>
1084 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1085               </description>
1086             </parameter>
1087             <parameter name="vserver-name">
1088               <description>
1089 The name of the current vserver.
1090               </description>
1091             </parameter>
1092           </parameterList>
1093         </program>
1094       </collection>
1095
1096
1097       <program name="pre-stop">
1098         <description>
1099 The scriptlet which will be executed before the vserver will be
1100 stopped. Before executing the script, the vserver root directory
1101 will be made the working directory.
1102         </description>
1103         <parameterList>
1104           <parameter name="action">
1105             <description>
1106 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1107             </description>
1108           </parameter>
1109           <parameter name="vserver-name">
1110             <description>
1111 The name of the current vserver.
1112             </description>
1113           </parameter>
1114         </parameterList>
1115       </program>
1116       <collection name="pre-stop.d">
1117         <description>
1118 Repository of pre-stop like scripts. Before executing the script, the
1119 vserver root directory will be made the working directory.
1120         </description>
1121         <program name="script" type="symbolic">
1122           <description>See pre-stop.</description>
1123           <parameterList>
1124             <parameter name="action">
1125               <description>
1126 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1127               </description>
1128             </parameter>
1129             <parameter name="vserver-name">
1130               <description>
1131 The name of the current vserver.
1132               </description>
1133             </parameter>
1134           </parameterList>
1135         </program>
1136       </collection>
1137
1138       <program name="post-stop">
1139         <description>
1140 The scriptlet which will be executed after the vserver has been
1141 stopped, but before the directories will be umounted and the the
1142 interfaces disabled. Before executing the script, the vserver root
1143 directory will be made the working directory.
1144         </description>
1145         <parameterList>
1146           <parameter name="action">
1147             <description>
1148 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1149             </description>
1150           </parameter>
1151           <parameter name="vserver-name">
1152             <description>
1153 The name of the current vserver.
1154             </description>
1155           </parameter>
1156         </parameterList>
1157       </program>
1158       <collection name="post-stop.d">
1159         <description>
1160 Repository of post-stop like scripts. Before executing the script, the
1161 vserver root directory will be made the working directory.
1162         </description>
1163         <program name="script" type="symbolic">
1164           <description>See post-stop.</description>
1165           <parameterList>
1166             <parameter name="action">
1167               <description>
1168 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1169               </description>
1170             </parameter>
1171             <parameter name="vserver-name">
1172               <description>
1173 The name of the current vserver.
1174               </description>
1175             </parameter>
1176           </parameterList>
1177         </program>
1178       </collection>
1179       
1180       <program name="postpost-stop">
1181         <description>
1182 The scriptlet which will be executed after the vserver has been stopped
1183 completely. Before executing the script, the vserver root directory
1184 will be made the working directory.
1185         </description>
1186         <parameterList>
1187           <parameter name="action">
1188             <description>
1189 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1190             </description>
1191           </parameter>
1192           <parameter name="vserver-name">
1193             <description>
1194 The name of the current vserver.
1195             </description>
1196           </parameter>
1197         </parameterList>
1198       </program>
1199       <collection name="postpost-stop.d">
1200         <description>
1201 Repository of postpost-stop like scripts. Before executing the script,
1202 the vserver root directory will be made the working directory.
1203         </description>
1204         <program name="script" type="symbolic">
1205           <description>See postpost-stop.</description>
1206           <parameterList>
1207             <parameter name="action">
1208               <description>
1209 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1210               </description>
1211             </parameter>
1212             <parameter name="vserver-name">
1213               <description>
1214 The name of the current vserver.
1215               </description>
1216             </parameter>
1217           </parameterList>
1218         </program>
1219       </collection>
1220     </collection>
1221     
1222     <collection name="interfaces">
1223       <scalar name="bcast">
1224         <description>The guest's broadcast address.</description>
1225       </scalar>
1226       <scalar name="lback">
1227         <description>The guest's loopback address.</description>
1228       </scalar>
1229       <scalar name="dev">
1230         <description>The default network device. See <optionref ref="per-if-dev">iface/dev</optionref> for more information.</description>
1231       </scalar>
1232       <scalar name="prefix">
1233         <description>The default network prefix-length.</description>
1234       </scalar>
1235       <scalar name="mask">
1236         <description>The default network mask.</description>
1237       </scalar>
1238       <scalar name="scope">
1239         <description>The default scope of the network interfaces.</description>
1240       </scalar>
1241       <boolean id="local-vlandev" name="vlandev" since="0.30.211">
1242         <description>
1243 When this file exists, the steps which setup and destroy a VLAN
1244 interface will be executed for all interfaces of this vserver.
1245         </description>
1246       </boolean>
1247       <boolean id="local-novlandev" name="novlandev">
1248         <description>
1249 When this file exists, the steps which setup and destroy a VLAN
1250 interface will be skipped. This overrides the global
1251 <optionref ref="global-vlandev">vlandev</optionref> setting for
1252 this vserver.
1253         </description>
1254       </boolean>
1255       
1256       <collection name="iface" type="symbolic">
1257         <description>
1258 'iface' is an arbitrary name for the interface; the value itself is
1259 not important but may be interesting regarding interface-creation and
1260 usage with <tool>chbind</tool>. Both happens in alphabetical order and
1261 numbers like '00' are good names for these directories.
1262         </description>
1263         
1264         <boolean name="disabled">
1265           <description>When this file exists, this interface will be ignored.</description>
1266         </boolean>
1267         
1268         <scalar name="ip">
1269           <description>The IP address which will be assigned to this interface.</description>
1270         </scalar>
1271         <scalar name="dev" id="per-if-dev">
1272           <description>The network device. When this is specified, the IP address will be assigned and removed when starting and stopping the guest.</description>
1273         </scalar>
1274         <scalar name="prefix">
1275           <description>The network prefix-length.</description>
1276         </scalar>
1277         <scalar name="mask">
1278           <description>The network mask.</description>
1279         </scalar>
1280         <scalar name="scope">
1281           <description>The scope of the network interface.</description>
1282         </scalar>
1283         <scalar name="name">
1284           <description>
1285 When this file exists, the interface will be named with the text in
1286 this file. Without such an entry, the IP will not be shown by
1287 <tool>ifconfig</tool> but by <command>ip addr ls</command> only.  Such
1288 a labeled interface is known as an "alias" also (e.g. 'eth0:foo').
1289           </description>
1290         </scalar>
1291         <boolean name="nodev">
1292           <description>
1293 When this file exists, the interface will be assumed to exist
1294 already. This can be used to assign primary interfaces which are
1295 created by the host or another vserver.
1296           </description>
1297         </boolean>
1298         <boolean name="novlandev">
1299           <description>
1300 When this file exists, the steps which setup and destroy a VLAN
1301 interface will be skipped. This will override the global
1302 <optionref ref="global-vlandev">vlandev</optionref> and the per-guest
1303 <optionref ref="local-vlandev">vlandev</optionref>.
1304           </description>
1305         </boolean>
1306         <boolean name="vlandev" since="0.30.211">
1307           <description>
1308 When this file exists, the steps which setup and destroy a VLAN
1309 interface will be executed.
1310           </description>
1311         </boolean>
1312       </collection>
1313     </collection>
1314     
1315     <collection name="ulimits">
1316       <description>
1317 A directory with ulimits. Possible resources are cpu, data, fsize,
1318 locks, memlock, nofile, nproc, rss and/or stack.
1319       </description>
1320       <scalar name="resource" type="symbolic">
1321         <description>
1322 A file which contains the hard- and soft-limit of the given resource
1323 in the first line. The special keyword 'inf' is recognized.
1324         </description>
1325       </scalar>
1326       <scalar name="resource.hard" type="symbolic">
1327         <description>
1328 A file which contains the hard-limit of the given resource in the first
1329 line. The special keyword 'inf' is recognized.
1330         </description>
1331       </scalar>
1332       <scalar name="resource.soft" type="symbolic">
1333         <description>
1334 A file which contains the soft-limit of the given resource in the first
1335 line. The special keyword 'inf' is recognized.
1336         </description>
1337       </scalar>
1338     </collection>
1339     
1340     <collection name="rlimits">
1341       <description>
1342 A directory with resource limits. Possible resources are cpu, fsize,
1343 data, stack, core, rss, nproc, nofile, memlock, as, locks, msgqueue,
1344 nsock, openfd, anon, shmem, semary, nsems and dentry. This
1345 configuration will be honored for kernel 2.6 only.
1346       </description>
1347       <scalar name="resource" type="symbolic">
1348         <description>
1349 A file which contains the hard- and soft-limit of the given resource
1350 in the first line. The special keyword 'inf' is recognized.
1351         </description>
1352       </scalar>
1353       <scalar name="resource.hard" type="symbolic">
1354         <description>
1355 A file which contains the hard-limit of the given resource in the first
1356 line. The special keyword 'inf' is recognized.
1357         </description>
1358       </scalar>
1359       <scalar name="resource.soft" type="symbolic">
1360         <description>
1361 A file which contains the soft-limit of the given resource in the first
1362 line. The special keyword 'inf' is recognized.
1363         </description>
1364       </scalar>
1365       <scalar name="resource.min" type="symbolic">
1366         <description>
1367 A file which contains the guaranteed minimum of the given resource in
1368 the first line. The special keyword 'inf' is recognized.
1369         </description>
1370       </scalar>
1371     </collection>
1372     
1373     <collection name="uts">
1374       <scalar name="context">
1375         <description>
1376 The context-name of the vserver. This file is listed for completeness
1377 only; the 'context' name is used and set internally by the util-vserver
1378 tools and can *not* be modified.
1379         </description>
1380       </scalar>
1381       <scalar name="sysname">
1382         <description>The sysname of the vserver</description>
1383       </scalar>
1384       <scalar name="nodename">
1385         <description>The node-/hostname of the vserver</description>
1386       </scalar>
1387       <scalar name="release">
1388         <description>The OS-release of the vserver</description>
1389       </scalar>
1390       <scalar name="version">
1391         <description>The OS-version of the vserver</description>
1392       </scalar>
1393       <scalar name="machine">
1394         <description>The machine-type of the vserver</description>
1395       </scalar>
1396       <scalar name="domainname">
1397         <description>The NIS domainname of the vserver</description>
1398       </scalar>
1399     </collection>
1400
1401     <collection name="dlimits" since="0.30.210">
1402       <collection name="dlimit" type="symbolic">
1403         <scalar name="directory">
1404           <description>The directory to which the limit should be applied</description>
1405         </scalar>
1406         <scalar name="inodes_total">
1407           <description>The amount of inodes this vserver should be limited to</description>
1408         </scalar>
1409         <scalar name="space_total">
1410           <description>The amount of space this vserver should be limited to (measured in blocks of 1024 bytes)</description>
1411         </scalar>
1412         <scalar name="reserved">
1413           <description>How much space (percentage-wise) should be reserved for the root user</description>
1414         </scalar>
1415       </collection>
1416     </collection>
1417
1418     <collection name="sysctl" since="0.30.213">
1419       <collection name="x" type="symbolic">
1420         <description>'x' is an arbitrary name, replace it with e.g. integers</description>
1421         <scalar name="setting">
1422           <description>The sysctl setting</description>
1423         </scalar>
1424         <scalar name="value">
1425           <description>The value</description>
1426         </scalar>
1427       </collection>
1428     </collection>
1429
1430     <collection name="cpuset" since="0.30.211">
1431       <scalar name="name">
1432         <description>The name of the cpuset for this vserver</description>
1433       </scalar>
1434       <scalar name="cpus">
1435         <description>The list of CPUs in this cpuset</description>
1436       </scalar>
1437       <scalar name="mems">
1438         <description>The list of Memory Nodes in this cpuset</description>
1439       </scalar>
1440       <scalar name="cpu_exclusive">
1441         <description>Is the CPU assignment exclusive?</description>
1442       </scalar>
1443       <scalar name="mems_exclusive">
1444         <description>Is the memory node assignment exclusive?</description>
1445       </scalar>
1446       <scalar name="nocreate">
1447         <description>When this file exists, the cpuset will be assumed to exist already</description>
1448       </scalar>
1449     </collection>
1450
1451     <collection id="sched" name="sched" since="0.30.212">
1452       <scalar id="global-tokens" name="tokens">
1453         <description>The initial amount of tokens to put in the bucket</description>
1454       </scalar>
1455       <scalar id="global-tokens-min" name="tokens-min">
1456         <description>The minimum amount of tokens required to unhold the context</description>
1457       </scalar>
1458       <scalar id="global-tokens-max" name="tokens-max">
1459         <description>The bucket's size</description>
1460       </scalar>
1461       <scalar id="global-fill-rate" name="fill-rate">
1462         <description>Amount of tokens to add each <optionref ref="global-interval">interval</optionref></description>
1463       </scalar>
1464       <scalar id="global-interval" name="interval">
1465         <description>The interval between refills of the bucket</description>
1466       </scalar>
1467       <scalar id="global-priority-bias" name="priority-bias">
1468         <description>Bias added to priorities calculated within the guest (result is clamped to -20/+19)</description>
1469       </scalar>
1470       <scalar id="global-fill-rate2" name="fill-rate2">
1471         <description>Amount of tokens to add each <optionref ref="global-interval2">interval2</optionref> when advancing idle time</description>
1472       </scalar>
1473       <scalar id="global-interval2" name="interval2">
1474         <description>The interval between refills of the bucket when advancing idle time</description>
1475       </scalar>
1476       <boolean id="global-idle-time" name="idle-time">
1477         <description>When this file exists, advancing idle time is activated</description>
1478       </boolean>
1479       <collection name="cpu-id" type="symbolic">
1480         <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>
1481         <scalar name="tokens">
1482           <description>The initial amount of tokens to put in the bucket</description>
1483         </scalar>
1484         <scalar name="tokens-min">
1485           <description>The minimum amount of tokens required to unhold the context</description>
1486         </scalar>
1487         <scalar name="tokens-max">
1488           <description>The bucket's size</description>
1489         </scalar>
1490         <scalar name="fill-rate">
1491           <description>Amount of tokens to add each <optionref ref="local-interval">interval</optionref></description>
1492         </scalar>
1493         <scalar id="local-interval" name="interval">
1494           <description>The interval between refills of the bucket</description>
1495         </scalar>
1496         <scalar name="priority-bias">
1497           <description>Bias added to priorities calculated within the guest (result is clamped to -20/+19)</description>
1498         </scalar>
1499         <scalar name="fill-rate2">
1500           <description>Amount of tokens to add each <optionref ref="local-interval2">interval2</optionref> when advancing idle time</description>
1501         </scalar>
1502         <scalar id="local-interval2" name="interval2">
1503           <description>The interval between refills of the bucket when advancing idle time</description>
1504         </scalar>
1505         <boolean name="idle-time">
1506           <description>When this file exists, advancing idle time is activated</description>
1507         </boolean>
1508         <scalar id="cpu-id" name="cpu-id">
1509           <description>The CPU to apply these settings to</description>
1510         </scalar>
1511         <scalar name="bucket-id">
1512           <description>The bucket to apply these settings to</description>
1513         </scalar>
1514       </collection>
1515     </collection>
1516   </collection>
1517   </database>