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: |