Provided by: ganeti-2.15_2.15.2-15_all bug

Name

       gnt-debug - Debug commands

Synopsis

       gnt-debug {command} [arguments...]

DESCRIPTION

       The gnt-debug is used for debugging the Ganeti system.

COMMANDS

   IALLOCATOR
       iallocator  [--debug]  [--dir  DIRECTION]  {--algorithm  ALLOCATOR  } [--mode MODE] [--mem
       MEMORY] [--disks DISKS] [--disk-template TEMPLATE] [--nics NICS] [--os-type  OS]  [--vcpus
       VCPUS] [--tags TAGS] {instance}

       Executes a test run of the iallocator framework.

       The  command  will  build  input for a given iallocator script (named with the --algorithm
       option), and either show this input data (if DIRECTION is in) or run the iallocator script
       and show its output (if DIRECTION is out).

       If the MODE is allocate, then an instance definition is built from the other arguments and
       sent to the script, otherwise (MODE is relocate) an existing instance name must be  passed
       as the first argument.

       This  build  of  Ganeti  will  look  for  iallocator scripts in the following directories:
       /usr/local/lib/ganeti/iallocators,/usr/lib/ganeti/iallocators; for more details about this
       framework, see the HTML or PDF documentation.

   DELAY
       delay [--debug] [--no-master] [--interruptible] [-n NODE...] {duration}

       Run  a  test opcode (a sleep) on the master and on selected nodes (via an RPC call).  This
       serves no other purpose but to execute a test operation.

       The -n option can be given multiple times to select  the  nodes  for  the  RPC  call.   By
       default,  the  delay will also be executed on the master, unless the --no-master option is
       passed.

       The  --interruptible  option  allows  a  running  delay  opcode  to  be   interrupted   by
       communicating  with a special domain socket.  If any data is sent to the socket, the delay
       opcode terminates.  If this option is used, no RPCs are performed,  but  locks  are  still
       acquired.

       The delay argument will be interpreted as a floating point number.

   SUBMIT-JOB
       submit-job   [--verbose]   [--timing-stats]  [--job-repeat  N]  [--op-repeat  N]  [--each]
       {opcodes_file...}

       This command builds a list of opcodes from files in JSON format and submits a job per file
       to  the  master daemon.  It can be used to test options that are not available via command
       line.

       The verbose option will additionally display the corresponding job IDs and the progress in
       waiting  for  the jobs; the timing-stats option will show some overall statistics inluding
       the number of total opcodes, jobs submitted and time spent in each  stage  (submit,  exec,
       total).

       The  job-repeat  and  op-repeat  options  allow  to  submit  multiple copies of the passed
       arguments; job-repeat will cause N copies  of  each  job  (input  file)  to  be  submitted
       (equivalent  to passing the arguments N times) while op-repeat will cause N copies of each
       of the opcodes in the file to be executed (equivalent to each file containing N copies  of
       the opcodes).

       The  each  option  allow  to  submit  each job separately (using N SubmitJob LUXI requests
       instead of one SubmitManyJobs request).

   TEST-JOBQUEUE
       test-jobqueue

       Executes a few  tests  on  the  job  queue.   This  command  might  generate  failed  jobs
       deliberately.

   LOCKS
       locks [--no-headers] [--separator=*SEPARATOR*] [-v]
       [-o [+]FIELD,...] [--interval=*SECONDS*]

       Shows a list of locks in the master daemon.

       The  --no-headers  option will skip the initial header line.  The --separator option takes
       an argument which denotes what will be used between the output fields.  Both these options
       are to help scripting.

       The  -v  option  activates verbose mode, which changes the display of special field states
       (see ganeti(7)).

       The -o option takes a comma-separated list of output fields.   The  available  fields  and
       their meaning are:

       mode   Mode in which the lock is currently acquired (exclusive or shared)

       name   Lock name

       owner  Current lock owner(s)

       pending
              Threads waiting for the lock

       If  the  value  of the option starts with the character +, the new fields will be added to
       the default list.  This allows one to quickly see  the  default  list  plus  a  few  other
       fields, instead of retyping the entire list of fields.

       Use --interval to repeat the listing.  A delay specified by the option value in seconds is
       inserted.

   METAD
       metad echo text

       Tests the WConf daemon by invoking its echo function.

       A given text is sent to Metad through RPC,  echoed  back  by  Metad  and  printed  to  the
       console.

   WCONFD
       wconfd echo text

       Tests the WConf daemon by invoking its echo function.

       A  given  text  is  sent  to  WConfd through RPC, echoed back by WConfd and printed to the
       console.

       wconfd cleanuplocks

       A request to clean up all stale locks is sent to WConfd.

       wconfd listlocks jid

       A request to list the locks owned by the given job id is sent to WConfd and the answer  is
       displayed.

       wconfd listalllocks

       A  request  to  list  all  locks in use, directly or indirectly, is sent to WConfd and the
       answer is displayed.

       wconfd listalllocks

       A request to list all locks in use, directly or indirectly, together with their respective
       direct owners is sent to WConfd and the answer is displayed.

       wconfd flushconfig

       A request to ensure that the configuration is fully distributed to the master candidates.

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.