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