Statistics
| Branch: | Tag: | Revision:

root / man / hroller.rst @ 2ab65a5d

History | View | Annotate | Download (2.4 kB)

1 3504d6c8 Guido Trotter
HROLLER(1) Ganeti | Version @GANETI_VERSION@
2 3504d6c8 Guido Trotter
============================================
3 3504d6c8 Guido Trotter
4 3504d6c8 Guido Trotter
NAME
5 3504d6c8 Guido Trotter
----
6 3504d6c8 Guido Trotter
7 3504d6c8 Guido Trotter
hroller \- Cluster rolling maintenance scheduler for Ganeti
8 3504d6c8 Guido Trotter
9 3504d6c8 Guido Trotter
SYNOPSIS
10 3504d6c8 Guido Trotter
--------
11 3504d6c8 Guido Trotter
12 3504d6c8 Guido Trotter
**hroller** {backend options...} [algorithm options...] [reporting options...]
13 3504d6c8 Guido Trotter
14 3504d6c8 Guido Trotter
**hroller** \--version
15 3504d6c8 Guido Trotter
16 3504d6c8 Guido Trotter
17 3504d6c8 Guido Trotter
Backend options:
18 3504d6c8 Guido Trotter
19 3504d6c8 Guido Trotter
{ **-m** *cluster* | **-L[** *path* **]** | **-t** *data-file* |
20 3504d6c8 Guido Trotter
**-I** *path* }
21 3504d6c8 Guido Trotter
22 3504d6c8 Guido Trotter
Algorithm options:
23 3504d6c8 Guido Trotter
24 2ab65a5d Klaus Aehlig
**[ -G *name* ]**
25 2ab65a5d Klaus Aehlig
26 3504d6c8 Guido Trotter
**[ -O *name...* ]**
27 3504d6c8 Guido Trotter
28 3504d6c8 Guido Trotter
Reporting options:
29 3504d6c8 Guido Trotter
30 3504d6c8 Guido Trotter
**[ -v... | -q ]**
31 3504d6c8 Guido Trotter
**[ -S *file* ]**
32 3504d6c8 Guido Trotter
33 3504d6c8 Guido Trotter
DESCRIPTION
34 3504d6c8 Guido Trotter
-----------
35 3504d6c8 Guido Trotter
36 3504d6c8 Guido Trotter
hroller is a cluster maintenance reboot scheduler. It can calculate
37 3504d6c8 Guido Trotter
which set of nodes can be rebooted at the same time while avoiding
38 3504d6c8 Guido Trotter
having both primary and secondary nodes being rebooted at the same time.
39 3504d6c8 Guido Trotter
40 1a9eb17e Guido Trotter
ALGORITHM FOR CALCULATING OFFLINE REBOOT GROUPS
41 1a9eb17e Guido Trotter
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42 1a9eb17e Guido Trotter
43 1a9eb17e Guido Trotter
hroller will view the nodes as vertices of an undirected graph,
44 1a9eb17e Guido Trotter
connecting by instances which have both a primary and a secondary node.
45 1a9eb17e Guido Trotter
It will then color the graph using a few different heuristics, and
46 1a9eb17e Guido Trotter
return the minimum-size color set found. Node with the same color don't
47 1a9eb17e Guido Trotter
share an edge, and as such don't have an instance with both primary and
48 1a9eb17e Guido Trotter
secondary node on them, so they are safe to be rebooted concurrently.
49 1a9eb17e Guido Trotter
50 3504d6c8 Guido Trotter
OPTIONS
51 3504d6c8 Guido Trotter
-------
52 3504d6c8 Guido Trotter
53 3504d6c8 Guido Trotter
Currently only standard htools options are supported. For a description of them
54 354c4f62 Michael Hanselmann
check **htools**\(7) and **hbal**\(1).
55 3504d6c8 Guido Trotter
56 3504d6c8 Guido Trotter
BUGS
57 3504d6c8 Guido Trotter
----
58 3504d6c8 Guido Trotter
59 1a9eb17e Guido Trotter
The master node should be always the last node of the last group, or anyway
60 1a9eb17e Guido Trotter
somehow easily identifiable. Right now this is not done.
61 1a9eb17e Guido Trotter
62 1a9eb17e Guido Trotter
Offline nodes should be ignored.
63 1a9eb17e Guido Trotter
64 1a9eb17e Guido Trotter
If instances are online the tool should refuse to do offline rolling
65 ba258c08 Benjamin Kerensa
maintenances, unless explicitly requested.
66 1a9eb17e Guido Trotter
67 1a9eb17e Guido Trotter
End-to-end shelltests should be provided.
68 1a9eb17e Guido Trotter
69 1a9eb17e Guido Trotter
Online rolling maintenances (where instance need not be shut down, but
70 1a9eb17e Guido Trotter
are migrated from node to node) are not supported yet. Hroller by design
71 1a9eb17e Guido Trotter
should support them both with and without secondary node replacement.
72 1a9eb17e Guido Trotter
73 1a9eb17e Guido Trotter
EXAMPLE
74 1a9eb17e Guido Trotter
-------
75 1a9eb17e Guido Trotter
76 1a9eb17e Guido Trotter
Note that these examples may not for the latest version.
77 1a9eb17e Guido Trotter
78 1a9eb17e Guido Trotter
Offline Rolling node reboot output
79 1a9eb17e Guido Trotter
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80 1a9eb17e Guido Trotter
81 1a9eb17e Guido Trotter
With the default options, the program shows one reboot group per line as
82 1a9eb17e Guido Trotter
a comma-separated list.
83 1a9eb17e Guido Trotter
84 1a9eb17e Guido Trotter
    $ hroller
85 1a9eb17e Guido Trotter
    'Node Reboot Groups'
86 1a9eb17e Guido Trotter
    node1.example.com,node3.example.com,node5.example.com
87 1a9eb17e Guido Trotter
    node8.example.com,node6.example.com,node2.example.com
88 1a9eb17e Guido Trotter
    node7.example.com,node4.example.com
89 3504d6c8 Guido Trotter
90 3504d6c8 Guido Trotter
.. vim: set textwidth=72 :
91 3504d6c8 Guido Trotter
.. Local Variables:
92 3504d6c8 Guido Trotter
.. mode: rst
93 3504d6c8 Guido Trotter
.. fill-column: 72
94 3504d6c8 Guido Trotter
.. End: