Statistics
| Branch: | Tag: | Revision:

root / man / hroller.rst @ 52278ef9

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 52278ef9 Klaus Aehlig
**[ --force ]**
23 52278ef9 Klaus Aehlig
24 3504d6c8 Guido Trotter
Algorithm options:
25 3504d6c8 Guido Trotter
26 2ab65a5d Klaus Aehlig
**[ -G *name* ]**
27 2ab65a5d Klaus Aehlig
28 3504d6c8 Guido Trotter
**[ -O *name...* ]**
29 3504d6c8 Guido Trotter
30 3504d6c8 Guido Trotter
Reporting options:
31 3504d6c8 Guido Trotter
32 3504d6c8 Guido Trotter
**[ -v... | -q ]**
33 3504d6c8 Guido Trotter
**[ -S *file* ]**
34 3504d6c8 Guido Trotter
35 3504d6c8 Guido Trotter
DESCRIPTION
36 3504d6c8 Guido Trotter
-----------
37 3504d6c8 Guido Trotter
38 3504d6c8 Guido Trotter
hroller is a cluster maintenance reboot scheduler. It can calculate
39 3504d6c8 Guido Trotter
which set of nodes can be rebooted at the same time while avoiding
40 3504d6c8 Guido Trotter
having both primary and secondary nodes being rebooted at the same time.
41 3504d6c8 Guido Trotter
42 2c9fb8e2 Klaus Aehlig
For backends that support identifying the master node (currenlty
43 2c9fb8e2 Klaus Aehlig
RAPI and LUXI), the master node is scheduled as the last node
44 2c9fb8e2 Klaus Aehlig
in the last reboot group.
45 2c9fb8e2 Klaus Aehlig
46 1a9eb17e Guido Trotter
ALGORITHM FOR CALCULATING OFFLINE REBOOT GROUPS
47 1a9eb17e Guido Trotter
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
48 1a9eb17e Guido Trotter
49 1a9eb17e Guido Trotter
hroller will view the nodes as vertices of an undirected graph,
50 1a9eb17e Guido Trotter
connecting by instances which have both a primary and a secondary node.
51 1a9eb17e Guido Trotter
It will then color the graph using a few different heuristics, and
52 1a9eb17e Guido Trotter
return the minimum-size color set found. Node with the same color don't
53 1a9eb17e Guido Trotter
share an edge, and as such don't have an instance with both primary and
54 1a9eb17e Guido Trotter
secondary node on them, so they are safe to be rebooted concurrently.
55 1a9eb17e Guido Trotter
56 3504d6c8 Guido Trotter
OPTIONS
57 3504d6c8 Guido Trotter
-------
58 3504d6c8 Guido Trotter
59 52278ef9 Klaus Aehlig
For a description of the standard options check **htools**\(7) and
60 52278ef9 Klaus Aehlig
**hbal**\(1).
61 52278ef9 Klaus Aehlig
62 52278ef9 Klaus Aehlig
\--force
63 52278ef9 Klaus Aehlig
  Do not fail, even if the master node cannot be determined.
64 52278ef9 Klaus Aehlig
65 3504d6c8 Guido Trotter
66 3504d6c8 Guido Trotter
BUGS
67 3504d6c8 Guido Trotter
----
68 3504d6c8 Guido Trotter
69 1a9eb17e Guido Trotter
Offline nodes should be ignored.
70 1a9eb17e Guido Trotter
71 1a9eb17e Guido Trotter
If instances are online the tool should refuse to do offline rolling
72 ba258c08 Benjamin Kerensa
maintenances, unless explicitly requested.
73 1a9eb17e Guido Trotter
74 1a9eb17e Guido Trotter
End-to-end shelltests should be provided.
75 1a9eb17e Guido Trotter
76 1a9eb17e Guido Trotter
Online rolling maintenances (where instance need not be shut down, but
77 1a9eb17e Guido Trotter
are migrated from node to node) are not supported yet. Hroller by design
78 1a9eb17e Guido Trotter
should support them both with and without secondary node replacement.
79 1a9eb17e Guido Trotter
80 1a9eb17e Guido Trotter
EXAMPLE
81 1a9eb17e Guido Trotter
-------
82 1a9eb17e Guido Trotter
83 1a9eb17e Guido Trotter
Offline Rolling node reboot output
84 1a9eb17e Guido Trotter
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
85 1a9eb17e Guido Trotter
86 1a9eb17e Guido Trotter
With the default options, the program shows one reboot group per line as
87 1a9eb17e Guido Trotter
a comma-separated list.
88 2c9fb8e2 Klaus Aehlig
::
89 1a9eb17e Guido Trotter
90 2c9fb8e2 Klaus Aehlig
    $ hroller -L
91 1a9eb17e Guido Trotter
    'Node Reboot Groups'
92 1a9eb17e Guido Trotter
    node1.example.com,node3.example.com,node5.example.com
93 1a9eb17e Guido Trotter
    node8.example.com,node6.example.com,node2.example.com
94 1a9eb17e Guido Trotter
    node7.example.com,node4.example.com
95 3504d6c8 Guido Trotter
96 3504d6c8 Guido Trotter
.. vim: set textwidth=72 :
97 3504d6c8 Guido Trotter
.. Local Variables:
98 3504d6c8 Guido Trotter
.. mode: rst
99 3504d6c8 Guido Trotter
.. fill-column: 72
100 3504d6c8 Guido Trotter
.. End: