logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

hsqueeze - Dynamic power management

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
       instances, added to the set of nodes to be put offline, if possible.  A set of  nodes  is  considered  as
       suitable  for being taken offline, if, after marking these nodes as offline, balancing the cluster by the
       algorithm 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
       online.  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.

Name

       hsqueeze - Dynamic power management

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
              extension  "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
              collecting 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
              additional  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 or contact the developers using the Ganeti mailing list.

See Also

       Ganeti overview and  specifications:  ganeti(7)  (general  overview),  ganeti-os-interface(7)  (guest  OS
       definitions), 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-storage(8)   (storage   commands),   gnt-group(8)  (node  group  commands),  gnt-backup(8)  (instance
       import/export commands), 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).

Synopsis

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

       hsqueeze --version

       Backend options:

       { -L[path] [-X]** | -tdata-file }

       Algorithm options:

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

       Reporting options:

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

See Also