Provided by: ganeti-2.16_2.16.0~rc2-1build1_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-name}

       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-name...] {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.

   TEST_OSPARAMS
       test-osparams {--os-parameters-secret param=*value*...  }

       Tests secret os parameter transmission.

   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 job-id

       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.