Provided by: ganeti-htools-2.15_2.15.2-3_amd64 bug

NAME

       harep - Ganeti auto-repair tool

SYNOPSIS

       harep [ [-L | --luxi ] = socket ] [ --job-delay = seconds ]

       harep --version

DESCRIPTION

       Harep is the Ganeti auto-repair tool.  It is able to detect that an instance is broken and
       to generate a sequence of jobs that will fix it, in accordance to the policies set by  the
       administrator.

       Harep is able to recognize what state an instance is in (healthy, suspended, needs repair,
       repair disallowed, pending repair, repair failed) and to lead it  through  a  sequence  of
       steps  that will bring the instance back to the healthy state.  Therefore, harep is mainly
       meant to be run regularly and frequently using a cron job, so that it can actually  follow
       the  instance  along all the process.  At every run, harep will update the tags it adds to
       instances that describe its repair status, and will submit jobs that actually perform  the
       required repair operations.

       By  default, harep only reports on the health status of instances, but doesn't perform any
       action, as they  might  be  potentially  dangerous.   Therefore,  harep  will  only  touch
       instances that it has been explicitly authorized to work on.

       The  tags  enabling  harep, can be associated to single instances, or to a nodegroup or to
       the whole cluster, therefore affecting all the instances they contain.  The possible  tags
       share the common structure:

              ganeti:watcher:autorepair:<type>

       where <type> can have the following values:

       • fix-storage:  allow  disk  replacement or fix the backend without affecting the instance
         itself (broken DRBD secondary)

       • migrate: allow instance migration

       • failover: allow instance reboot on the secondary

       • reinstall: allow disks to be recreated and the instance to be reinstalled

       Each element in the list of tags, includes all the authorizations  of  the  previous  one,
       with fix-storage being the least powerful and reinstall being the most powerful.

       In  case  multiple  autorepair  tags  act  on  the same instance, only one can actually be
       active.  The conflict is solved according to the following rules:

       1. if multiple tags are in the same object, the least destructive takes precedence.

       2. if the tags are across objects, the nearest tag wins.

       Example: A cluster has instances I1 and I2, where I1 has the failover tag, and the cluster
       has  both  fix-storage and reinstall.  The I1 instance will be allowed to failover, the I2
       instance only to fix-storage.

LIMITATIONS

       Harep doesn't do any hardware failure detection on its  own,  it  relies  on  nodes  being
       marked as offline by the administrator.

       Also harep currently works only for instances with the drbd and plain disk templates.

       Both these issues will be addressed by a new maintenance daemon in future Ganeti versions,
       which will supersede harep.

OPTIONS

       The options that can be passed to the program are as follows:

       -L socket, --luxi=*socket*
              collect data via Luxi, optionally using the given socket path.

       --job-delay=*seconds*
              insert this much delay before the execution of repair jobs to  allow  the  tool  to
              continue processing instances.

REPORTING BUGS

       Report   bugs   to  project  website  (http://code.google.com/p/ganeti/)  or  contact  the
       developers using the Ganeti mailing list (ganeti@googlegroups.com).

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).

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 LIMITED TO, PROCUREMENT
       OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS  INTERRUPTION)
       HOWEVER  CAUSED  AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
       TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN  ANY  WAY  OUT  OF  THE  USE  OF  THIS
       SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.