Statistics
| Branch: | Tag: | Revision:

root / man / harep.rst @ 9dd964b9

History | View | Annotate | Download (2.9 kB)

1 a755f3a0 Michele Tartara
HAREP(1) Ganeti | Version @GANETI_VERSION@
2 2c7c1fa8 Apollon Oikonomopoulos
==========================================
3 a755f3a0 Michele Tartara
4 a755f3a0 Michele Tartara
NAME
5 a755f3a0 Michele Tartara
----
6 a755f3a0 Michele Tartara
7 a755f3a0 Michele Tartara
harep - Ganeti auto-repair tool
8 a755f3a0 Michele Tartara
9 a755f3a0 Michele Tartara
SYNOPSIS
10 a755f3a0 Michele Tartara
--------
11 a755f3a0 Michele Tartara
12 a755f3a0 Michele Tartara
**harep** [ [**-L** | **\--luxi** ] = *socket* ] [ --job-delay = *seconds* ]
13 a755f3a0 Michele Tartara
14 a755f3a0 Michele Tartara
**harep** \--version
15 a755f3a0 Michele Tartara
16 a755f3a0 Michele Tartara
DESCRIPTION
17 a755f3a0 Michele Tartara
-----------
18 a755f3a0 Michele Tartara
19 9dd964b9 Michele Tartara
Harep is the Ganeti auto-repair tool. It is able to detect that an instance is
20 a755f3a0 Michele Tartara
broken and to generate a sequence of jobs that will fix it, in accordance to the
21 a755f3a0 Michele Tartara
policies set by the administrator.
22 a755f3a0 Michele Tartara
23 9dd964b9 Michele Tartara
Harep is able to recognize what state an instance is in (healthy, suspended,
24 9dd964b9 Michele Tartara
needs repair, repair disallowed, pending repair, repair disallowed, repair
25 9dd964b9 Michele Tartara
failed) and to lead it through a sequence of steps that will bring the instance
26 9dd964b9 Michele Tartara
back to the healthy state. Therefore, harep is mainly meant to be run regularly
27 9dd964b9 Michele Tartara
and frequently using a cron job, so that is can actually follow the instance
28 9dd964b9 Michele Tartara
along all the process. At every run, harep will update the tags it adds to
29 9dd964b9 Michele Tartara
instances that describe its repair status, and will submit jobs that actually
30 9dd964b9 Michele Tartara
perform the required repair operations.
31 9dd964b9 Michele Tartara
32 9dd964b9 Michele Tartara
By default, harep only reports on the health status of instances, but doesn't
33 9dd964b9 Michele Tartara
perform any action, as they might be potentially dangerous. Therefore, harep
34 9dd964b9 Michele Tartara
will only touch instances that it has been explicitly authorized to work on.
35 9dd964b9 Michele Tartara
36 9dd964b9 Michele Tartara
The tags enabling harep, can be associated to single instances, or to a
37 9dd964b9 Michele Tartara
nodegroup or to the whole cluster, therefore affecting all the instances they
38 9dd964b9 Michele Tartara
contain. The possible tags share the common structure::
39 9dd964b9 Michele Tartara
40 9dd964b9 Michele Tartara
 ganeti:watcher:autorepair:<type>
41 9dd964b9 Michele Tartara
42 9dd964b9 Michele Tartara
where ``<type>`` can have the following values:
43 9dd964b9 Michele Tartara
44 9dd964b9 Michele Tartara
* ``fix-storage``: allow disk replacement or fix the backend without affecting the instance
45 9dd964b9 Michele Tartara
  itself (broken DRBD secondary)
46 9dd964b9 Michele Tartara
* ``migrate``: allow instance migration
47 9dd964b9 Michele Tartara
* ``failover``: allow instance reboot on the secondary
48 9dd964b9 Michele Tartara
* ``reinstall``: allow disks to be recreated and the instance to be reinstalled
49 9dd964b9 Michele Tartara
50 9dd964b9 Michele Tartara
Each element in the list of tags, includes all the authorizations of the
51 9dd964b9 Michele Tartara
previous one, with ``fix-storage`` being the least powerful and ``reinstall``
52 9dd964b9 Michele Tartara
being the most powerful.
53 9dd964b9 Michele Tartara
54 9dd964b9 Michele Tartara
In case multiple autorepair tags act on the same instance, only one can actually
55 9dd964b9 Michele Tartara
be active. The conflict is solved according to the following rules:
56 9dd964b9 Michele Tartara
57 9dd964b9 Michele Tartara
#. if multiple tags are in the same object, the least destructive takes
58 9dd964b9 Michele Tartara
   precedence.
59 9dd964b9 Michele Tartara
60 9dd964b9 Michele Tartara
#. if the tags are across objects, the nearest tag wins.
61 9dd964b9 Michele Tartara
62 9dd964b9 Michele Tartara
Example:
63 9dd964b9 Michele Tartara
A cluster has instances I1 and I2, where I1 has the ``failover`` tag, and
64 9dd964b9 Michele Tartara
the cluster has both ``fix-storage`` and ``reinstall``.
65 9dd964b9 Michele Tartara
The I1 instance will be allowed to ``failover``, the I2 instance only to
66 9dd964b9 Michele Tartara
``fix-storage``.
67 9dd964b9 Michele Tartara
68 9dd964b9 Michele Tartara
69 a755f3a0 Michele Tartara
OPTIONS
70 a755f3a0 Michele Tartara
-------
71 a755f3a0 Michele Tartara
72 a755f3a0 Michele Tartara
The options that can be passed to the program are as follows:
73 a755f3a0 Michele Tartara
74 a755f3a0 Michele Tartara
-L *socket*, \--luxi=*socket*
75 a755f3a0 Michele Tartara
  collect data via Luxi, optionally using the given *socket* path.
76 a755f3a0 Michele Tartara
77 a755f3a0 Michele Tartara
\--job-delay=*seconds*
78 a755f3a0 Michele Tartara
  insert this much delay before the execution of repair jobs to allow the tool
79 a755f3a0 Michele Tartara
  to continue processing instances.
80 a755f3a0 Michele Tartara
81 a755f3a0 Michele Tartara
.. vim: set textwidth=72 :
82 a755f3a0 Michele Tartara
.. Local Variables:
83 a755f3a0 Michele Tartara
.. mode: rst
84 a755f3a0 Michele Tartara
.. fill-column: 72
85 a755f3a0 Michele Tartara
.. End: