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