1 <!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
3 <!-- Fill in your name for FIRSTNAME and SURNAME. -->
4 <!-- Please adjust the date whenever revising the manpage. -->
5 <!ENTITY dhdate "<date>June 08, 2010</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">
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">
25 <holder>Google Inc.</holder>
33 <refmiscinfo>Ganeti 2.2</refmiscinfo>
36 <refname>&dhpackage;</refname>
38 <refpurpose>Ganeti administration, cluster-wide</refpurpose>
42 <command>&dhpackage; </command>
44 <arg choice="req">command</arg>
45 <arg>arguments...</arg>
49 <title>DESCRIPTION</title>
52 The <command>&dhpackage;</command> is used for cluster-wide
53 administration in the Ganeti system.
58 <title>COMMANDS</title>
61 <title>ADD-TAGS</title>
64 <command>add-tags</command>
65 <arg choice="opt">--from <replaceable>file</replaceable></arg>
67 rep="repeat"><replaceable>tag</replaceable></arg>
71 Add tags to the cluster. If any of the tags contains invalid
72 characters, the entire operation will abort.
76 If the <option>--from</option> option is given, the list of
77 tags will be extended with the contents of that file (each
78 line becomes a tag). In this case, there is not need to pass
79 tags on the command line (if you do, both sources will be
80 used). A file name of - will be interpreted as stdin.
85 <title>COMMAND</title>
88 <command>command</command>
89 <arg>-n <replaceable>node</replaceable></arg>
90 <arg choice="req"><replaceable>command</replaceable></arg>
94 Executes a command on all nodes. If the option
95 <option>-n</option> is not given, the command will be executed
96 on all nodes, otherwise it will be executed only on the
97 node(s) specified. Use the option multiple times for running
98 it on multiple nodes, like:
101 # gnt-cluster command -n node1.example.com -n node2.example.com date
107 The command is executed serially on the selected nodes. If the
108 master node is present in the list, the command will be
109 executed last on the master. Regarding the other nodes, the
110 execution order is somewhat alphabetic, so that
111 node2.example.com will be earlier than node10.example.com but
112 after node1.example.com.
116 So given the node names node1, node2, node3, node10, node11,
117 with node3 being the master, the order will be: node1, node2,
118 node10, node11, node3.
122 The command is constructed by concatenating all other command
123 line arguments. For example, to list the contents of the
124 <filename class="directory">/etc</filename> directory on all
128 # gnt-cluster command ls -l /etc
131 and the command which will be executed will be
132 <computeroutput>"ls -l /etc"</computeroutput>
137 <title>COPYFILE</title>
140 <command>copyfile</command>
141 <arg>--use-replication-network</arg>
142 <arg>-n <replaceable>node</replaceable></arg>
143 <arg choice="req"><replaceable>file</replaceable></arg>
147 Copies a file to all or to some nodes. The argument specifies
148 the source file (on the current system), the
149 <option>-n</option> argument specifies the target node, or
150 nodes if the option is given multiple times. If
151 <option>-n</option> is not given at all, the file will be
154 Passing the <option>--use-replication-network</option> option
155 will cause the copy to be done over the replication network
156 (only matters if the primary/secondary IPs are different).
160 # gnt-cluster -n node1.example.com -n node2.example.com copyfile /tmp/test
163 This will copy the file <filename>/tmp/test</filename> from
164 the current node to the two named nodes.
169 <title>DESTROY</title>
172 <command>destroy</command>
173 <arg choice="req">--yes-do-it</arg>
177 Remove all configuration files related to the cluster, so that
178 a <command>gnt-cluster init</command> can be done again
183 Since this is a dangerous command, you are required to pass
184 the argument <replaceable>--yes-do-it.</replaceable>
189 <title>GETMASTER</title>
192 <command>getmaster</command>
196 Displays the current master node.
204 <command>info</command>
209 Shows runtime cluster information: cluster name, architecture
210 (32 or 64 bit), master node, node list and instance list.
214 Passing the <option>--roman</option> option gnt-cluster info will try
215 to print its integer fields in a latin friendly way. This allows
216 further diffusion of Ganeti among ancient cultures.
225 <command>init</command>
227 <arg>-s <replaceable>secondary_ip</replaceable></arg>
229 <arg>-g <replaceable>vg-name</replaceable></arg>
231 <arg>--master-netdev <replaceable>interface-name</replaceable></arg>
233 <arg>-m <replaceable>mac-prefix</replaceable></arg>
235 <arg>--no-lvm-storage</arg>
237 <arg>--no-etc-hosts</arg>
239 <arg>--no-ssh-init</arg>
241 <arg>--file-storage-dir <replaceable>dir</replaceable></arg>
243 <arg>--enabled-hypervisors <replaceable>hypervisors</replaceable></arg>
245 <arg>-t <replaceable>hypervisor name</replaceable></arg>
247 <arg>--hypervisor-parameters <replaceable>hypervisor</replaceable>:<replaceable>hv-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>hv-param</replaceable>=<replaceable>value</replaceable></arg></arg>
249 <arg>--backend-parameters <replaceable>be-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>be-param</replaceable>=<replaceable>value</replaceable></arg></arg>
251 <arg>--nic-parameters <replaceable>nic-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>nic-param</replaceable>=<replaceable>value</replaceable></arg></arg>
253 <arg>--maintain-node-health <group choice="req"><arg>yes</arg><arg>no</arg></group></arg>
255 <arg>--uid-pool <replaceable>user-id pool definition</replaceable></arg>
257 <arg>-I <replaceable>default instance allocator</replaceable></arg>
259 <arg>--primary-ip-version <replaceable>version</replaceable></arg>
261 <arg>--prealloc-wipe-disks <group choice="req"><arg>yes</arg><arg>no</arg></group></arg>
263 <arg choice="req"><replaceable>clustername</replaceable></arg>
267 This commands is only run once initially on the first node of
268 the cluster. It will initialize the cluster configuration and
269 setup ssh-keys and more.
273 Note that the <replaceable>clustername</replaceable> is not
274 any random name. It has to be resolvable to an IP address
275 using DNS, and it is best if you give the fully-qualified
276 domain name. This hostname must resolve to an IP address
277 reserved exclusively for this purpose.
281 The cluster can run in two modes: single-home or
282 dual-homed. In the first case, all traffic (both public
283 traffic, inter-node traffic and data replication traffic) goes
284 over the same interface. In the dual-homed case, the data
285 replication traffic goes over the second network. The
286 <option>-s</option> option here marks the cluster as
287 dual-homed and its parameter represents this node's address on
288 the second network. If you initialise the cluster with
289 <option>-s</option>, all nodes added must have a secondary IP
294 Note that for Ganeti it doesn't matter if the secondary
295 network is actually a separate physical network, or is done
296 using tunneling, etc. For performance reasons, it's
297 recommended to use a separate network, of course.
301 The <option>-g</option> option will let you specify a volume group
302 different than "xenvg" for Ganeti to use when creating instance disks.
303 This volume group must have the same name on all nodes. Once the
304 cluster is initialized this can be altered by using the
305 <command>modify</command> command. If you don't want to use lvm
306 storage at all use the <option>--no-lvm-storage</option> option.
307 Once the cluster is initialized you can change this setup with the
308 <command>modify</command> command.
312 The <option>--master-netdev</option> option is useful for specifying a
313 different interface on which the master will activate its IP address.
314 It's important that all nodes have this interface because you'll need
315 it for a master failover.
319 The <option>-m</option> option will let you specify a three byte prefix
320 under which the virtual MAC addresses of your instances will be
321 generated. The prefix must be specified in the format XX:XX:XX and the
326 The <option>--no-lvm-storage</option> option allows you to initialize
327 the cluster without lvm support. This means that only instances using
328 files as storage backend will be possible to create. Once the cluster
329 is initialized you can change this setup with the
330 <command>modify</command> command.
334 The <option>--no-etc-hosts</option> option allows you to initialize the
335 cluster without modifying the <filename>/etc/hosts</filename> file.
339 The <option>--no-ssh-init</option> option allows you to initialize the
340 cluster without creating or distributing SSH key pairs.
344 The <option>--file-storage-dir</option> option allows you
345 set the directory to use for storing the instance disk
346 files when using file storage as backend for instance disks.
350 The <option>--enabled-hypervisors</option> option allows you
351 to set the list of hypervisors that will be enabled for
352 this cluster. Instance hypervisors can only be chosen from
353 the list of enabled hypervisors, and the first entry of this list
354 will be used by default. Currently, the following hypervisors are
359 The <option>--prealloc-wipe-disks</option> sets a cluster wide
360 configuration value for wiping disks prior to allocation. This
361 increases security on instance level as the instance can't
362 access untouched data from it's underlying storage.
395 a simple chroot manager that starts chroot based on a
396 script at the root of the filesystem holding the
402 fake hypervisor for development/testing
410 Either a single hypervisor name or a comma-separated list of
411 hypervisor names can be specified. If this option is not
412 specified, only the xen-pvm hypervisor is enabled by default.
416 The <option>--hypervisor-parameters</option> option allows you
417 to set default hypervisor specific parameters for the
418 cluster. The format of this option is the name of the
419 hypervisor, followed by a colon and a comma-separated list of
420 key=value pairs. The keys available for each hypervisors are
421 detailed in the <citerefentry>
422 <refentrytitle>gnt-instance</refentrytitle>
423 <manvolnum>8</manvolnum> </citerefentry> man page, in the
424 <command>add</command> command plus the following parameters
425 which are only configurable globally (at cluster level):
429 <term>migration_port</term>
431 <simpara>Valid for the Xen PVM and KVM hypervisors.</simpara>
434 This options specifies the TCP port to use for
435 live-migration. For Xen, the same port should be
436 configured on all nodes in
437 the <filename>/etc/xen/xend-config.sxp</filename>
439 key <quote>xend-relocation-port</quote>.
444 <term>migration_bandwidth</term>
446 <simpara>Valid for the KVM hypervisor.</simpara>
449 This option specifies the maximum bandwidth that KVM will
450 use for instance live migrations. The value is in MiB/s.
453 <simpara>This option is only effective with kvm versions >= 78
454 and qemu-kvm versions >= 0.10.0.
463 The <option>--backend-parameters</option> option allows you to set
464 the default backend parameters for the cluster. The parameter
465 format is a comma-separated list of key=value pairs with the
466 following supported keys:
475 Number of VCPUs to set for an instance by default, must
476 be an integer, will be set to 1 if no specified.
484 Amount of memory to allocate for an instance by default,
485 can be either an integer or an integer followed by a
486 unit (M for mebibytes and G for gibibytes are
487 supported), will be set to 128M if not specified.
492 <term>auto_balance</term>
495 Value of the auto_balance flag for instances to use by
496 default, will be set to true if not specified.
504 The <option>--nic-parameters</option> option allows you to set
505 the default nic parameters for the cluster. The parameter
506 format is a comma-separated list of key=value pairs with the
507 following supported keys:
513 The default nic mode, 'routed' or 'bridged'.
521 In bridged mode the default NIC bridge. In routed mode it
522 represents an hypervisor-vif-script dependent value to allow
523 different instance groups. For example under the KVM default
524 network script it is interpreted as a routing table number or
533 The option <option>--maintain-node-health</option> allows to
534 enable/disable automatic maintenance actions on
535 nodes. Currently these include automatic shutdown of instances
536 and deactivation of DRBD devices on offline nodes; in the
537 future it might be extended to automatic removal of unknown
542 The <option>--uid-pool</option> option initializes the user-id pool.
543 The <replaceable>user-id pool definition</replaceable> can contain a
544 list of user-ids and/or a list of user-id ranges. The parameter format
545 is a comma-separated list of numeric user-ids or user-id ranges.
546 The ranges are defined by a lower and higher boundary, separated
547 by a dash. The boundaries are inclusive.
548 If the <option>--uid-pool</option> option is not supplied, the
549 user-id pool is initialized to an empty list. An empty list means that
550 the user-id pool feature is disabled.
554 The <option>-I (--default-iallocator)</option> option specifies the
555 default instance allocator. The instance allocator will be used for
556 operations like instance creation, instance and node migration, etc.
557 when no manual override is specified. If this option is not specified,
558 the default instance allocator will be blank, which means that relevant
559 operations will require the administrator to manually specify either an
560 instance allocator, or a set of nodes.
561 The default iallocator can be changed later using the
562 <command>modify</command> command.
566 The <option>--primary-ip-version</option> option specifies the
567 IP version used for the primary address. Possible values are 4 and
568 6 for IPv4 and IPv6, respectively. This option is used when resolving
569 node names and the cluster name.
575 <title>LIST-TAGS</title>
578 <command>list-tags</command>
581 <para>List the tags of the cluster.</para>
585 <title>MASTER-FAILOVER</title>
588 <command>master-failover</command>
589 <arg>--no-voting</arg>
593 Failover the master role to the current node.
597 The <option>--no-voting</option> option skips the remote node agreement
598 checks. This is dangerous, but necessary in some cases (for example
599 failing over the master role in a 2 node cluster with the original
600 master down). If the original master then comes up, it won't be able to
601 start its master daemon because it won't have enough votes, but so
602 won't the new master, if the master daemon ever needs a restart. You
603 can pass <option>--no-voting</option> to
604 <command>ganeti-masterd</command> on the new master to solve this
605 problem, and run <command>gnt-cluster redist-conf</command> to make
606 sure the cluster is consistent again.
612 <title>MASTER-PING</title>
615 <command>master-ping</command>
619 Checks if the master daemon is alive.
623 If the master daemon is alive and can respond to a basic query
624 (the equivalent of <command>gnt-cluster info</command>), then
625 the exit code of the command will be 0. If the master daemon
626 is not alive (either due to a crash or because this is not the
627 master node), the exit code will be 1.
633 <title>MODIFY</title>
636 <command>modify</command>
638 <arg choice="opt">-g <replaceable>vg-name</replaceable></arg>
640 <arg choice="opt">--no-lvm-storage</arg>
642 <arg choice="opt">--enabled-hypervisors
643 <replaceable>hypervisors</replaceable></arg>
645 <arg choice="opt">--hypervisor-parameters <replaceable>hypervisor</replaceable>:<replaceable>hv-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>hv-param</replaceable>=<replaceable>value</replaceable></arg></arg>
647 <arg choice="opt">--backend-parameters <replaceable>be-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>be-param</replaceable>=<replaceable>value</replaceable></arg></arg>
649 <arg choice="opt">--nic-parameters <replaceable>nic-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>nic-param</replaceable>=<replaceable>value</replaceable></arg></arg>
651 <arg choice="opt">--uid-pool <replaceable>user-id pool definition</replaceable></arg>
653 <arg choice="opt">--add-uids <replaceable>user-id pool definition</replaceable></arg>
655 <arg choice="opt">--remove-uids <replaceable>user-id pool definition</replaceable></arg>
657 <arg choice="opt">-C <replaceable>candidate_pool_size</replaceable></arg>
659 <arg>--maintain-node-health <group choice="req"><arg>yes</arg><arg>no</arg></group></arg>
661 <arg choice="opt">--prealloc-wipe-disks <group choice="req"><arg>yes</arg><arg>no</arg></group></arg>
663 <arg choice="opt">-I <replaceable>default instance allocator</replaceable></arg>
666 <arg>--reserved-lvs=<replaceable>NAMES</replaceable></arg>
671 Modify the options for the cluster.
675 The <option>-g</option>, <option>--no-lvm-storarge</option>,
676 <option>--enabled-hypervisors</option>,
677 <option>--hypervisor-parameters</option>,
678 <option>--backend-parameters</option>,
679 <option>--nic-parameters</option>,
680 <option>--maintain-node-health</option>,
681 <option>--prealloc-wipe-disks</option>,
682 <option>--uid-pool</option> options are described in
683 the <command>init</command> command.
687 The <option>-C</option> option specifies the
688 <varname>candidate_pool_size</varname> cluster parameter. This
689 is the number of nodes that the master will try to keep as
690 <literal>master_candidates</literal>. For more details about
691 this role and other node roles, see the <citerefentry>
692 <refentrytitle>ganeti</refentrytitle><manvolnum>7</manvolnum>
693 </citerefentry>. If you increase the size, the master will
694 automatically promote as many nodes as required and possible
695 to reach the intended number.
699 The <option>--add-uids</option> and <option>--remove-uids</option>
700 options can be used to modify the user-id pool by adding/removing
701 a list of user-ids or user-id ranges.
705 The option <option>--reserved-lvs</option> specifies a list
706 (comma-separated) of logical volume group names (regular
707 expressions) that will be ignored by the cluster verify
708 operation. This is useful if the volume group used for Ganeti
709 is shared with the system for other uses. Note that it's not
710 recommended to create and mark as ignored logical volume names
711 which match Ganeti's own name format (starting with UUID and
712 then <literal>.diskN</literal>), as this option only skips the
713 verification, but not the actual use of the names given.
717 To remove all reserved logical volumes, pass in an empty
718 argument to the option, as in <option>--reserved-lvs=</option>
719 or <option>--reserved-lvs ''</option>.
723 The <option>-I</option> is described in
724 the <command>init</command> command. To clear the default
725 iallocator, just pass an empty string (<literal>''</literal>).
734 <command>queue</command>
735 <arg choice="opt">drain</arg>
736 <arg choice="opt">undrain</arg>
737 <arg choice="opt">info</arg>
742 Change job queue properties.
746 The <option>drain</option> option sets the drain flag on the
747 job queue. No new jobs will be accepted, but jobs already in
748 the queue will be processed.
752 The <option>undrain</option> will unset the drain flag on the
753 job queue. New jobs will be accepted.
757 The <option>info</option> option shows the properties of the
763 <title>WATCHER</title>
766 <command>watcher</command>
768 <arg>pause <replaceable>duration</replaceable></arg>
775 Make the watcher pause or let it continue.
779 The <option>pause</option> option causes the watcher to pause for
780 <replaceable>duration</replaceable> seconds.
784 The <option>continue</option> option will let the watcher continue.
788 The <option>info</option> option shows whether the watcher is currently
794 <title>redist-conf</title>
796 <command>redist-conf</command>
801 This command forces a full push of configuration files from
802 the master node to the other nodes in the cluster. This is
803 normally not needed, but can be run if the
804 <command>verify</command> complains about configuration
809 The <option>--submit</option> option is used to send the job
810 to the master daemon but not wait for its completion. The job
811 ID will be shown so that it can be examined via
812 <command>gnt-job info</command>.
817 <title>REMOVE-TAGS</title>
820 <command>remove-tags</command>
821 <arg choice="opt">--from <replaceable>file</replaceable></arg>
823 rep="repeat"><replaceable>tag</replaceable></arg>
827 Remove tags from the cluster. If any of the tags are not
828 existing on the cluster, the entire operation will abort.
832 If the <option>--from</option> option is given, the list of
833 tags will be extended with the contents of that file (each
834 line becomes a tag). In this case, there is not need to pass
835 tags on the command line (if you do, both sources will be
836 used). A file name of - will be interpreted as stdin.
841 <title>RENAME</title>
844 <command>rename</command>
846 <arg choice="req"><replaceable>name</replaceable></arg>
850 Renames the cluster and in the process updates the master IP
851 address to the one the new name resolves to. At least one of
852 either the name or the IP address must be different, otherwise
853 the operation will be aborted.
857 Note that since this command can be dangerous (especially when
858 run over SSH), the command will require confirmation unless
859 run with the <option>-f</option> option.
864 <title>RENEW-CRYPTO</title>
867 <command>renew-crypto</command>
870 <arg choice="opt">--new-cluster-certificate</arg>
871 <arg choice="opt">--new-confd-hmac-key</arg>
873 <arg choice="opt">--new-rapi-certificate</arg>
874 <arg choice="opt">--rapi-certificate <replaceable>rapi-cert</replaceable></arg>
876 <arg choice="opt">--new-cluster-domain-secret</arg>
877 <arg choice="opt">--cluster-domain-secret <replaceable>filename</replaceable></arg>
881 This command will stop all
882 Ganeti daemons in the cluster and start them again once the new
883 certificates and keys are replicated. The options
884 <option>--new-cluster-certificate</option> and
885 <option>--new-confd-hmac-key</option> can be used to regenerate the
886 cluster-internal SSL certificate respective the HMAC key used by
888 <refentrytitle>ganeti-confd</refentrytitle><manvolnum>8</manvolnum>
893 To generate a new self-signed RAPI certificate (used by <citerefentry>
894 <refentrytitle>ganeti-rapi</refentrytitle><manvolnum>8</manvolnum>
895 </citerefentry>) specify <option>--new-rapi-certificate</option>. If
896 you want to use your own certificate, e.g. one signed by a certificate
897 authority (CA), pass its filename to
898 <option>--rapi-certificate</option>.
902 <option>--new-cluster-domain-secret</option> generates a new, random
903 cluster domain secret. <option>--cluster-domain-secret</option> reads
904 the secret from a file. The cluster domain secret is used to sign
905 information exchanged between separate clusters via a third party.
910 <title>REPAIR-DISK-SIZES</title>
913 <command>repair-disk-sizes</command>
914 <arg rep="repeat">instance</arg>
918 This command checks that the recorded size of the given
919 instance's disks matches the actual size and updates any
920 mismatches found. This is needed if the Ganeti configuration
921 is no longer consistent with reality, as it will impact some
922 disk operations. If no arguments are given, all instances will
927 Note that only active disks can be checked by this command; in
928 case a disk cannot be activated it's advised to use
929 <command>gnt-instance activate-disks --ignore-size ...</command> to
930 force activation without regard to the
935 When the all disk sizes are consistent, the command will
936 return no output. Otherwise it will log details about the
937 inconsistencies in the configuration.
942 <title>SEARCH-TAGS</title>
945 <command>search-tags</command>
946 <arg choice="req"><replaceable>pattern</replaceable></arg>
950 Searches the tags on all objects in the cluster (the cluster
951 itself, the nodes and the instances) for a given pattern. The
952 pattern is interpreted as a regular expression and a search
953 will be done on it (i.e. the given pattern is not anchored to
954 the beggining of the string; if you want that, prefix the
955 pattern with <literal>^</literal>).
959 If no tags are matching the pattern, the exit code of the
960 command will be one. If there is at least one match, the exit
961 code will be zero. Each match is listed on one line, the
962 object and the tag separated by a space. The cluster will be
963 listed as <filename>/cluster</filename>, a node will be listed
965 <filename>/nodes/<replaceable>name</replaceable></filename>,
967 <filename>/instances/<replaceable>name</replaceable></filename>.
971 # gnt-cluster search-tags time
972 /cluster ctime:2007-09-01
973 /nodes/node1.example.com mtime:2007-10-04
978 <title>VERIFY</title>
981 <command>verify</command>
982 <arg choice="opt">--no-nplus1-mem</arg>
986 Verify correctness of cluster configuration. This is safe with
987 respect to running instances, and incurs no downtime of the
992 If the <option>--no-nplus1-mem</option> option is given, Ganeti won't
993 check whether if it loses a node it can restart all the instances on
994 their secondaries (and report an error otherwise).
999 <title>VERIFY-DISKS</title>
1002 <command>verify-disks</command>
1006 The command checks which instances have degraded DRBD disks
1007 and activates the disks of those instances.
1011 This command is run from the <command>ganeti-watcher</command>
1012 tool, which also has a different, complementary algorithm for
1013 doing this check. Together, these two should ensure that DRBD
1014 disks are kept consistent.
1019 <title>VERSION</title>
1022 <command>version</command>
1026 Show the cluster version.
1036 <!-- Keep this comment at the end of the file
1041 sgml-minimize-attributes:nil
1042 sgml-always-quote-attributes:t
1045 sgml-parent-document:nil
1046 sgml-default-dtd-file:nil
1047 sgml-exposed-tags:nil
1048 sgml-local-catalogs:nil
1049 sgml-local-ecat-files:nil