Provided by: ganeti-2.16_2.16.0~rc2-1build1_all bug

NAME

       ganeti-listrunner - Run commands in parallel over multiple machines

SYNOPSIS

       ganeti-listrunner -l logdir {-x executable | -c shell-cmd} {-f hostfile | -h hostlist} [-a
       aux-file] [-b batch-size] [-u username] [-A]

DESCRIPTION

       ganeti-listrunner is a tool to run  commands  in  parallel  over  multiple  machines.   It
       differs  from  dsh  or  other  tools  in  that it asks for the password once (if not using
       ssh-agent) and then reuses the password to connect to  all  machines,  thus  being  easily
       usable even when public key authentication or Kerberos authentication is not available.

       It  can  run  either  a  command  or a script (which gets uploaded first and deleted after
       execution) on a list of hosts provided either via a file (one  host  per  line)  or  as  a
       comma-separated list on the commandline.  The output (stdout and stderr are merged) of the
       remote execution is written to a logfile.  One logfile per host is written.

OPTIONS

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

       -l logdir
              The directory under which the logfiles files should be written.

       -x executable
              The executable to copy and run on the target hosts.

       -c shell-cmd
              The shell command to run on the remote hosts.

       -f hostfile
              The file with the target hosts, one hostname per line.

       -h hostlist
              Comma-separated list of target hosts.

       -a aux-file
              A file to copy to the target hosts.  Can be given multiple times, in which case all
              files  will  be  copied  to  the  temporary directory.  The executable or the shell
              command will be run from the (temporary) directory  where  these  files  have  been
              copied.

       -b batch-size
              The  host  list will be split into batches of batch-size which will be processed in
              parallel.  The default if 15, and should  be  increased  if  faster  processing  is
              needed.

       -u username
              Username to connect as instead of the default root username.

       -A     Use an existing ssh-agent instead of password authentication.

       --args Arguments to pass to executable (-x).

EXIT STATUS

       The  exist  status  of  the  command will be zero, unless it was aborted in some way (e.g.
       ^C).

EXAMPLE

       Run a command on a list of hosts:

              listrunner -l logdir -c "uname -a" -h host1,host2,host3

       Upload a script, some auxiliary files and run the script:

              listrunner -l logdir -x runme.sh \
                -a seed.dat -a golden.dat \
                -h host1,host2,host3

SEE ALSO

       dsh(1), cssh(1)

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.