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