|
1 |
.TH HAIL 1 2009-03-23 htools "Ganeti H-tools"
|
|
2 |
.SH NAME
|
|
3 |
hail \- Ganeti IAllocator plugin
|
|
4 |
|
|
5 |
.SH SYNOPSIS
|
|
6 |
.B hail
|
|
7 |
.I "input-file"
|
|
8 |
|
|
9 |
.B hail
|
|
10 |
.B --version
|
|
11 |
|
|
12 |
.SH DESCRIPTION
|
|
13 |
hail is a Ganeti IAllocator plugin that allows automatic instance
|
|
14 |
placement and automatic instance secondary node replacement using the
|
|
15 |
same algorithm as \fBhbal\fR(1).
|
|
16 |
|
|
17 |
The program takes input via a JSON-file containing current cluster
|
|
18 |
state and the request details, and output (on stdout) a JSON-formatted
|
|
19 |
response. In case of critical failures, the error message is printed
|
|
20 |
on stderr and the exit code is changed to show failure.
|
|
21 |
|
|
22 |
.SS ALGORITHM
|
|
23 |
|
|
24 |
The program uses a simplified version of the hbal algorithm.
|
|
25 |
|
|
26 |
For relocations, we try to change the secondary node of the instance
|
|
27 |
to all the valid other nodes; the node which results in the best
|
|
28 |
cluster score is chosen.
|
|
29 |
|
|
30 |
For single-node allocations (non-mirrored instances), again we select
|
|
31 |
the node which, when chosen as the primary node, gives the best score.
|
|
32 |
|
|
33 |
For dual-node allocations (mirrored instances), we chose the best
|
|
34 |
pair; this is the only choice where the algoritm is non-trivial
|
|
35 |
with regard to cluster size.
|
|
36 |
|
|
37 |
For all choices, the cluster scoring is identical to the hbal
|
|
38 |
algorithm.
|
|
39 |
|
|
40 |
.SH EXIT STATUS
|
|
41 |
|
|
42 |
The exist status of the command will be zero, unless for some reason
|
|
43 |
the algorithm fatally failed (e.g. wrong node or instance data).
|
|
44 |
|
|
45 |
.SH SEE ALSO
|
|
46 |
.BR hn1 "(1), " hscan "(1), " ganeti "(7), " gnt-instance "(8), "
|
|
47 |
.BR gnt-node "(8)"
|