Makefile: Streamline directory creation
[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>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">
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       <year>2008</year>
24       <year>2009</year>
25       <holder>Google Inc.</holder>
26     </copyright>
27     &dhdate;
28   </refentryinfo>
29   <refmeta>
30     &dhucpackage;
31
32     &dhsection;
33     <refmiscinfo>Ganeti 2.2</refmiscinfo>
34   </refmeta>
35   <refnamediv>
36     <refname>&dhpackage;</refname>
37
38     <refpurpose>Ganeti administration, cluster-wide</refpurpose>
39   </refnamediv>
40   <refsynopsisdiv>
41     <cmdsynopsis>
42       <command>&dhpackage; </command>
43
44       <arg choice="req">command</arg>
45       <arg>arguments...</arg>
46     </cmdsynopsis>
47   </refsynopsisdiv>
48   <refsect1>
49     <title>DESCRIPTION</title>
50
51     <para>
52       The <command>&dhpackage;</command> is used for cluster-wide
53       administration in the Ganeti system.
54     </para>
55
56   </refsect1>
57   <refsect1>
58     <title>COMMANDS</title>
59
60     <refsect2>
61       <title>ADD-TAGS</title>
62
63       <cmdsynopsis>
64         <command>add-tags</command>
65         <arg choice="opt">--from <replaceable>file</replaceable></arg>
66         <arg choice="req"
67         rep="repeat"><replaceable>tag</replaceable></arg>
68       </cmdsynopsis>
69
70       <para>
71         Add tags to the cluster. If any of the tags contains invalid
72         characters, the entire operation will abort.
73       </para>
74
75       <para>
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.
81       </para>
82     </refsect2>
83
84     <refsect2>
85       <title>COMMAND</title>
86
87       <cmdsynopsis>
88         <command>command</command>
89         <arg>-n <replaceable>node</replaceable></arg>
90         <arg choice="req"><replaceable>command</replaceable></arg>
91       </cmdsynopsis>
92
93       <para>
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:
99
100         <screen>
101           # gnt-cluster command -n node1.example.com -n node2.example.com date
102         </screen>
103
104       </para>
105
106       <para>
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.
113       </para>
114
115       <para>
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.
119       </para>
120
121       <para>
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
125         nodes, run:
126
127         <screen>
128           # gnt-cluster command ls -l /etc
129         </screen>
130
131         and the command which will be executed will be
132         <computeroutput>"ls -l /etc"</computeroutput>
133       </para>
134     </refsect2>
135
136     <refsect2>
137       <title>COPYFILE</title>
138
139       <cmdsynopsis>
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>
144       </cmdsynopsis>
145
146       <para>
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
152         copied to all nodes.
153
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).
157
158         Example:
159         <screen>
160           # gnt-cluster -n node1.example.com -n node2.example.com copyfile /tmp/test
161         </screen>
162
163         This will copy the file <filename>/tmp/test</filename> from
164         the current node to the two named nodes.
165       </para>
166     </refsect2>
167
168     <refsect2>
169       <title>DESTROY</title>
170
171       <cmdsynopsis>
172         <command>destroy</command>
173         <arg choice="req">--yes-do-it</arg>
174       </cmdsynopsis>
175
176       <para>
177         Remove all configuration files related to the cluster, so that
178         a <command>gnt-cluster init</command> can be done again
179         afterwards.
180       </para>
181
182       <para>
183         Since this is a dangerous command, you are required to pass
184         the argument <replaceable>--yes-do-it.</replaceable>
185       </para>
186     </refsect2>
187
188     <refsect2>
189       <title>GETMASTER</title>
190
191       <cmdsynopsis>
192         <command>getmaster</command>
193       </cmdsynopsis>
194
195       <para>
196         Displays the current master node.
197       </para>
198     </refsect2>
199
200     <refsect2>
201       <title>INFO</title>
202
203       <cmdsynopsis>
204         <command>info</command>
205         <arg>--roman</arg>
206       </cmdsynopsis>
207
208       <para>
209         Shows runtime cluster information: cluster name, architecture
210         (32 or 64 bit), master node, node list and instance list.
211       </para>
212
213       <para>
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.
217       </para>
218
219     </refsect2>
220
221     <refsect2>
222       <title>INIT</title>
223
224       <cmdsynopsis>
225         <command>init</command>
226         <sbr>
227         <arg>-s <replaceable>secondary_ip</replaceable></arg>
228         <sbr>
229         <arg>-g <replaceable>vg-name</replaceable></arg>
230         <sbr>
231         <arg>--master-netdev <replaceable>interface-name</replaceable></arg>
232         <sbr>
233         <arg>-m <replaceable>mac-prefix</replaceable></arg>
234         <sbr>
235         <arg>--no-lvm-storage</arg>
236         <sbr>
237         <arg>--no-etc-hosts</arg>
238         <sbr>
239         <arg>--no-ssh-init</arg>
240         <sbr>
241         <arg>--file-storage-dir <replaceable>dir</replaceable></arg>
242         <sbr>
243         <arg>--enabled-hypervisors <replaceable>hypervisors</replaceable></arg>
244         <sbr>
245         <arg>-t <replaceable>hypervisor name</replaceable></arg>
246         <sbr>
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>
248         <sbr>
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>
250         <sbr>
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>
252         <sbr>
253         <arg>--maintain-node-health <group choice="req"><arg>yes</arg><arg>no</arg></group></arg>
254         <sbr>
255         <arg>--uid-pool <replaceable>user-id pool definition</replaceable></arg>
256         <sbr>
257         <arg>-I <replaceable>default instance allocator</replaceable></arg>
258         <sbr>
259         <arg>--primary-ip-version <replaceable>version</replaceable></arg>
260         <sbr>
261         <arg>--prealloc-wipe-disks <group choice="req"><arg>yes</arg><arg>no</arg></group></arg>
262         <sbr>
263         <arg choice="req"><replaceable>clustername</replaceable></arg>
264       </cmdsynopsis>
265
266       <para>
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.
270       </para>
271
272       <para>
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.
278       </para>
279
280       <para>
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
290         as well.
291       </para>
292
293       <para>
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.
298       </para>
299
300       <para>
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.
309       </para>
310
311       <para>
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.
316       </para>
317
318       <para>
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
322         default is aa:00:00.
323       </para>
324
325       <para>
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.
331       </para>
332
333       <para>
334         The <option>--no-etc-hosts</option> option allows you to initialize the
335         cluster without modifying the <filename>/etc/hosts</filename> file.
336       </para>
337
338       <para>
339         The <option>--no-ssh-init</option> option allows you to initialize the
340         cluster without creating or distributing SSH key pairs.
341       </para>
342
343       <para>
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.
347       </para>
348
349       <para>
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
355         available:
356       </para>
357
358       <para>
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.
363       </para>
364
365       <para>
366         <variablelist>
367           <varlistentry>
368             <term>xen-pvm</term>
369             <listitem>
370               <para>
371                 Xen PVM hypervisor
372               </para>
373             </listitem>
374           </varlistentry>
375           <varlistentry>
376             <term>xen-hvm</term>
377             <listitem>
378               <para>
379                 Xen HVM hypervisor
380               </para>
381             </listitem>
382           </varlistentry>
383           <varlistentry>
384             <term>kvm</term>
385             <listitem>
386               <para>
387                 Linux KVM hypervisor
388               </para>
389             </listitem>
390           </varlistentry>
391           <varlistentry>
392             <term>chroot</term>
393             <listitem>
394               <para>
395                 a simple chroot manager that starts chroot based on a
396                 script at the root of the filesystem holding the
397                 chroot
398           <varlistentry>
399             <term>fake</term>
400             <listitem>
401               <para>
402                 fake hypervisor for development/testing
403               </para>
404             </listitem>
405           </varlistentry>
406         </variablelist>
407       </para>
408
409       <para>
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.
413       </para>
414
415       <para>
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):
426
427         <variablelist>
428           <varlistentry>
429             <term>migration_port</term>
430             <listitem>
431               <simpara>Valid for the Xen PVM and KVM hypervisors.</simpara>
432
433               <para>
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>
438                 file, under the
439                 key <quote>xend-relocation-port</quote>.
440               </para>
441             </listitem>
442           </varlistentry>
443           <varlistentry>
444             <term>migration_bandwidth</term>
445             <listitem>
446               <simpara>Valid for the KVM hypervisor.</simpara>
447
448               <para>
449                 This option specifies the maximum bandwidth that KVM will
450                 use for instance live migrations. The value is in MiB/s.
451               </para>
452
453               <simpara>This option is only effective with kvm versions >= 78
454               and qemu-kvm versions >= 0.10.0.
455               </simpara>
456             </listitem>
457           </varlistentry>
458         </variablelist>
459
460       </para>
461
462       <para>
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:
467       </para>
468
469       <para>
470         <variablelist>
471           <varlistentry>
472             <term>vcpus</term>
473             <listitem>
474               <para>
475                 Number of VCPUs to set for an instance by default, must
476                 be an integer, will be set to 1 if no specified.
477               </para>
478             </listitem>
479           </varlistentry>
480           <varlistentry>
481             <term>memory</term>
482             <listitem>
483               <para>
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.
488               </para>
489             </listitem>
490           </varlistentry>
491           <varlistentry>
492             <term>auto_balance</term>
493             <listitem>
494               <para>
495                 Value of the auto_balance flag for instances to use by
496                 default, will be set to true if not specified.
497               </para>
498             </listitem>
499           </varlistentry>
500         </variablelist>
501       </para>
502
503       <para>
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:
508         <variablelist>
509           <varlistentry>
510             <term>mode</term>
511             <listitem>
512               <para>
513                 The default nic mode, 'routed' or 'bridged'.
514               </para>
515             </listitem>
516           </varlistentry>
517           <varlistentry>
518             <term>link</term>
519             <listitem>
520               <para>
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
525                 name.
526               </para>
527             </listitem>
528           </varlistentry>
529         </variablelist>
530       </para>
531
532       <para>
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
538         LVM volumes, etc.
539       </para>
540
541       <para>
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.
551       </para>
552
553       <para>
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.
563       </para>
564
565       <para>
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.
570       </para>
571
572     </refsect2>
573
574     <refsect2>
575       <title>LIST-TAGS</title>
576
577       <cmdsynopsis>
578         <command>list-tags</command>
579       </cmdsynopsis>
580
581       <para>List the tags of the cluster.</para>
582     </refsect2>
583
584     <refsect2>
585       <title>MASTER-FAILOVER</title>
586
587       <cmdsynopsis>
588         <command>master-failover</command>
589         <arg>--no-voting</arg>
590       </cmdsynopsis>
591
592       <para>
593         Failover the master role to the current node.
594       </para>
595
596       <para>
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.
607       </para>
608
609     </refsect2>
610
611     <refsect2>
612       <title>MASTER-PING</title>
613
614       <cmdsynopsis>
615         <command>master-ping</command>
616       </cmdsynopsis>
617
618       <para>
619         Checks if the master daemon is alive.
620       </para>
621
622       <para>
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.
628       </para>
629
630     </refsect2>
631
632     <refsect2>
633       <title>MODIFY</title>
634
635       <cmdsynopsis>
636         <command>modify</command>
637         <sbr>
638         <arg choice="opt">-g <replaceable>vg-name</replaceable></arg>
639         <sbr>
640         <arg choice="opt">--no-lvm-storage</arg>
641         <sbr>
642         <arg choice="opt">--enabled-hypervisors
643         <replaceable>hypervisors</replaceable></arg>
644         <sbr>
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>
646         <sbr>
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>
648         <sbr>
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>
650         <sbr>
651         <arg choice="opt">--uid-pool <replaceable>user-id pool definition</replaceable></arg>
652         <sbr>
653         <arg choice="opt">--add-uids <replaceable>user-id pool definition</replaceable></arg>
654         <sbr>
655         <arg choice="opt">--remove-uids <replaceable>user-id pool definition</replaceable></arg>
656         <sbr>
657         <arg choice="opt">-C <replaceable>candidate_pool_size</replaceable></arg>
658         <sbr>
659         <arg>--maintain-node-health <group choice="req"><arg>yes</arg><arg>no</arg></group></arg>
660         <sbr>
661         <arg choice="opt">--prealloc-wipe-disks <group choice="req"><arg>yes</arg><arg>no</arg></group></arg>
662         <sbr>
663         <arg choice="opt">-I <replaceable>default instance allocator</replaceable></arg>
664
665         <sbr>
666         <arg>--reserved-lvs=<replaceable>NAMES</replaceable></arg>
667
668       </cmdsynopsis>
669
670         <para>
671           Modify the options for the cluster.
672         </para>
673
674         <para>
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.
684         </para>
685
686       <para>
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.
696       </para>
697
698       <para>
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.
702       </para>
703
704       <para>
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.
714       </para>
715
716       <para>
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>.
720       </para>
721
722       <para>
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>).
726       </para>
727
728     </refsect2>
729
730     <refsect2>
731       <title>QUEUE</title>
732
733       <cmdsynopsis>
734         <command>queue</command>
735         <arg choice="opt">drain</arg>
736         <arg choice="opt">undrain</arg>
737         <arg choice="opt">info</arg>
738
739       </cmdsynopsis>
740
741       <para>
742         Change job queue properties.
743       </para>
744
745       <para>
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.
749       </para>
750
751       <para>
752         The <option>undrain</option> will unset the drain flag on the
753         job queue. New jobs will be accepted.
754       </para>
755
756       <para>
757         The <option>info</option> option shows the properties of the
758         job queue.
759       </para>
760     </refsect2>
761
762     <refsect2>
763       <title>WATCHER</title>
764
765       <cmdsynopsis>
766         <command>watcher</command>
767         <group choice="req">
768           <arg>pause <replaceable>duration</replaceable></arg>
769           <arg>continue</arg>
770           <arg>info</arg>
771         </group>
772       </cmdsynopsis>
773
774       <para>
775         Make the watcher pause or let it continue.
776       </para>
777
778       <para>
779         The <option>pause</option> option causes the watcher to pause for
780         <replaceable>duration</replaceable> seconds.
781       </para>
782
783       <para>
784         The <option>continue</option> option will let the watcher continue.
785       </para>
786
787       <para>
788         The <option>info</option> option shows whether the watcher is currently
789         paused.
790       </para>
791     </refsect2>
792
793     <refsect2>
794       <title>redist-conf</title>
795       <cmdsynopsis>
796         <command>redist-conf</command>
797           <arg>--submit</arg>
798       </cmdsynopsis>
799
800       <para>
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
805         mismatches.
806       </para>
807
808       <para>
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>.
813       </para>
814
815     </refsect2>
816     <refsect2>
817       <title>REMOVE-TAGS</title>
818
819       <cmdsynopsis>
820         <command>remove-tags</command>
821         <arg choice="opt">--from <replaceable>file</replaceable></arg>
822         <arg choice="req"
823         rep="repeat"><replaceable>tag</replaceable></arg>
824       </cmdsynopsis>
825
826       <para>
827         Remove tags from the cluster. If any of the tags are not
828         existing on the cluster, the entire operation will abort.
829       </para>
830
831       <para>
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.
837       </para>
838     </refsect2>
839
840     <refsect2>
841       <title>RENAME</title>
842
843       <cmdsynopsis>
844         <command>rename</command>
845         <arg>-f</arg>
846         <arg choice="req"><replaceable>name</replaceable></arg>
847       </cmdsynopsis>
848
849       <para>
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.
854       </para>
855
856       <para>
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.
860       </para>
861     </refsect2>
862
863     <refsect2>
864       <title>RENEW-CRYPTO</title>
865
866       <cmdsynopsis>
867         <command>renew-crypto</command>
868         <arg>-f</arg>
869         <sbr>
870         <arg choice="opt">--new-cluster-certificate</arg>
871         <arg choice="opt">--new-confd-hmac-key</arg>
872         <sbr>
873         <arg choice="opt">--new-rapi-certificate</arg>
874         <arg choice="opt">--rapi-certificate <replaceable>rapi-cert</replaceable></arg>
875         <sbr>
876         <arg choice="opt">--new-cluster-domain-secret</arg>
877         <arg choice="opt">--cluster-domain-secret <replaceable>filename</replaceable></arg>
878       </cmdsynopsis>
879
880       <para>
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
887         <citerefentry>
888         <refentrytitle>ganeti-confd</refentrytitle><manvolnum>8</manvolnum>
889         </citerefentry>.
890       </para>
891
892       <para>
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>.
899       </para>
900
901       <para>
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.
906       </para>
907     </refsect2>
908
909     <refsect2>
910       <title>REPAIR-DISK-SIZES</title>
911
912       <cmdsynopsis>
913         <command>repair-disk-sizes</command>
914         <arg rep="repeat">instance</arg>
915       </cmdsynopsis>
916
917       <para>
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
923         be checked.
924       </para>
925
926       <para>
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
931         current size.
932       </para>
933
934       <para>
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.
938       </para>
939     </refsect2>
940
941     <refsect2>
942       <title>SEARCH-TAGS</title>
943
944       <cmdsynopsis>
945         <command>search-tags</command>
946         <arg choice="req"><replaceable>pattern</replaceable></arg>
947       </cmdsynopsis>
948
949       <para>
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>).
956       </para>
957
958       <para>
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
964         as
965         <filename>/nodes/<replaceable>name</replaceable></filename>,
966         and an instance as
967         <filename>/instances/<replaceable>name</replaceable></filename>.
968         Example:
969       </para>
970 <screen>
971 # gnt-cluster search-tags time
972 /cluster ctime:2007-09-01
973 /nodes/node1.example.com mtime:2007-10-04
974 </screen>
975     </refsect2>
976
977     <refsect2>
978       <title>VERIFY</title>
979
980       <cmdsynopsis>
981         <command>verify</command>
982         <arg choice="opt">--no-nplus1-mem</arg>
983       </cmdsynopsis>
984
985       <para>
986         Verify correctness of cluster configuration. This is safe with
987         respect to running instances, and incurs no downtime of the
988         instances.
989       </para>
990
991       <para>
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).
995       </para>
996     </refsect2>
997
998     <refsect2>
999       <title>VERIFY-DISKS</title>
1000
1001       <cmdsynopsis>
1002         <command>verify-disks</command>
1003       </cmdsynopsis>
1004
1005       <para>
1006         The command checks which instances have degraded DRBD disks
1007         and activates the disks of those instances.
1008       </para>
1009
1010       <para>
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.
1015       </para>
1016     </refsect2>
1017
1018     <refsect2>
1019       <title>VERSION</title>
1020
1021       <cmdsynopsis>
1022         <command>version</command>
1023       </cmdsynopsis>
1024
1025       <para>
1026         Show the cluster version.
1027       </para>
1028     </refsect2>
1029
1030   </refsect1>
1031
1032   &footer;
1033
1034 </refentry>
1035
1036 <!-- Keep this comment at the end of the file
1037 Local variables:
1038 mode: sgml
1039 sgml-omittag:t
1040 sgml-shorttag:t
1041 sgml-minimize-attributes:nil
1042 sgml-always-quote-attributes:t
1043 sgml-indent-step:2
1044 sgml-indent-data: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
1050 End:
1051 -->