root / man / harep.rst @ e715a6d6
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: |