bionic (8) ganeti-listrunner.8.gz

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