Statistics
| Branch: | Tag: | Revision:

root / man / hroller.rst @ 1fa6fcba

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 2c9fb8e2 Klaus Aehlig
For backends that support identifying the master node (currenlty
41 2c9fb8e2 Klaus Aehlig
RAPI and LUXI), the master node is scheduled as the last node
42 2c9fb8e2 Klaus Aehlig
in the last reboot group.
43 2c9fb8e2 Klaus Aehlig
44 1a9eb17e Guido Trotter
ALGORITHM FOR CALCULATING OFFLINE REBOOT GROUPS
45 1a9eb17e Guido Trotter
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
46 1a9eb17e Guido Trotter
47 1a9eb17e Guido Trotter
hroller will view the nodes as vertices of an undirected graph,
48 1a9eb17e Guido Trotter
connecting by instances which have both a primary and a secondary node.
49 1a9eb17e Guido Trotter
It will then color the graph using a few different heuristics, and
50 1a9eb17e Guido Trotter
return the minimum-size color set found. Node with the same color don't
51 1a9eb17e Guido Trotter
share an edge, and as such don't have an instance with both primary and
52 1a9eb17e Guido Trotter
secondary node on them, so they are safe to be rebooted concurrently.
53 1a9eb17e Guido Trotter
54 3504d6c8 Guido Trotter
OPTIONS
55 3504d6c8 Guido Trotter
-------
56 3504d6c8 Guido Trotter
57 3504d6c8 Guido Trotter
Currently only standard htools options are supported. For a description of them
58 354c4f62 Michael Hanselmann
check **htools**\(7) and **hbal**\(1).
59 3504d6c8 Guido Trotter
60 3504d6c8 Guido Trotter
BUGS
61 3504d6c8 Guido Trotter
----
62 3504d6c8 Guido Trotter
63 1a9eb17e Guido Trotter
Offline nodes should be ignored.
64 1a9eb17e Guido Trotter
65 1a9eb17e Guido Trotter
If instances are online the tool should refuse to do offline rolling
66 ba258c08 Benjamin Kerensa
maintenances, unless explicitly requested.
67 1a9eb17e Guido Trotter
68 1a9eb17e Guido Trotter
End-to-end shelltests should be provided.
69 1a9eb17e Guido Trotter
70 1a9eb17e Guido Trotter
Online rolling maintenances (where instance need not be shut down, but
71 1a9eb17e Guido Trotter
are migrated from node to node) are not supported yet. Hroller by design
72 1a9eb17e Guido Trotter
should support them both with and without secondary node replacement.
73 1a9eb17e Guido Trotter
74 1a9eb17e Guido Trotter
EXAMPLE
75 1a9eb17e Guido Trotter
-------
76 1a9eb17e Guido Trotter
77 1a9eb17e Guido Trotter
Offline Rolling node reboot output
78 1a9eb17e Guido Trotter
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79 1a9eb17e Guido Trotter
80 1a9eb17e Guido Trotter
With the default options, the program shows one reboot group per line as
81 1a9eb17e Guido Trotter
a comma-separated list.
82 2c9fb8e2 Klaus Aehlig
::
83 1a9eb17e Guido Trotter
84 2c9fb8e2 Klaus Aehlig
    $ hroller -L
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: