Statistics
| Branch: | Tag: | Revision:

root / man / hroller.rst @ 5914192c

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 3504d6c8 Guido Trotter
**[ -O *name...* ]**
25 3504d6c8 Guido Trotter
26 3504d6c8 Guido Trotter
Reporting options:
27 3504d6c8 Guido Trotter
28 3504d6c8 Guido Trotter
**[ -v... | -q ]**
29 3504d6c8 Guido Trotter
**[ -S *file* ]**
30 3504d6c8 Guido Trotter
31 3504d6c8 Guido Trotter
DESCRIPTION
32 3504d6c8 Guido Trotter
-----------
33 3504d6c8 Guido Trotter
34 3504d6c8 Guido Trotter
hroller is a cluster maintenance reboot scheduler. It can calculate
35 3504d6c8 Guido Trotter
which set of nodes can be rebooted at the same time while avoiding
36 3504d6c8 Guido Trotter
having both primary and secondary nodes being rebooted at the same time.
37 3504d6c8 Guido Trotter
38 1a9eb17e Guido Trotter
ALGORITHM FOR CALCULATING OFFLINE REBOOT GROUPS
39 1a9eb17e Guido Trotter
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 1a9eb17e Guido Trotter
41 1a9eb17e Guido Trotter
hroller will view the nodes as vertices of an undirected graph,
42 1a9eb17e Guido Trotter
connecting by instances which have both a primary and a secondary node.
43 1a9eb17e Guido Trotter
It will then color the graph using a few different heuristics, and
44 1a9eb17e Guido Trotter
return the minimum-size color set found. Node with the same color don't
45 1a9eb17e Guido Trotter
share an edge, and as such don't have an instance with both primary and
46 1a9eb17e Guido Trotter
secondary node on them, so they are safe to be rebooted concurrently.
47 1a9eb17e Guido Trotter
48 3504d6c8 Guido Trotter
OPTIONS
49 3504d6c8 Guido Trotter
-------
50 3504d6c8 Guido Trotter
51 3504d6c8 Guido Trotter
Currently only standard htools options are supported. For a description of them
52 354c4f62 Michael Hanselmann
check **htools**\(7) and **hbal**\(1).
53 3504d6c8 Guido Trotter
54 3504d6c8 Guido Trotter
BUGS
55 3504d6c8 Guido Trotter
----
56 3504d6c8 Guido Trotter
57 1a9eb17e Guido Trotter
The master node should be always the last node of the last group, or anyway
58 1a9eb17e Guido Trotter
somehow easily identifiable. Right now this is not done.
59 1a9eb17e Guido Trotter
60 1a9eb17e Guido Trotter
Offline nodes should be ignored.
61 1a9eb17e Guido Trotter
62 1a9eb17e Guido Trotter
Filtering by nodegroup should be allowed.
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: