summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTodd Willey <todd@ansolabs.com>2010-11-01 16:13:18 -0400
committerTodd Willey <todd@ansolabs.com>2010-11-01 16:13:18 -0400
commit878eb4d25075f8d78f24ad9f78eb5d43702192ca (patch)
tree7d7e98419878f2b64bed54863203b5f996e7e1a5
parentb76286c5ef2b2182cb0c2cc42b31971656e8f70f (diff)
downloadnova-878eb4d25075f8d78f24ad9f78eb5d43702192ca.tar.gz
nova-878eb4d25075f8d78f24ad9f78eb5d43702192ca.tar.xz
nova-878eb4d25075f8d78f24ad9f78eb5d43702192ca.zip
Virt documentation.
-rw-r--r--doc/source/compute.rst53
-rw-r--r--nova/virt/connection.py20
-rw-r--r--nova/virt/fake.py7
-rw-r--r--nova/virt/libvirt_conn.py22
-rw-r--r--nova/virt/xenapi.py12
5 files changed, 77 insertions, 37 deletions
diff --git a/doc/source/compute.rst b/doc/source/compute.rst
index d29b96781..ba5f2917c 100644
--- a/doc/source/compute.rst
+++ b/doc/source/compute.rst
@@ -24,10 +24,7 @@ This page contains the Compute Package documentation.
::
- TODO(todd): * Document drivers
- * get docstrings to come in for ComputeManager
- * fix formatting of ascii art in disk module
- * document instance_types and power_states
+ TODO(todd): * document instance_types and power_states
Manager
@@ -45,6 +42,13 @@ The :mod:`manager` Module
:undoc-members:
:show-inheritance:
+The :mod:`connection` Module
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. automodule:: nova.virt.connection
+ :members:
+ :undoc-members:
+ :show-inheritance:
The :mod:`disk` Module
~~~~~~~~~~~~~~~~~~~~~~
@@ -76,40 +80,37 @@ The :mod:`power_state` Module
Drivers
-------
-
Libvirt Implementations
~~~~~~~~~~~~~~~~~~~~~~~
+The libvirt driver is capable of supporting KVM, QEMU, and UML.
-Libvirt: KVM
-^^^^^^^^^^^^
-
-KVM Driver
-
-
-Libvirt: QEMU
-^^^^^^^^^^^^^
-
-QEMU Driver
-
-
-Libvirt: UML
-^^^^^^^^^^^^
-
-User Mode Linux Driver
+The :mod:`libvirt_conn` Module
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+.. automodule:: nova.virt.libvirt_conn
+ :members:
+ :undoc-members:
+ :show-inheritance:
XEN
~~~
-Xen Driver
-
+The :mod:`xenapi` Module
+^^^^^^^^^^^^^^^^^^^^^^^^
-Hyper-V
-~~~~~~~
+.. automodule:: nova.virt.xenapi
+ :members:
+ :undoc-members:
+ :show-inheritance:
-Hyper-V Driver
+FAKE
+~~~~
+.. automodule:: nova.virt.fake
+ :members:
+ :undoc-members:
+ :show-inheritance:
Monitoring
----------
diff --git a/nova/virt/connection.py b/nova/virt/connection.py
index ceb7f1e4b..11f0fa8ce 100644
--- a/nova/virt/connection.py
+++ b/nova/virt/connection.py
@@ -32,19 +32,23 @@ FLAGS = flags.FLAGS
def get_connection(read_only=False):
- """Returns an object representing the connection to a virtualization
- platform. This could be nova.virt.fake.FakeConnection in test mode,
- a connection to KVM or QEMU via libvirt, or a connection to XenServer
- or Xen Cloud Platform via XenAPI.
+ """
+ Returns an object representing the connection to a virtualization
+ platform.
+
+ This could be :mod:`nova.virt.fake.FakeConnection` in test mode,
+ a connection to KVM, QEMU, or UML via :mod:`libvirt_conn`, or a connection
+ to XenServer or Xen Cloud Platform via :mod:`xenapi`.
Any object returned here must conform to the interface documented by
- FakeConnection.
+ :mod:`FakeConnection`.
+
+ **Related flags**
- Related flags
- -------------
:connection_type: A string literal that falls through a if/elif structure
to determine what virtualization mechanism to use.
- Values may be:
+ Values may be
+
* fake
* libvirt
* xenapi
diff --git a/nova/virt/fake.py b/nova/virt/fake.py
index 66eff4c66..f855523d3 100644
--- a/nova/virt/fake.py
+++ b/nova/virt/fake.py
@@ -18,8 +18,11 @@
# under the License.
"""
-A fake (in-memory) hypervisor+api. Allows nova testing w/o a hypervisor.
-This module also documents the semantics of real hypervisor connections.
+A fake (in-memory) hypervisor+api.
+
+Allows nova testing w/o a hypervisor. This module also documents the
+semantics of real hypervisor connections.
+
"""
from twisted.internet import defer
diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py
index e32945fa5..0170fc6d1 100644
--- a/nova/virt/libvirt_conn.py
+++ b/nova/virt/libvirt_conn.py
@@ -18,7 +18,27 @@
# under the License.
"""
-A connection to a hypervisor (e.g. KVM) through libvirt.
+A connection to a hypervisor through libvirt.
+
+Supports KVM, QEMU, UML, and XEN.
+
+**Related Flags**
+
+:libvirt_type: Libvirt domain type. Can be kvm, qemu, uml, xen
+ (default: kvm).
+:libvirt_uri: Override for the default libvirt URI (depends on libvirt_type).
+:libvirt_xml_template: Libvirt XML Template (QEmu/KVM).
+:libvirt_xen_xml_template: Libvirt XML Template (Xen).
+:libvirt_uml_xml_template: Libvirt XML Template (User Mode Linux).
+:libvirt_rescue_xml_template: XML template for rescue mode (KVM & QEMU).
+:libvirt_rescue_xen_xml_template: XML templage for rescue mode (XEN).
+:libvirt_rescue_uml_xml_template: XML template for rescue mode (UML).
+:rescue_image_id: Rescue ami image (default: ami-rescue).
+:rescue_kernel_id: Rescue aki image (default: aki-rescue).
+:rescue_ramdisk_id: Rescue ari image (default: ari-rescue).
+:injected_network_template: Template file for injected network
+:allow_project_net_traffic: Whether to allow in project network traffic
+
"""
import logging
diff --git a/nova/virt/xenapi.py b/nova/virt/xenapi.py
index a17e405ab..0f563aa41 100644
--- a/nova/virt/xenapi.py
+++ b/nova/virt/xenapi.py
@@ -33,6 +33,18 @@ long-running operations.
FIXME: get_info currently doesn't conform to these rules, and will block the
reactor thread if the VM.get_by_name_label or VM.get_record calls block.
+
+**Related Flags**
+
+:xenapi_connection_url: URL for connection to XenServer/Xen Cloud Platform.
+:xenapi_connection_username: Username for connection to XenServer/Xen Cloud
+ Platform (default: root).
+:xenapi_connection_password: Password for connection to XenServer/Xen Cloud
+ Platform.
+:xenapi_task_poll_interval: The interval (seconds) used for polling of
+ remote tasks (Async.VM.start, etc)
+ (default: 0.5).
+
"""
import logging