LUCreateInstance: only set running flag at the end
[ganeti-local] / man / gnt-cluster.sgml
1 <!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
2
3   <!-- Fill in your name for FIRSTNAME and SURNAME. -->
4   <!-- Please adjust the date whenever revising the manpage. -->
5   <!ENTITY dhdate      "<date>December 12, 2007</date>">
6   <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
7        allowed: see man(7), man(1). -->
8   <!ENTITY dhsection   "<manvolnum>8</manvolnum>">
9   <!ENTITY dhucpackage "<refentrytitle>gnt-cluster</refentrytitle>">
10   <!ENTITY dhpackage   "gnt-cluster">
11
12   <!ENTITY debian      "<productname>Debian</productname>">
13   <!ENTITY gnu         "<acronym>GNU</acronym>">
14   <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
15   <!ENTITY footer SYSTEM "footer.sgml">
16 ]>
17
18 <refentry>
19   <refentryinfo>
20     <copyright>
21       <year>2006</year>
22       <year>2007</year>
23       <holder>Google Inc.</holder>
24     </copyright>
25     &dhdate;
26   </refentryinfo>
27   <refmeta>
28     &dhucpackage;
29
30     &dhsection;
31     <refmiscinfo>ganeti 1.2</refmiscinfo>
32   </refmeta>
33   <refnamediv>
34     <refname>&dhpackage;</refname>
35
36     <refpurpose>ganeti administration, cluster-wide</refpurpose>
37   </refnamediv>
38   <refsynopsisdiv>
39     <cmdsynopsis>
40       <command>&dhpackage; </command>
41
42       <arg choice="req">command</arg>
43       <arg>arguments...</arg>
44     </cmdsynopsis>
45   </refsynopsisdiv>
46   <refsect1>
47     <title>DESCRIPTION</title>
48
49     <para>
50       The <command>&dhpackage;</command> is used for cluster-wide
51       administration in the ganeti system.
52     </para>
53
54   </refsect1>
55   <refsect1>
56     <title>COMMANDS</title>
57
58     <refsect2>
59       <title>ADD-TAGS</title>
60
61       <cmdsynopsis>
62         <command>add-tags</command>
63         <arg choice="opt">--from <replaceable>file</replaceable></arg>
64         <arg choice="req"
65         rep="repeat"><replaceable>tag</replaceable></arg>
66       </cmdsynopsis>
67
68       <para>
69         Add tags to the cluster. If any of the tags contains invalid
70         characters, the entire operation will abort.
71       </para>
72
73       <para>
74         If the <option>--from</option> option is given, the list of
75         tags will be extended with the contents of that file (each
76         line becomes a tag). In this case, there is not need to pass
77         tags on the command line (if you do, both sources will be
78         used). A file name of - will be interpreted as stdin.
79       </para>
80     </refsect2>
81
82     <refsect2>
83       <title>COMMAND</title>
84
85       <cmdsynopsis>
86         <command>command</command>
87         <arg>-n <replaceable>node</replaceable></arg>
88         <arg choice="req"><replaceable>command</replaceable></arg>
89       </cmdsynopsis>
90
91       <para>
92         Executes a command on all nodes. If the option
93         <option>-n</option> is not given, the command will be executed
94         on all nodes, otherwise it will be executed only on the
95         node(s) specified. Use the option multiple times for running
96         it on multiple nodes, like:
97
98         <screen>
99           # gnt-cluster command -n node1.example.com -n node2.example.com date
100         </screen>
101
102       </para>
103
104       <para>
105         The command is executed serially on the selected nodes. If the
106         master node is present in the list, the command will be
107         executed last on the master. Regarding the other nodes, the
108         execution order is somewhat alphabetic (it's smarter so that
109         node2.example.com will be earlier than node10.example.com but
110         after node1.example.com).
111       </para>
112
113       <para>
114         So given the node names node1, node2, node3, node10, node11,
115         with node3 being the master, the order will be: node1, node2,
116         node10, node11, node3.
117       </para>
118
119       <para>
120         The command is constructed by concatenating all other command
121         line arguments. For example, to list the contents of the
122         <filename class="directory">/etc</filename> directory on all
123         nodes, run:
124
125         <screen>
126           # gnt-cluster command ls -l /etc
127         </screen>
128
129         and the command which will be executed will be
130         <computeroutput>"ls -l /etc"</computeroutput>
131       </para>
132     </refsect2>
133
134     <refsect2>
135       <title>COPYFILE</title>
136
137       <cmdsynopsis>
138         <command>copyfile</command>
139         <arg>-n <replaceable>node</replaceable></arg>
140         <arg choice="req"><replaceable>file</replaceable></arg>
141       </cmdsynopsis>
142
143       <para>
144         Copies a file to all or to some nodes. The argument specifies
145         the source file (on the current system), the
146         <option>-n</option> argument specifies the target node, or
147         nodes if the option is given multiple times. If
148         <option>-n</option> is not given at all, the file will be
149         copied to all nodes.
150
151         Example:
152         <screen>
153           # gnt-cluster -n node1.example.com -n node2.example.com copyfile /tmp/test
154         </screen>
155
156         This will copy the file <filename>/tmp/test</filename> from
157         the current node to the two named nodes.
158       </para>
159     </refsect2>
160
161     <refsect2>
162       <title>DESTROY</title>
163
164       <cmdsynopsis>
165         <command>destroy</command>
166         <arg choice="req">--yes-do-it</arg>
167       </cmdsynopsis>
168
169       <para>
170         Remove all configuration files related to the cluster, so that
171         a <command>gnt-cluster init</command> can be done again
172         afterwards.
173       </para>
174
175       <para>
176         Since this is a dangerous command, you are required to pass
177         the argument <replaceable>--yes-do-it.</replaceable>
178       </para>
179     </refsect2>
180
181     <refsect2>
182       <title>GETMASTER</title>
183
184       <cmdsynopsis>
185         <command>getmaster</command>
186       </cmdsynopsis>
187
188       <para>
189         Displays the current master node.
190       </para>
191     </refsect2>
192
193     <refsect2>
194       <title>INFO</title>
195
196       <cmdsynopsis>
197         <command>info</command>
198       </cmdsynopsis>
199
200       <para>
201         Shows runtime cluster information: cluster name, architecture
202         (32 or 64 bit), master node, node list and instance list.
203       </para>
204     </refsect2>
205
206     <refsect2>
207       <title>INIT</title>
208
209       <cmdsynopsis>
210         <command>init</command>
211         <arg>-s <replaceable>secondary_ip</replaceable></arg>
212         <arg>-b <replaceable>bridge</replaceable></arg>
213         <arg>-g <replaceable>vg-name</replaceable></arg>
214         <arg>--master-netdev <replaceable>vg-name</replaceable></arg>
215         <arg>-m <replaceable>mac-prefix</replaceable></arg>
216         <arg>--no-lvm-storage</arg>
217         <arg>--file-storage-dir <replaceable>dir</replaceable></arg>
218         <arg>--enabled-hypervisors <replaceable>hypervisors</replaceable></arg>
219         <arg>-t <replaceable>hypervisor name</replaceable></arg>
220         <arg>--hypervisor-parameters <replaceable>hv-params</replaceable></arg>
221         <arg>--backend-parameters <replaceable>be-params</replaceable></arg>
222         <arg choice="req"><replaceable>clustername</replaceable></arg>
223       </cmdsynopsis>
224
225       <para>
226         This commands is only run once initially on the first node of
227         the cluster. It will initialize the cluster configuration and
228         setup ssh-keys and more.
229       </para>
230
231       <para>
232         Note that the <replaceable>clustername</replaceable> is not
233         any random name. It has to be resolvable to an IP address
234         using DNS, and it is best if you give the fully-qualified
235         domain name. This hostname must resolve to an IP address
236         reserved exclusively for this purpose.
237       </para>
238
239       <para>
240         The cluster can run in two modes: single-home or
241         dual-homed. In the first case, all traffic (both public
242         traffic, inter-node traffic and data replication traffic) goes
243         over the same interface. In the dual-homed case, the data
244         replication traffic goes over the second network. The
245         <option>-s</option> option here marks the cluster as
246         dual-homed and its parameter represents this node's address on
247         the second network. If you initialise the cluster with
248         <option>-s</option>, all nodes added must have a secondary IP
249         as well.
250       </para>
251
252       <para>
253         Note that for Ganeti it doesn't matter if the secondary
254         network is actually a separate physical network, or is done
255         using tunneling, etc. For performance reasons, it's
256         recommended to use a separate network, of course.
257       </para>
258
259       <para>
260         The <option>-b</option> option specifies the default bridge
261         for instances.
262       </para>
263
264       <para>
265         The <option>-g</option> option will let you specify a volume group
266         different than 'xenvg' for ganeti to use when creating instance disks.
267         This volume group must have the same name on all nodes. Once the
268         cluster is initialized this can be altered by using the
269         <command>modify</command> command. If you don't want to use lvm
270         storage at all use the <option>--no-lvm-storage</option> option.
271         Once the cluster is initialized you can change this setup with the
272         <command>modify</command> command.
273       </para>
274
275       <para>
276         The <option>--master-netdev</option> option is useful for specifying a
277         different interface on which the master will activate its IP address.
278         It's important that all nodes have this interface because you'll need
279         it for a master failover.
280       </para>
281
282       <para>
283         The <option>-m</option> option will let you specify a three byte prefix
284         under which the virtual MAC addresses of your instances will be
285         generated. The prefix must be specified in the format XX:XX:XX and the
286         default is aa:00:00.
287       </para>
288
289       <para>
290         The <option>--no-lvm-storage</option> allows you to initialize the
291         cluster without lvm support. This means that only instances using
292         files as storage backend will be possible to create. Once the cluster
293         is initialized you can change this setup with the
294         <command>modify</command> command.
295       </para>
296
297       <para>
298         The <option>--file-storage-dir</option> option allows you
299         set the directory to use for storing the instance disk
300         files when using file storage as backend for instance disks.
301       </para>
302
303       <para>
304         The <option>--enabled-hypervisors</option> option allows you
305         to set the list of hypervisors that will be enabled for
306         this cluster. Instance hypervisors can only be choosen from
307         the list of enabled hypervisors. Currently, the following
308         hypervisors are available:
309       </para>
310
311       <para>
312         <variablelist>
313           <varlistentry>
314             <term>xen-pvm</term>
315             <listitem>
316               <para>
317                 Xen PVM hypervisor
318               </para>
319             </listitem>
320           </varlistentry>
321           <varlistentry>
322             <term>xen-hvm</term>
323             <listitem>
324               <para>
325                 Xen HVM hypervisor
326               </para>
327             </listitem>
328           </varlistentry>
329           <varlistentry>
330             <term>kvm</term>
331             <listitem>
332               <para>
333                 Linux KVM hypervisor
334               </para>
335             </listitem>
336           </varlistentry>
337           <varlistentry>
338             <term>fake</term>
339             <listitem>
340               <para>
341                 fake hypervisor for development/testing
342               </para>
343             </listitem>
344           </varlistentry>
345         </variablelist>
346       </para>
347
348       <para>
349         Either a single hypervisor name or a comma-separated list of
350         hypervisor names can be specified. If this option is not
351         specified, only the xen-pvm hypervisor is enabled by default.
352       </para>
353
354       <para>
355         With the <option>-t</option> option, the default hypervisor
356         can be set. It has to be a member of the list of enabled
357         hypervisors. If not specified, the first entry on the list of
358         enabled hypervisors will be used by default.
359       </para>
360
361       <para>
362         The <option>--backend</option> option allows you to set
363         the default backend parameters for the cluster. The parameter
364         format is a comma-separated list of key=value pairs with the
365         following supported keys:
366       </para>
367
368       <para>
369         <variablelist>
370           <varlistentry>
371             <term>vcpus</term>
372             <listitem>
373               <para>
374                 Number of VCPUs to set for an instance by default, must
375                 be an integer, will be set to 1 if no specified.
376               </para>
377             </listitem>
378           </varlistentry>
379           <varlistentry>
380             <term>memory</term>
381             <listitem>
382               <para>
383                 Amount of memory to allocate for an instance by default,
384                 can be either an integer or an integer followed by a
385                 unit (M for mebibytes and G for gibibytes are
386                 supported), will be set to 128M if not specified.
387               </para>
388             </listitem>
389           </varlistentry>
390           <varlistentry>
391             <term>auto_balance</term>
392             <listitem>
393               <para>
394                 Value of the auto_balance flag for instances to use by
395                 default, will be set to true if not specified.
396               </para>
397             </listitem>
398           </varlistentry>
399         </variablelist>
400       </para>
401
402       <para>
403         The <option>--hypervisor-parameters</option> option allows you
404         to set default hypervisor specific parameters for the
405         cluster. The format of this option is the name of the
406         hypervisor, followed by a colon and a comma-separated list of
407         key=value pairs with the following keys:
408       </para>
409
410       <para>
411         <variablelist>
412           <varlistentry>
413             <term>xen-pvm</term>
414             <listitem>
415               <variablelist>
416                 <varlistentry>
417                   <term>
418                     kernel_path
419                   </term>
420                   <listitem>
421                     <para>
422                       Sets the path to the instance kernel, if not
423                       specified, the value /boot/vmlinuz-2.6-xenU will
424                       be used.
425                     </para>
426                   </listitem>
427                 </varlistentry>
428                 <varlistentry>
429                   <term>
430                     initrd_path
431                   </term>
432                   <listitem>
433                     <para>
434                       Sets the path to the instance initrd, if not
435                       specified, no initrd will be used.
436                     </para>
437                   </listitem>
438                 </varlistentry>
439               </variablelist>
440             </listitem>
441           </varlistentry>
442           <varlistentry>
443             <term>xen-hvm</term>
444             <listitem>
445               <variablelist>
446                 <varlistentry>
447                   <term>
448                     boot_order
449                   </term>
450                   <listitem>
451                     <para>
452                       Boot device order for instances. Several single
453                       letter device entries can be combined together
454                       without a separator. If not specified, the value
455                       cd will be used. Available boot device entries are:
456                     <para>
457                       <variablelist>
458                         <varlistentry>
459                           <term>a</term>
460                           <listitem>
461                             <para>
462                               floppy drive
463                             </para>
464                           </listitem>
465                         </varlistentry>
466                         <varlistentry>
467                           <term>c</term>
468                           <listitem>
469                             <para>
470                               hard disk
471                             </para>
472                           </listitem>
473                         </varlistentry>
474                         <varlistentry>
475                           <term>d</term>
476                           <listitem>
477                             <para>
478                               CDROM drive
479                             </para>
480                           </listitem>
481                         </varlistentry>
482                         <varlistentry>
483                           <term>n</term>
484                           <listitem>
485                             <para>
486                               network boot (PXE)
487                             </para>
488                           </listitem>
489                         </varlistentry>
490                       </variablelist>
491                   </listitem>
492                 </varlistentry>
493                 <varlistentry>
494                   <term>
495                     cdrom_image_path
496                   </term>
497                   <listitem>
498                     <para>
499                       Sets the path to the file Xen uses to
500                       emulate a virtual CDROM drive for
501                       instances. Valid values are either an absolute
502                       path to an existing file or the value None,
503                       which disables virtual CDROM support. If not
504                       specified, the value None will be used.
505                     </para>
506                   </listitem>
507                 </varlistentry>
508                 <varlistentry>
509                   <term>
510                     nic_type
511                   </term>
512                   <listitem>
513                     <para>
514                       Sets the NIC type Xen should use for this
515                       HVM instance. Valid choices are rtl8139,
516                       ne2k_pci, ne2k_isa and paravirtual. The
517                       paravirtual setting is intended for use with the
518                       GPL PV drivers inside HVM Windows instances. If
519                       not specified, the value rtl8139 will be used.
520                       </para>
521                   </listitem>
522                 </varlistentry>
523                 <varlistentry>
524                   <term>
525                       disk_type
526                   </term>
527                   <listitem>
528                     <para>
529                       Sets the disk type Xen should use for the
530                       HVM instance. Valid choices are ioemu and
531                       paravirtual. The paravirtual setting is intended
532                       for use with the GPL PV drivers inside HVM
533                       Windows instances. If not specified, the value
534                       ioemu will be used.
535                       </para>
536                   </listitem>
537                 </varlistentry>
538                 <varlistentry>
539                   <term>
540                     vnc_bind_address
541                   </term>
542                   <listitem>
543                     <para>
544                       Sets the address that the VNC listener for
545                       this instance should bind to. Valid  values
546                       are IPv4 addresses. Use the address 0.0.0.0 to
547                       bind to all available interfaces or specify the
548                       address of one of the interfaces on the node to
549                       restrict listening to that interface. If not
550                       specified, the value 0.0.0.0 will be used.
551                     </para>
552                   </listitem>
553                 </varlistentry>
554                 <varlistentry>
555                   <term>
556                     acpi
557                   </term>
558                   <listitem>
559                     <para>
560                       Sets if Xen should enable ACPI support for
561                       HVM instances. Valid values are true or
562                       false. If not specified, the value true will be
563                       used.
564                     </para>
565                   </listitem>
566                 </varlistentry>
567                 <varlistentry>
568                   <term>
569                     pae
570                   </term>
571                   <listitem>
572                     <para>
573                       Sets if Xen should enabled PAE support for
574                       this HVM instance. Valid values are true or
575                       false. If not specified, the value true will be
576                       used.
577                     </para>
578                   </listitem>
579                 </varlistentry>
580               </variablelist>
581             </listitem>
582           </varlistentry>
583           <varlistentry>
584             <term>kvm</term>
585             <listitem>
586               <variablelist>
587                 <varlistentry>
588                   <term>
589                     kernel_path
590                   </term>
591                   <listitem>
592                     <para>
593                       Sets the path to the instance kernel, if not
594                       specified, the valee /boot/vmlinuz-2.6-xenU will
595                       be used.
596                     </para>
597                   </listitem>
598                 </varlistentry>
599                 <varlistentry>
600                   <term>
601                     initrd_path
602                   </term>
603                   <listitem>
604                     <para>
605                       Sets the path to the instance initrd, if not
606                       specified, no initrd will be used.
607                     </para>
608                   </listitem>
609                 </varlistentry>
610               </variablelist>
611             </listitem>
612           </varlistentry>
613           <varlistentry>
614             <term>fake</term>
615             <listitem>
616               <para>
617                 There are currently no parameters for the fake
618                 hypervisor.
619               </para>
620             </listitem>
621           </varlistentry>
622         </variablelist>
623       </para>
624
625     </refsect2>
626
627     <refsect2>
628       <title>LIST-TAGS</title>
629
630       <cmdsynopsis>
631         <command>list-tags</command>
632       </cmdsynopsis>
633
634       <para>List the tags of the cluster.</para>
635     </refsect2>
636
637     <refsect2>
638       <title>MASTERFAILOVER</title>
639
640       <cmdsynopsis>
641         <command>masterfailover</command>
642       </cmdsynopsis>
643
644       <para>
645         Failover the master role to the current node.
646       </para>
647     </refsect2>
648
649     <refsect2>
650       <title>MODIFY</title>
651
652       <cmdsynopsis>
653         <command>modify</command>
654         <arg choice="opt">-g <replaceable>vg-name</replaceable></arg>
655         <arg choice="opt">--no-lvm-storage</arg>
656         <arg choice="opt">--enabled-hypervisors
657         <replaceable>hypervisors</replaceable></arg>
658         <arg choice="opt">--hypervisor-parameters
659         <replaceable>hv-params</replaceable></arg>
660         <arg choice="opt">--backend-parameters
661         <replaceable>be-params</replaceable></arg>
662
663       </cmdsynopsis>
664
665         <para>
666           Modify the options for the cluster.
667         </para>
668
669         <para>
670           The <option>-g</option>, <option>--no-lvm-storarge</option>,
671           <option>--enabled-hypervisors</option>,
672           <option>--hypervisor-parameters</option> and
673           <option>--backend-parameters</option> options are
674           described in the <command>init</command> command.
675         </para>
676     </refsect2>
677
678     <refsect2>
679       <title>QUEUE</title>
680
681       <cmdsynopsis>
682         <command>queue</command>
683         <arg choice="opt">drain</arg>
684         <arg choice="opt">undrain</arg>
685         <arg choice="opt">info</arg>
686
687       </cmdsynopsis>
688
689       <para>
690         Change job queue properties.
691       </para>
692
693       <para>
694         The <option>drain</option> option sets the drain flag on the
695         job queue. No new jobs will be accepted, but jobs already in
696         the queue will be processed.
697       </para>
698
699       <para>
700         The <option>undrain</option> will unset the drain flag on the
701         job queue. New jobs will be accepted.
702       </para>
703
704       <para>
705         The <option>info</option> option shows the properties of the
706         job queue.
707       </para>
708     </refsect2>
709
710     <refsect2>
711       <title>REMOVE-TAGS</title>
712
713       <cmdsynopsis>
714         <command>remove-tags</command>
715         <arg choice="opt">--from <replaceable>file</replaceable></arg>
716         <arg choice="req"
717         rep="repeat"><replaceable>tag</replaceable></arg>
718       </cmdsynopsis>
719
720       <para>
721         Remove tags from the cluster. If any of the tags are not
722         existing on the cluster, the entire operation will abort.
723       </para>
724
725       <para>
726         If the <option>--from</option> option is given, the list of
727         tags will be extended with the contents of that file (each
728         line becomes a tag). In this case, there is not need to pass
729         tags on the command line (if you do, both sources will be
730         used). A file name of - will be interpreted as stdin.
731       </para>
732     </refsect2>
733
734     <refsect2>
735       <title>RENAME</title>
736
737       <cmdsynopsis>
738         <command>rename</command>
739         <arg>-f</arg>
740         <arg choice="req"><replaceable>name</replaceable></arg>
741       </cmdsynopsis>
742
743       <para>
744         Renames the cluster and in the process updates the master IP
745         address to the one the new name resolves to. At least one of
746         either the name or the IP address must be different, otherwise
747         the operation will be aborted.
748       </para>
749
750       <para>
751         Note that since this command can be dangerous (especially when
752         run over SSH), the command will require confirmation unless
753         run with the <option>-f</option> option.
754       </para>
755     </refsect2>
756
757     <refsect2>
758       <title>SEARCH-TAGS</title>
759
760       <cmdsynopsis>
761         <command>search-tags</command>
762         <arg choice="req"><replaceable>pattern</replaceable></arg>
763       </cmdsynopsis>
764
765       <para>
766         Searches the tags on all objects in the cluster (the cluster
767         itself, the nodes and the instances) for a given pattern. The
768         pattern is interpreted as a regular expression and a search
769         will be done on it (i.e. the given pattern is not anchored to
770         the beggining of the string; if you want that, prefix the
771         pattern with <literal>^</literal>).
772       </para>
773
774       <para>
775         If no tags are matching the pattern, the exit code of the
776         command will be one. If there is at least one match, the exit
777         code will be zero. Each match is listed on one line, the
778         object and the tag separated by a space. The cluster will be
779         listed as <filename>/cluster</filename>, a node will be listed
780         as
781         <filename>/nodes/<replaceable>name</replaceable></filename>,
782         and an instance as
783         <filename>/instances/<replaceable>name</replaceable></filename>.
784         Example:
785       </para>
786 <screen>
787 # gnt-cluster search time
788 /cluster ctime:2007-09-01
789 /nodes/node1.example.com mtime:2007-10-04
790 </screen>
791     </refsect2>
792
793     <refsect2>
794       <title>VERIFY</title>
795
796       <cmdsynopsis>
797         <command>verify</command>
798         <arg choice="opt">--no-nplus1-mem</arg>
799       </cmdsynopsis>
800
801       <para>
802         Verify correctness of cluster configuration. This is safe with
803         respect to running instances, and incurs no downtime of the
804         instances.
805       </para>
806
807       <para>
808         If the <option>--no-nplus1-mem</option> option is given, ganeti won't
809         check whether if it loses a node it can restart all the instances on
810         their secondaries (and report an error otherwise).
811       </para>
812     </refsect2>
813
814     <refsect2>
815       <title>VERIFY-DISKS</title>
816
817       <cmdsynopsis>
818         <command>verify-disks</command>
819       </cmdsynopsis>
820
821       <para>
822         The command checks which instances have degraded DRBD disks
823         and activates the disks of those instances.
824       </para>
825
826       <para>
827         This command is run from the <command>ganeti-watcher</command>
828         tool, which also has a different, complementary algorithm for
829         doing this check. Together, these two should ensure that DRBD
830         disks are kept consistent.
831       </para>
832     </refsect2>
833
834     <refsect2>
835       <title>VERSION</title>
836
837       <cmdsynopsis>
838         <command>version</command>
839       </cmdsynopsis>
840
841       <para>
842         Show the cluster version.
843       </para>
844     </refsect2>
845
846   </refsect1>
847
848   &footer;
849
850 </refentry>
851
852 <!-- Keep this comment at the end of the file
853 Local variables:
854 mode: sgml
855 sgml-omittag:t
856 sgml-shorttag:t
857 sgml-minimize-attributes:nil
858 sgml-always-quote-attributes:t
859 sgml-indent-step:2
860 sgml-indent-data:t
861 sgml-parent-document:nil
862 sgml-default-dtd-file:nil
863 sgml-exposed-tags:nil
864 sgml-local-catalogs:nil
865 sgml-local-ecat-files:nil
866 End:
867 -->