Statistics
| Branch: | Tag: | Revision:

root / hail.1 @ e4d31268

History | View | Annotate | Download (2.4 kB)

1 c6702e5e Iustin Pop
.TH HAIL 1 2009-03-23 htools "Ganeti H-tools"
2 c6702e5e Iustin Pop
.SH NAME
3 c6702e5e Iustin Pop
hail \- Ganeti IAllocator plugin
4 c6702e5e Iustin Pop
5 c6702e5e Iustin Pop
.SH SYNOPSIS
6 c6702e5e Iustin Pop
.B hail
7 c6702e5e Iustin Pop
.I "input-file"
8 c6702e5e Iustin Pop
9 c6702e5e Iustin Pop
.B hail
10 c6702e5e Iustin Pop
.B --version
11 c6702e5e Iustin Pop
12 c6702e5e Iustin Pop
.SH DESCRIPTION
13 c6702e5e Iustin Pop
hail is a Ganeti IAllocator plugin that allows automatic instance
14 c6702e5e Iustin Pop
placement and automatic instance secondary node replacement using the
15 c6702e5e Iustin Pop
same algorithm as \fBhbal\fR(1).
16 c6702e5e Iustin Pop
17 1cd133d6 Iustin Pop
The program takes input via a JSON\(hyfile containing current cluster
18 1cd133d6 Iustin Pop
state and the request details, and output (on stdout) a JSON\(hyformatted
19 c6702e5e Iustin Pop
response. In case of critical failures, the error message is printed
20 c6702e5e Iustin Pop
on stderr and the exit code is changed to show failure.
21 c6702e5e Iustin Pop
22 c6702e5e Iustin Pop
.SS ALGORITHM
23 c6702e5e Iustin Pop
24 c6702e5e Iustin Pop
The program uses a simplified version of the hbal algorithm.
25 c6702e5e Iustin Pop
26 c6702e5e Iustin Pop
For relocations, we try to change the secondary node of the instance
27 c6702e5e Iustin Pop
to all the valid other nodes; the node which results in the best
28 c6702e5e Iustin Pop
cluster score is chosen.
29 c6702e5e Iustin Pop
30 1cd133d6 Iustin Pop
For single\(hynode allocations (non\(hymirrored instances), again we
31 1cd133d6 Iustin Pop
select the node which, when chosen as the primary node, gives the best
32 1cd133d6 Iustin Pop
score.
33 c6702e5e Iustin Pop
34 1cd133d6 Iustin Pop
For dual\(hynode allocations (mirrored instances), we chose the best
35 1cd133d6 Iustin Pop
pair; this is the only choice where the algoritm is non\(hytrivial
36 c6702e5e Iustin Pop
with regard to cluster size.
37 c6702e5e Iustin Pop
38 c6702e5e Iustin Pop
For all choices, the cluster scoring is identical to the hbal
39 c6702e5e Iustin Pop
algorithm.
40 c6702e5e Iustin Pop
41 73b2e389 Iustin Pop
.SH CONFIGURATION
42 73b2e389 Iustin Pop
43 73b2e389 Iustin Pop
For the tag-exclusion configuration (see the manpage of hbal for more
44 73b2e389 Iustin Pop
details), the list of which instance tags to consider as exclusion
45 73b2e389 Iustin Pop
tags will be read from the cluster tags, configured as follows:
46 73b2e389 Iustin Pop
47 73b2e389 Iustin Pop
- get all cluster tags starting with \fBhtools:iextags:\fR
48 73b2e389 Iustin Pop
49 73b2e389 Iustin Pop
- use their suffix as the prefix for exclusion tags
50 73b2e389 Iustin Pop
51 73b2e389 Iustin Pop
For example, given a cluster tag like \fBhtools:iextags:service\fR,
52 73b2e389 Iustin Pop
all instance tags of the form \fBservice:X\fR will be confidered as
53 73b2e389 Iustin Pop
exclusion tags, meaning that (e.g.) two instances which both have a
54 73b2e389 Iustin Pop
tag \fBservice:foo\fR will not be placed on the same primary node.
55 73b2e389 Iustin Pop
56 c6702e5e Iustin Pop
.SH EXIT STATUS
57 c6702e5e Iustin Pop
58 c6702e5e Iustin Pop
The exist status of the command will be zero, unless for some reason
59 c6702e5e Iustin Pop
the algorithm fatally failed (e.g. wrong node or instance data).
60 c6702e5e Iustin Pop
61 c6702e5e Iustin Pop
.SH SEE ALSO
62 266aea94 Iustin Pop
.BR hbal "(1), " hspace "(1), " hscan "(1), " ganeti "(7), "
63 266aea94 Iustin Pop
.BR gnt-instance "(8), " gnt-node "(8)"
64 e2fa2baf Iustin Pop
65 e2fa2baf Iustin Pop
.SH "COPYRIGHT"
66 e2fa2baf Iustin Pop
.PP
67 e2fa2baf Iustin Pop
Copyright (C) 2009 Google Inc. Permission is granted to copy,
68 e2fa2baf Iustin Pop
distribute and/or modify under the terms of the GNU General Public
69 e2fa2baf Iustin Pop
License as published by the Free Software Foundation; either version 2
70 e2fa2baf Iustin Pop
of the License, or (at your option) any later version.
71 e2fa2baf Iustin Pop
.PP
72 e2fa2baf Iustin Pop
On Debian systems, the complete text of the GNU General Public License
73 e2fa2baf Iustin Pop
can be found in /usr/share/common-licenses/GPL.