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.

.. vim: set textwidth=72 :
.. Local Variables:
.. mode: rst
.. fill-column: 72
.. End:
