root / hail.1 @ 73b2e389
History | View | Annotate | Download (2.4 kB)
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\(hyfile containing current cluster |
18 |
state and the request details, and output (on stdout) a JSON\(hyformatted |
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\(hynode allocations (non\(hymirrored instances), again we |
31 |
select the node which, when chosen as the primary node, gives the best |
32 |
score. |
33 |
|
34 |
For dual\(hynode allocations (mirrored instances), we chose the best |
35 |
pair; this is the only choice where the algoritm is non\(hytrivial |
36 |
with regard to cluster size. |
37 |
|
38 |
For all choices, the cluster scoring is identical to the hbal |
39 |
algorithm. |
40 |
|
41 |
.SH CONFIGURATION |
42 |
|
43 |
For the tag-exclusion configuration (see the manpage of hbal for more |
44 |
details), the list of which instance tags to consider as exclusion |
45 |
tags will be read from the cluster tags, configured as follows: |
46 |
|
47 |
- get all cluster tags starting with \fBhtools:iextags:\fR |
48 |
|
49 |
- use their suffix as the prefix for exclusion tags |
50 |
|
51 |
For example, given a cluster tag like \fBhtools:iextags:service\fR, |
52 |
all instance tags of the form \fBservice:X\fR will be confidered as |
53 |
exclusion tags, meaning that (e.g.) two instances which both have a |
54 |
tag \fBservice:foo\fR will not be placed on the same primary node. |
55 |
|
56 |
.SH EXIT STATUS |
57 |
|
58 |
The exist status of the command will be zero, unless for some reason |
59 |
the algorithm fatally failed (e.g. wrong node or instance data). |
60 |
|
61 |
.SH SEE ALSO |
62 |
.BR hbal "(1), " hspace "(1), " hscan "(1), " ganeti "(7), " |
63 |
.BR gnt-instance "(8), " gnt-node "(8)" |
64 |
|
65 |
.SH "COPYRIGHT" |
66 |
.PP |
67 |
Copyright (C) 2009 Google Inc. Permission is granted to copy, |
68 |
distribute and/or modify under the terms of the GNU General Public |
69 |
License as published by the Free Software Foundation; either version 2 |
70 |
of the License, or (at your option) any later version. |
71 |
.PP |
72 |
On Debian systems, the complete text of the GNU General Public License |
73 |
can be found in /usr/share/common-licenses/GPL. |