Statistics
| Branch: | Tag: | Revision:

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.