root / man / hroller.rst @ 4edaf707
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 | f8ff4aa2 | Martin Zobel-Helas | check **htools**\(1) 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: |