Provided by: ganeti-htools-3.0_3.0.2-1ubuntu1_amd64 bug

NAME

       hsqueeze - Dynamic power management

SYNOPSIS

       hsqueeze {backend options...} [algorithm options...]  [reporting options...]

       hsqueeze --version

       Backend options:

       { -L[ path ] [-X]** | -t data-file }

       Algorithm options:

       [ --minimal-resources=*factor* ] [ --target-resources=*factor* ]

       Reporting options:

       [ -S *file* ] [ -C[*file*] ]

DESCRIPTION

       hsqueeze  does  dynamic power management, by powering up or shutting down nodes, depending on the current
       load of the cluster.  Currently, only suggesting nodes is implemented.

   ALGORITHM
       hsqueeze considers all online non-master nodes with only externally mirrored instances as candidates  for
       being  taken  offline.   These nodes are iteratively, starting from the node with the least number of in‐
       stances, added to the set of nodes to be put offline, if possible.  A set of nodes is considered as suit‐
       able for being taken offline, if, after marking these nodes as offline, balancing the cluster by the  al‐
       gorithm used by hbal(1) yields a situation where all instances are located on online nodes, and each node
       has at least the target resources free for new instances.

       All  offline  nodes with a tag starting with htools:standby are considered candidates for being taken on‐
       line.  Those nodes are taken online till balancing the cluster by the algorithm used by hbal(1) yields  a
       situation where each node has at least the minimal resources free for new instances.

OPTIONS

       -L [path]
              Backend  specification: collect data directly from the master daemon, which is to be contacted via
              LUXI (an internal Ganeti protocol).  The option is described in the man page htools(1).

       -X     When using the Luxi backend, hsqueeze can also execute the given commands.

              The execution of the job series can be interrupted, see below for signal handling.

       -S filename, --save-cluster=*filename*
              If given, the state of the cluster before the squeezing is saved to the given file plus the exten‐
              sion "original" (i.e.  filename.original), and the state at the end of the squeezing operation  is
              saved to the given file plus the extension "squeezed" (i.e.  filename.squeezed).

       -C[filename], --print-commands[=*filename*]
              If  given, a shell script containing the commands to squeeze or unsqueeze the cluster are saved in
              a file with the given name; if no name is provided, they are printed to stdout.

       -t datafile, --text-data=*datafile*
              Backend specification: the name of the file holding node and instance information (if not collect‐
              ing LUXI).  This or one of the other backends must be selected.  The option is  described  in  the
              man page htools(1).

       --minimal-resources=*factor*
              Specify  the amount of resources to be free on each node for hsqueeze not to consider onlining ad‐
              ditional nodes.  The value is reported a multiple of the standard instance specification, as taken
              from the instance policy.

       --target-resources=*factor*
              Specify the amount of resources to remain free on any node after squeezing.  The value is reported
              a multiple of the standard instance specification, as taken from the instance policy.

REPORTING BUGS

       Report bugs to the project's issue tracker (https://github.com/ganeti/ganeti/issues) or contact  the  de‐
       velopers using the Ganeti mailing list.

SEE ALSO

       Ganeti overview and specifications: ganeti(7) (general overview), ganeti-os-interface(7) (guest OS defin‐
       itions), ganeti-extstorage-interface(7) (external storage providers).

       Ganeti  commands:  gnt-cluster(8) (cluster-wide commands), gnt-job(8) (job-related commands), gnt-node(8)
       (node-related commands), gnt-instance(8) (instance commands), gnt-os(8) (guest  OS  commands),  gnt-stor‐
       age(8) (storage commands), gnt-group(8) (node group commands), gnt-backup(8) (instance import/export com‐
       mands), gnt-debug(8) (debug commands).

       Ganeti  daemons: ganeti-watcher(8) (automatic instance restarter), ganeti-cleaner(8) (job queue cleaner),
       ganeti-noded(8) (node daemon), ganeti-rapi(8) (remote API daemon).

       Ganeti htools: htools(1) (generic binary), hbal(1) (cluster balancer), hspace(1) (capacity  calculation),
       hail(1) (IAllocator plugin), hscan(1) (data gatherer from remote clusters), hinfo(1) (cluster information
       printer), mon-collector(7) (data collectors interface).

COPYRIGHT

       Copyright (C) 2006-2015 Google Inc.  All rights reserved.

       Redistribution  and  use in source and binary forms, with or without modification, are permitted provided
       that the following conditions are met:

       1.  Redistributions of source code must retain the above copyright notice, this list  of  conditions  and
       the following disclaimer.

       2.  Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
       the following disclaimer in the documentation and/or other materials provided with the distribution.

       THIS  SOFTWARE  IS  PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
       WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND  FITNESS  FOR  A
       PARTICULAR  PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
       ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMIT‐
       ED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS  INTERRUP‐
       TION)  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (IN‐
       CLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF  ADVISED  OF
       THE POSSIBILITY OF SUCH DAMAGE.

Ganeti                                                                                               HSQUEEZE(1)