X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/d0003b358d033dfff1cd30e023e91d0e2b10e75d..66d67ad47a008f32fbd8879d7fee133f0627937a:/hbal.1 diff --git a/hbal.1 b/hbal.1 index 2d98c95..04ce49d 100644 --- a/hbal.1 +++ b/hbal.1 @@ -7,8 +7,10 @@ hbal \- Cluster balancer for Ganeti .B "[-C]" .B "[-p]" .B "[-o]" +.B "[-v... | -q]" .BI "[-l" limit "]" .BI "[-O" name... "]" +.BI "[-e" score "]" .BI "[-m " cluster "]" .BI "[-n " nodes-file " ]" .BI "[-i " instances-file "]" @@ -245,28 +247,50 @@ node is offline, since this move requires a failover. these nodes will not be included in the score calculation (except for the percentage of instances on offline nodes) .RE +Note that hbal will also mark as offline any nodes which are reported +by RAPI as such, or that have "?" in file-based input in any numeric +fields. +.RE + +.TP +.BI "-e" score ", --min-score=" score +This parameter denotes the minimum score we are happy with and alters +the computation in two ways: +.RS +.RS 4 +.TP 3 +\(em +if the cluster has the initial score lower than this value, then we +don't enter the algorithm at all, and exit with success +.TP +\(em +during the iterative process, if we reach a score lower than this +value, we exit the algorithm +.RE +The default value of the parameter is currently \fI1e-9\fR (chosen +empirically). .RE .TP .BI "-n" nodefile ", --nodes=" nodefile The name of the file holding node information (if not collecting via -RAPI), instead of the default -.I nodes -file. +RAPI), instead of the default \fInodes\fR file (but see below how to +customize the default value via the environment). .TP .BI "-i" instancefile ", --instances=" instancefile The name of the file holding instance information (if not collecting -via RAPI), instead of the default -.I instances -file. +via RAPI), instead of the default \fIinstances\fR file (but see below +how to customize the default value via the environment). .TP .BI "-m" cluster Collect data not from files but directly from the .I cluster -given as an argument via RAPI. This work for both Ganeti 1.2 and -Ganeti 2.0. +given as an argument via RAPI. If the argument doesn't contain a colon +(:), then it is converted into a fully-built URL via prepending +https:// and appending the default RAPI port, otherwise it's +considered a fully-specified URL and is used as-is. .TP .BI "-l" N ", --max-length=" N @@ -277,7 +301,13 @@ automate the execution of the balancing. .B -v, --verbose Increase the output verbosity. Each usage of this option will increase the verbosity (currently more than 2 doesn't make sense) from the -default of zero. +default of one. + +.TP +.B -q, --quiet +Decrease the output verbosity. Each usage of this option will decrease +the verbosity (less than zero doesn't make sense) from the default of +one. .TP .B -V, --version @@ -288,6 +318,13 @@ Just show the program version and exit. The exist status of the command will be zero, unless for some reason the algorithm fatally failed (e.g. wrong node or instance data). +.SH ENVIRONMENT + +If the variables \fBHTOOLS_NODES\fR and \fBHTOOLS_INSTANCES\fR are +present in the environment, they will override the default names for +the nodes and instances files. These will have of course no effect +when RAPI is used. + .SH BUGS The program does not check its input data for consistency, and aborts @@ -295,9 +332,6 @@ with cryptic errors messages in this case. The algorithm is not perfect. -The algorithm doesn't deal with non-\fBdrbd\fR instances, and chokes -on input data which has such instances. - The output format is not easily scriptable, and the program should feed moves directly into Ganeti (either via RAPI or via a gnt-debug input file). @@ -483,3 +517,13 @@ list (but hopefully will end in the same state). .SH SEE ALSO .BR hn1 "(1), " hscan "(1), " ganeti "(7), " gnt-instance "(8), " .BR gnt-node "(8)" + +.SH "COPYRIGHT" +.PP +Copyright (C) 2009 Google Inc. Permission is granted to copy, +distribute and/or modify under the terms of the GNU General Public +License as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. +.PP +On Debian systems, the complete text of the GNU General Public License +can be found in /usr/share/common-licenses/GPL.