docs: added a table of contents to the first 11 docs files

There are a 58 docs files, so adding an autogenerated Table Of
Contents to them all will take some time.  This is the first
piece of the work done.
This commit is contained in:
Justin Clift 2010-10-24 08:46:32 +11:00
parent 37302c13d1
commit 1354b603ae
11 changed files with 115 additions and 105 deletions

View File

@ -5,20 +5,9 @@
<p> This page describes the main principles and architecture choices
behind the definition of the libvirt API:
<ul>
<li>
<a href="#Objects">Objects exposed</a>
</li>
<li>
<a href="#Functions">Functions and naming conventions</a>
</li>
<li>
<a href="#Driver">The drivers</a>
</li>
<li>
<a href="#Remote">Daemon and remote access</a>
</li>
</ul>
<ul id="toc"></ul>
<h2><a name="Objects">Objects exposed</a></h2>
<p> As defined in the <a href="goals.html">goals section</a>, libvirt
API need to expose all the resources needed to manage the virtualization

View File

@ -4,19 +4,26 @@
<p>
This page provides an illustration of the wide variety of
applications using the libvirt management API. If you know
of interesting applications not listed on this page, send
a message to the <a href="contact.html">mailing list</a>
to request that it be added here. If your application uses
libvirt as its API, the following graphic is available for
your website to advertise support for libvirt:
applications using the libvirt management API.
</p>
<ul id="toc"></ul>
<h2><a name="add">Add an application</a></h2>
<p>
To add an application not listed on this page, send a message
to the <a href="contact.html">mailing list</a>, requesting it
be added here. If your application uses libvirt as its API,
the following graphic is available for your website to advertise
support for libvirt:
</p>
<p class="image">
<img src="madeWith.png" alt="Made with libvirt"/>
</p>
<h2>Command line tools</h2>
<h2><a name="command">Command line tools</a></h2>
<dl>
<dt>virsh</dt>
@ -60,7 +67,7 @@
</dd>
</dl>
<h2>Desktop applications</h2>
<h2><a name="desktop">Desktop applications</a></h2>
<dl>
<dt><a href="http://virt-manager.org/">virt-manager</a></dt>
@ -79,7 +86,7 @@
</dd>
</dl>
<h2>Web applications</h2>
<h2><a name="web">Web applications</a></h2>
<dl>
<dt><a href="http://ovirt.org/">oVirt</a></dt>
@ -99,7 +106,7 @@
</dd>
</dl>
<h2>LiveCD / Appliances</h2>
<h2><a name="livecd">LiveCD / Appliances</a></h2>
<dl>
<dt><a href="http://et.redhat.com/~rjones/virt-p2v/">virt-p2v</a></dt>
@ -111,7 +118,7 @@
</dd>
</dl>
<h2>Monitoring plugins</h2>
<h2><a name="monitoring">Monitoring plugins</a></h2>
<dl>
<dt><a href="http://honk.sigxcpu.org/projects/libvirt/#munin">for munin</a></dt>
<dd>

View File

@ -1,23 +1,19 @@
<?xml version="1.0"?>
<html>
<body>
<h1 >libvirt architecture</h1>
<p>Currently libvirt supports 2 kind of virtualization, and its
internal structure is based on a driver model which simplifies adding new
engines:</p>
<ul>
<li>
<a href="#Xen">Xen hypervisor</a>
</li>
<li>
<a href="#QEmu">QEmu and KVM based virtualization</a>
</li>
<li>
<a href="#drivers">the driver architecture</a>
</li>
</ul>
<h3>
<a name="Xen">Libvirt Xen support</a>
</h3>
<p>
Currently libvirt supports 2 kind of virtualization, and its
internal structure is based on a driver model which simplifies
adding new
engines:
</p>
<ul id="toc"></ul>
<h2><a name="Xen">Xen support</a></h2>
<p>When running in a Xen environment, programs using libvirt have to execute
in "Domain 0", which is the primary Linux OS loaded on the machine. That OS
kernel provides most if not all of the actual drivers used by the set of
@ -48,9 +44,9 @@ privilege access).</p>
connect to initialize the library. It will then fork a libvirt_proxy
program running as root and providing read_only access to the API, this is
then only useful for reporting and monitoring.</p>
<h3>
<a name="QEmu">Libvirt QEmu and KVM support</a>
</h3>
<h2><a name="QEmu">QEmu and KVM support</a></h2>
<p>The model for QEmu and KVM is completely similar, basically KVM is based
on QEmu for the process controlling a new domain, only small details differs
between the two. In both case the libvirt API is provided by a controlling
@ -62,9 +58,9 @@ emulations models of QEmu, the selection is done when creating the new
domain, by specifying the architecture and machine type targeted.</p>
<p>The code controlling the QEmu process is available in the
<code>qemud/</code> directory.</p>
<h3>
<a name="drivers">the driver based architecture</a>
</h3>
<h2><a name="drivers">Driver based architecture</a></h2>
<p>As the previous section explains, libvirt can communicate using different
channels with the current hypervisor, and should also be able to use
different kind of hypervisor. To simplify the internal design, code, ease

View File

@ -1,8 +1,11 @@
<?xml version="1.0"?>
<html>
<body>
<h1>Network management architecture</h1>
<h2>Architecture illustration</h2>
<ul id="toc"></ul>
<h2><a name="architecture">Architecture illustration</a></h2>
<p>
The diagrams below illustrate some of the network configurations
@ -34,13 +37,13 @@
</li>
</ul>
<h3>Logical diagram</h3>
<h3><a name="logical">Logical diagram</a></h3>
<p class="image">
<img src="libvirt-net-logical.png" alt="Logical network architecture"/>
</p>
<h3>Physical diagram</h3>
<h3><a name="physical">Physical diagram</a></h3>
<p class="image">
<img src="libvirt-net-physical.png" alt="Physical network architecture"/>

View File

@ -1,30 +1,17 @@
<?xml version="1.0"?>
<html>
<body>
<h1 >Access control</h1>
<p>
When connecting to libvirt, some connections may require client
authentication before allowing use of the APIs. The set of possible
authentication mechanisms is administrator controlled, independent
of applications using libvirt.
</p>
<ul>
<li>
<a href="#ACL_server_config">Server configuration</a>
</li>
<li>
<a href="#ACL_server_unix_perms">UNIX socket permissions/group</a>
</li>
<li>
<a href="#ACL_server_polkit">UNIX socket PolicyKit auth</a>
</li>
<li>
<a href="#ACL_server_username">Username/password auth</a>
</li>
<li>
<a href="#ACL_server_kerberos">Kerberos auth</a>
</li>
</ul>
<h3><a name="ACL_server_config">Server configuration</a></h3>
When connecting to libvirt, some connections may require client
authentication before allowing use of the APIs. The set of possible
authentication mechanisms is administrator controlled, independent
of applications using libvirt.
</p>
<ul id="toc"></ul>
<h2><a name="ACL_server_config">Server configuration</a></h2>
<p>
The libvirt daemon allows the administrator to choose the authentication
mechanisms used for client connections on each network socket independently.
@ -35,7 +22,7 @@ currently a choice of <code>none</code>, <code>polkit</code>, and <code>sasl</co
The SASL scheme can be further configured to choose between a large
number of different mechanisms.
</p>
<h3><a name="ACL_server_unix_perms">UNIX socket permissions/group</a></h3>
<h2><a name="ACL_server_unix_perms">UNIX socket permissions/group</a></h2>
<p>
If libvirt does not contain support for PolicyKit, then access control for
the UNIX domain socket is done using traditional file user/group ownership
@ -52,7 +39,7 @@ parameter. For example, setting the former to mode <code>0770</code> and the
latter <code>wheel</code> would let any user in the wheel group connect to
the libvirt daemon.
</p>
<h3><a name="ACL_server_polkit">UNIX socket PolicyKit auth</a></h3>
<h2><a name="ACL_server_polkit">UNIX socket PolicyKit auth</a></h2>
<p>
If libvirt contains support for PolicyKit, then access control options are
more advanced. The <code>unix_sock_auth</code> parameter will default to
@ -86,7 +73,7 @@ ResultActive=yes</pre>
Further examples of PolicyKit setup can be found on the
<a href="http://wiki.libvirt.org/page/SSHPolicyKitSetup">wiki page</a>.
</p>
<h3><a name="ACL_server_username">Username/password auth</a></h3>
<h2><a name="ACL_server_username">Username/password auth</a></h2>
<p>
The plain TCP socket of the libvirt daemon defaults to using SASL for authentication.
The SASL mechanism configured by default is DIGEST-MD5, which provides a basic
@ -123,7 +110,7 @@ again:
<pre>
# saslpasswd2 -a libvirt -d fred
</pre>
<h3><a name="ACL_server_kerberos">Kerberos auth</a></h3>
<h2><a name="ACL_server_kerberos">Kerberos auth</a></h2>
<p>
The plain TCP socket of the libvirt daemon defaults to using SASL for authentication.
The SASL mechanism configured by default is DIGEST-MD5, which provides a basic

View File

@ -4,14 +4,18 @@
<h1>Bug reporting</h1>
<ul id="toc"></ul>
<h2><a name="bugzilla">Bug Tracking</a></h2>
<p>
The <a href="http://bugzilla.redhat.com">Red Hat Bugzilla Server</a>
should be used to report bugs and request features against libvirt.
should be used to report bugs and request features in libvirt.
Before submitting a ticket, check the existing tickets to see if
the bug/feature is already tracked.
</p>
<h2>General libvirt bug reports</h2>
<h2><a name="general">General libvirt bug reports</a></h2>
<p>
If you are using official libvirt binaries from a Linux distribution
@ -27,7 +31,7 @@
<li><a href="http://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Virtualization%20Tools&amp;component=libvirt">New libvirt ticket</a></li>
</ul>
<h2>Linux Distribution specific bug reports</h2>
<h2><a name="distribution">Linux Distribution specific bug reports</a></h2>
<ul>
<li>
If you are using official binaries from a <strong>Fedora distribution</strong>, enter
@ -54,7 +58,7 @@
</ul>
<h2>How to file high quality bug reports</h2>
<h2><a name="quality">How to file high quality bug reports</a></h2>
<p>
To increase the likelihood of your bug report being addressed it is

View File

@ -3,7 +3,9 @@
<body>
<h1>Contacting the development team</h1>
<h2>Mailing lists</h2>
<ul id="toc"></ul>
<h2><a name="email">Mailing lists</a></h2>
<p>
There are two mailing-lists:
@ -45,7 +47,7 @@
clone.
</p>
<h2>IRC discussion</h2>
<h2><a name="irc">IRC discussion</a></h2>
<p>
Some of the libvirt developers may be found on IRC on the <a href="http://oftc.net">OFTC IRC</a>

View File

@ -2,16 +2,18 @@
<body>
<h1>Deployment</h1>
<h2>Pre-packaged releases</h2>
<ul id="toc"></ul>
<h2><a name="packages">Pre-packaged releases</a></h2>
<p>
The libvirt API is now available in all major Linux distributions
The libvirt API is now available in all major Linux distributions,
so the simplest deployment approach is to use your distributions'
package management software to install the <code>libvirt</code>
module.
</p>
<h2>Self-built releases</h2>
<h2><a name="tarball">Self-built releases</a></h2>
<p>
libvirt uses GNU autotools for its build system, so deployment
@ -25,7 +27,7 @@
# make install
</pre>
<h2>Built from GIT</h2>
<h2><a name="git">Built from GIT</a></h2>
<p>
When building from GIT it is necessary to generate the autotools

View File

@ -3,6 +3,8 @@
<body>
<h1>libvirt Application Development Guide</h1>
<ul id="toc"></ul>
<p>
The guide is both a learning tool for developing with libvirt and an
API reference document. It is a work in progress, composed by a
@ -16,7 +18,7 @@
contribution to the content here will do it. :)
</p>
<h2>Browsable online</h2>
<h2><a name="online">Browsable online</a></h2>
<ul>
<li><a href="http://libvirt.org/guide/html/">
@ -33,7 +35,7 @@
Source RPM format</a></li>
</ul>
<h2>GIT source repository</h2>
<h2><a name="git">GIT source repository</a></h2>
<p>
The source is in a git repository:

View File

@ -3,7 +3,9 @@
<body>
<h1>Downloads</h1>
<h2>Official Releases</h2>
<ul id="toc"></ul>
<h2><a name="releases">Official Releases</a></h2>
<p>
The latest versions of the libvirt C library can be downloaded from:
@ -14,7 +16,7 @@
<li><a href="http://libvirt.org/sources/">libvirt.org HTTP server</a></li>
</ul>
<h2>Hourly development snapshots</h2>
<h2><a name="hourly">Hourly development snapshots</a></h2>
<p>
Once an hour, an automated snapshot is made from the git server
@ -27,7 +29,7 @@
<li><a href="http://libvirt.org/sources/libvirt-git-snapshot.tar.gz">libvirt.org HTTP server</a></li>
</ul>
<h2>GIT source repository</h2>
<h2><a name="git">GIT source repository</a></h2>
<p>
Libvirt code source is now maintained in a <a href="http://git-scm.com/">git</a>
@ -61,7 +63,7 @@
contribution to the content here will do it. :)
</p>
<h2>Downloadable PDF</h2>
<h2><a name="appdevpdf">Application Development Guide PDF</a></h2>
<p>
PDF download is available here:
@ -71,7 +73,7 @@
<li><a href="http://libvirt.org/guide/pdf/Application_Development_Guide.pdf">libvirt App Dev Guide</a> (PDF)</li>
</ul>
<h2>GIT source repository</h2>
<h2><a name="appdevgit">Application Development Guide source GIT repository</a></h2>
<p>
The source is also in a git repository:
@ -89,9 +91,9 @@
<br />
<h1>libvirt Installation</h1>
<h1><a name="installation">libvirt Installation</a></h1>
<h2><a name="Compilatio">Compilation</a></h2>
<h2><a name="Compilatio">Compiling a release tarball</a></h2>
<p>
libvirt uses the standard configure/make/install steps:
@ -116,7 +118,7 @@
update your list of installed shared libs.
</p>
<h2>Building from a source code checkout</h2>
<h2><a name="build">Building from a GIT checkout</a></h2>
<p>
The libvirt build process uses GNU autotools, so after obtaining a

View File

@ -2,6 +2,8 @@
<body>
<h1>Internal drivers</h1>
<ul id="toc"></ul>
<p>
The libvirt public API delegates its implementation to one or
more internal drivers, depending on the <a href="uri.html">connection URI</a>
@ -10,21 +12,35 @@
network and storage driver active.
</p>
<h2>Hypervisor drivers</h2>
<h2><a name="hypervisor">Hypervisor drivers</a></h2>
<p>
The hypervisor drivers currently supported by libvirt are:
</p>
<ul>
<li><strong><a href="drvxen.html">Xen</a></strong></li>
<li><strong><a href="drvqemu.html">QEMU</a></strong></li>
<li><strong><a href="drvlxc.html">LXC</a></strong></li>
<li><strong><a href="drvtest.html">Test</a></strong></li>
<li><strong><a href="drvopenvz.html">OpenVZ</a></strong></li>
<li><strong><a href="drvvbox.html">VirtualBox</a></strong></li>
<li><strong><a href="drvlxc.html">LXC</a></strong> - Linux Containers</li>
<li><strong><a href="drvone.html">OpenNebula</a></strong></li>
<li><strong><a href="drvopenvz.html">OpenVZ</a></strong></li>
<li><strong><a href="drvqemu.html">QEMU</a></strong></li>
<li><strong><a href="drvtest.html">Test</a></strong> - Used for testing</li>
<li><strong><a href="drvuml.html">UML</a></strong> - User Mode Linux</li>
<li><strong><a href="drvvbox.html">VirtualBox</a></strong></li>
<li><strong><a href="drvesx.html">VMware ESX</a></strong></li>
<li><strong><a href="drvxen.html">Xen</a></strong></li>
</ul>
<h2><a name="stroage">Storage drivers</a></h2>
<ul>
<li><strong><a href="storage.html#StorageBackendDir">Directory backend</a></strong></li>
<li><strong><a href="storage.html#StorageBackendFS">Local filesystem backend</a></strong></li>
<li><strong><a href="storage.html#StorageBackendNetFS">Network filesystem backend</a></strong></li>
<li><strong><a href="storage.html#StorageBackendLogical">Logical Volume Manager (LVM) backend</a></strong></li>
<li><strong><a href="storage.html#StorageBackendDisk">Disk backend</a></strong></li>
<li><strong><a href="storage.html#StorageBackendISCSI">iSCSI backend</a></strong></li>
<li><strong><a href="storage.html#StorageBackendSCSI">SCSI backend</a></strong></li>
<li><strong><a href="storage.html#StorageBackendMultipath">Multipath backend</a></strong></li>
</ul>
</body>
</html>