merge trunkdoc
This commit is contained in:
@@ -17,19 +17,22 @@
|
||||
|
||||
.. _auth:
|
||||
|
||||
Auth Documentation
|
||||
==================
|
||||
|
||||
from etherpad todo
|
||||
------------------
|
||||
Authentication and Authorization Development Guide
|
||||
==================================================
|
||||
|
||||
::
|
||||
|
||||
* Manager
|
||||
* Driver
|
||||
* ldap
|
||||
* fakeldap
|
||||
* redisectomy
|
||||
TOOD(todd);
|
||||
* Authentication
|
||||
* Manager
|
||||
* Driver
|
||||
* ldap
|
||||
* fakeldap
|
||||
* redisectomy
|
||||
* Authorizztion
|
||||
* RBAC
|
||||
* Quotas
|
||||
|
||||
|
||||
legacy docs
|
||||
-----------
|
||||
|
||||
@@ -16,71 +16,116 @@
|
||||
under the License.
|
||||
|
||||
|
||||
from etherpad todo
|
||||
------------------
|
||||
|
||||
* FIX RST IMPORT ERRORS
|
||||
* Compute Manager
|
||||
* public methods
|
||||
* responsibilities
|
||||
* Compute Driver
|
||||
* public methods
|
||||
* libvirt implementation (kvm/qemu vs uml)
|
||||
* xen implementation
|
||||
* hyperv implementation
|
||||
|
||||
|
||||
Compute Documentation
|
||||
=====================
|
||||
Virtualization Programming Guide
|
||||
================================
|
||||
|
||||
This page contains the Compute Package documentation.
|
||||
|
||||
|
||||
::
|
||||
|
||||
TODO(todd): Document drivers
|
||||
|
||||
|
||||
Manager
|
||||
-------
|
||||
|
||||
Documentation for the compute manager and related files. For reading about
|
||||
a specific virtualization backend, read Drivers_.
|
||||
|
||||
|
||||
The :mod:`manager` Module
|
||||
-------------------------
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. automodule:: nova.compute.manager
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
|
||||
The :mod:`disk` Module
|
||||
----------------------
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. automodule:: nova.compute.disk
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
|
||||
The :mod:`instance_types` Module
|
||||
--------------------------------
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. automodule:: nova.compute.instance_types
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
|
||||
The :mod:`power_state` Module
|
||||
-----------------------------
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. automodule:: nova.compute.power_state
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
|
||||
Drivers
|
||||
-------
|
||||
|
||||
|
||||
Libvirt Implementations
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
Libvirt: KVM
|
||||
^^^^^^^^^^^^
|
||||
|
||||
KVM Driver
|
||||
|
||||
|
||||
Libvirt: QEMU
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
QEMU Driver
|
||||
|
||||
|
||||
Libvirt: UML
|
||||
^^^^^^^^^^^^
|
||||
|
||||
User Mode Linux Driver
|
||||
|
||||
|
||||
XEN
|
||||
~~~
|
||||
|
||||
Xen Driver
|
||||
|
||||
|
||||
Hyper-V
|
||||
~~~~~~~
|
||||
|
||||
Hyper-V Driver
|
||||
|
||||
|
||||
Monitoring
|
||||
----------
|
||||
|
||||
The :mod:`monitor` Module
|
||||
-------------------------
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. automodule:: nova.compute.monitor
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
RELATED TESTS
|
||||
-------------
|
||||
|
||||
Tests
|
||||
-----
|
||||
|
||||
|
||||
The :mod:`compute_unittest` Module
|
||||
----------------------------------
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. automodule:: nova.tests.compute_unittest
|
||||
:members:
|
||||
|
||||
@@ -66,11 +66,24 @@ Concept: Instances
|
||||
|
||||
An 'instance' is a word for a virtual machine that runs inside the cloud.
|
||||
|
||||
Concept: Volumes
|
||||
Concept: Storage
|
||||
----------------
|
||||
|
||||
Volumes
|
||||
~~~~~~~
|
||||
A 'volume' is a detachable block storage device. You can think of it as a usb hard drive. It can only be attached to one instance at a time, and it behaves
|
||||
|
||||
Ephemeral
|
||||
~~~~~~~~~
|
||||
::
|
||||
|
||||
TODO(vish): document
|
||||
|
||||
Swift
|
||||
~~~~~
|
||||
::
|
||||
|
||||
TODO(vish): document
|
||||
|
||||
Concept: Quotas
|
||||
---------------
|
||||
@@ -104,17 +117,17 @@ Nova has a concept of Fixed Ips and Floating ips. Fixed ips are assigned to an
|
||||
There are multiple strategies available for implementing fixed ips:
|
||||
|
||||
Flat Mode
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
The simplest networking mode. Each instance receives a fixed ip from the pool. All instances are attached to the same bridge (br100) by default. The bridge must be configured manually. The networking configuration is injected into the instance before it is booted. Note that this currently only works on linux-style systems that keep networking configuration in /etc/network/interfaces.
|
||||
|
||||
Flat DHCP Mode
|
||||
^^^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
This is similar to the flat mode, in that all instances are attached to the same bridge. In this mode nova does a bit more configuration, it will attempt to bridge into an ethernet device (eth0 by default). It will also run dnsmasq as a dhcpserver listening on this bridge. Instances receive their fixed ips by doing a dhcpdiscover.
|
||||
|
||||
VLAN DHCP Mode
|
||||
^^^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
This is the default networking mode and supports the most features. For multiple machine installation, it requires a switch that supports host-managed vlan tagging. In this mode, nova will create a vlan and bridge for each project. The project gets a range of private ips that are only accessible from inside the vlan. In order for a user to access the instances in their project, a special vpn instance (code name cloudpipe) needs to be created. Nova generates a certificate and key for the userto access the vpn and starts the vpn automatically.
|
||||
|
||||
@@ -136,7 +149,7 @@ Concept: nova-manage
|
||||
--------------------
|
||||
|
||||
Introduction
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
The nova-manage command is used to perform many essential functions for
|
||||
administration and ongoing maintenance of nova, such as user creation,
|
||||
@@ -151,7 +164,7 @@ For example, to obtain a list of all projects:
|
||||
``nova-manage project list``
|
||||
|
||||
User Maintenance
|
||||
^^^^^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
* user admin: creates a new admin and prints exports
|
||||
* arguments: name [access] [secret]
|
||||
@@ -168,7 +181,7 @@ User Maintenance
|
||||
* leave any field blank to ignore it, admin should be 'T', 'F', or blank
|
||||
|
||||
Project Maintenance
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* project add: Adds user to project
|
||||
* arguments: project user
|
||||
@@ -190,7 +203,7 @@ Project Maintenance
|
||||
* arguments: project_id user_id [filename='nova.zip]
|
||||
|
||||
User Role Management
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* role add: adds role to user
|
||||
* if project is specified, adds project specific role
|
||||
@@ -205,7 +218,7 @@ User Role Management
|
||||
|
||||
|
||||
Nova Shell
|
||||
^^^^^^^^^^
|
||||
~~~~~~~~~~
|
||||
|
||||
* shell bpython
|
||||
* start a new bpython shell
|
||||
@@ -219,7 +232,7 @@ Nova Shell
|
||||
* arguments: path
|
||||
|
||||
VPN Management
|
||||
^^^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
* vpn list: Print a listing of the VPNs for all projects.
|
||||
* arguments: none
|
||||
@@ -230,7 +243,7 @@ VPN Management
|
||||
|
||||
|
||||
Floating IP Management
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* floating create: Creates floating ips for host by range
|
||||
* arguments: host ip_range
|
||||
@@ -240,7 +253,7 @@ Floating IP Management
|
||||
* arguments: none
|
||||
|
||||
Network Management
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* network create: Creates fixed ips for host by range
|
||||
* arguments: [fixed_range=FLAG], [num_networks=FLAG],
|
||||
|
||||
@@ -15,51 +15,37 @@
|
||||
License for the specific language governing permissions and limitations
|
||||
under the License.
|
||||
|
||||
Objectstore Documentation
|
||||
=========================
|
||||
Database Programming Guide
|
||||
==========================
|
||||
|
||||
This page contains the Objectstore Package documentation.
|
||||
::
|
||||
|
||||
TODO(todd): should sqlalchemy.api be here?
|
||||
pep-256 on db/api.py and models.py (periods)
|
||||
document register_models (where should it be called from?)
|
||||
|
||||
The :mod:`bucket` Module
|
||||
------------------------
|
||||
The :mod:`api` Module
|
||||
---------------------
|
||||
|
||||
.. automodule:: nova.objectstore.bucket
|
||||
.. automodule:: nova.db.api
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
The :mod:`handler` Module
|
||||
-------------------------
|
||||
|
||||
.. automodule:: nova.objectstore.handler
|
||||
Drivers
|
||||
-------
|
||||
|
||||
The :mod:`sqlalchemy` Driver
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. automodule:: nova.db.sqlalchemy.api
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
The :mod:`image` Module
|
||||
-----------------------
|
||||
|
||||
.. automodule:: nova.objectstore.image
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
The :mod:`stored` Module
|
||||
------------------------
|
||||
|
||||
.. automodule:: nova.objectstore.stored
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
RELATED TESTS
|
||||
-------------
|
||||
|
||||
The :mod:`objectstore_unittest` Module
|
||||
--------------------------------------
|
||||
|
||||
.. automodule:: nova.tests.objectstore_unittest
|
||||
.. automodule:: nova.db.sqlalchemy.models
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -28,7 +28,7 @@ Contents
|
||||
:maxdepth: 1
|
||||
|
||||
database
|
||||
storage
|
||||
volume
|
||||
compute
|
||||
network
|
||||
auth
|
||||
@@ -41,7 +41,6 @@ Older Contents
|
||||
:maxdepth: 1
|
||||
|
||||
architecture
|
||||
endpoint
|
||||
nova
|
||||
fakes
|
||||
binaries
|
||||
@@ -49,6 +48,11 @@ Older Contents
|
||||
packages
|
||||
|
||||
|
||||
Removed
|
||||
-------
|
||||
|
||||
* endpoint
|
||||
|
||||
Indices and tables
|
||||
------------------
|
||||
|
||||
|
||||
@@ -1,91 +0,0 @@
|
||||
..
|
||||
Copyright 2010 United States Government as represented by the
|
||||
Administrator of the National Aeronautics and Space Administration.
|
||||
All Rights Reserved.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
not use this file except in compliance with the License. You may obtain
|
||||
a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
License for the specific language governing permissions and limitations
|
||||
under the License.
|
||||
|
||||
Endpoint Documentation
|
||||
======================
|
||||
|
||||
This page contains the Endpoint Package documentation.
|
||||
|
||||
The :mod:`admin` Module
|
||||
-----------------------
|
||||
|
||||
.. automodule:: nova.endpoint.admin
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
The :mod:`api` Module
|
||||
---------------------
|
||||
|
||||
.. automodule:: nova.endpoint.api
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
The :mod:`cloud` Module
|
||||
-----------------------
|
||||
|
||||
.. automodule:: nova.endpoint.cloud
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
The :mod:`images` Module
|
||||
------------------------
|
||||
|
||||
.. automodule:: nova.endpoint.images
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
|
||||
RELATED TESTS
|
||||
--------------
|
||||
|
||||
The :mod:`api_unittest` Module
|
||||
------------------------------
|
||||
|
||||
.. automodule:: nova.tests.api_unittest
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
The :mod:`api_integration` Module
|
||||
---------------------------------
|
||||
|
||||
.. automodule:: nova.tests.api_integration
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
The :mod:`cloud_unittest` Module
|
||||
--------------------------------
|
||||
|
||||
.. automodule:: nova.tests.cloud_unittest
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
The :mod:`network_unittest` Module
|
||||
----------------------------------
|
||||
|
||||
.. automodule:: nova.tests.network_unittest
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ Nova Fakes
|
||||
==========
|
||||
|
||||
The :mod:`virt.fake` Module
|
||||
--------------------------
|
||||
---------------------------
|
||||
|
||||
.. automodule:: nova.virt.fake
|
||||
:members:
|
||||
|
||||
@@ -30,7 +30,9 @@ Nova is written with the following design guidelines in mind:
|
||||
|
||||
This documentation is generated by the Sphinx toolkit and lives in the source
|
||||
tree. Additional documentation on Nova and other components of OpenStack can
|
||||
be found on the 'OpenStack wiki <http://wiki.openstack.org>'.
|
||||
be found on the `OpenStack wiki`_.
|
||||
|
||||
.. _`OpenStack wiki`: http://wiki.openstack.org
|
||||
|
||||
|
||||
Contents
|
||||
|
||||
@@ -28,7 +28,11 @@ Modules:
|
||||
|
||||
auth
|
||||
compute
|
||||
endpoint
|
||||
fakes
|
||||
nova
|
||||
volume
|
||||
|
||||
Removed:
|
||||
--------
|
||||
|
||||
* endpoint
|
||||
|
||||
@@ -15,23 +15,32 @@
|
||||
License for the specific language governing permissions and limitations
|
||||
under the License.
|
||||
|
||||
nova Networking
|
||||
================
|
||||
Networking Programming Guide
|
||||
============================
|
||||
|
||||
|
||||
from etherpad todo
|
||||
------------------
|
||||
::
|
||||
* Network Manager
|
||||
* overview (use vish email)
|
||||
* public methods
|
||||
* responsibilities
|
||||
* Vlan + DHCP implementation
|
||||
* Flat + DHCP implementation
|
||||
* Flat impleplementation
|
||||
* Network Driver
|
||||
* public methods
|
||||
* hardware specific commands
|
||||
|
||||
TODO(todd):
|
||||
* document how managers work
|
||||
* document backend (linux-net)
|
||||
* document hardware specific commands
|
||||
* pep 257
|
||||
|
||||
The :mod:`Manager` module
|
||||
-------------------------
|
||||
|
||||
.. automodule:: nova.network.manager
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
The :mod:`LinuxNet` driver
|
||||
--------------------------
|
||||
|
||||
.. automodule:: nova.network.linux_net
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
|
||||
legacy docs
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
..
|
||||
Copyright 2010 United States Government as represented by the
|
||||
Administrator of the National Aeronautics and Space Administration.
|
||||
All Rights Reserved.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
not use this file except in compliance with the License. You may obtain
|
||||
a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
License for the specific language governing permissions and limitations
|
||||
under the License.
|
||||
|
||||
Storage in the Nova Cloud
|
||||
=========================
|
||||
|
||||
|
||||
from etherpad todo
|
||||
-------------------
|
||||
::
|
||||
* Volume Manager
|
||||
* public methods
|
||||
* responsibilities
|
||||
* Volume Driver
|
||||
* public methods
|
||||
* AoE implementation
|
||||
* ISCSI implementation
|
||||
|
||||
|
||||
legacy docs
|
||||
-----------
|
||||
|
||||
There are three primary classes of storage in a nova cloud environment:
|
||||
|
||||
* Ephemeral Storage (local disk within an instance)
|
||||
* Volume Storage (network-attached FS)
|
||||
* Object Storage (redundant KVS with locality and MR)
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
volume
|
||||
objectstore
|
||||
@@ -15,9 +15,42 @@
|
||||
License for the specific language governing permissions and limitations
|
||||
under the License.
|
||||
|
||||
Volume Documentation
|
||||
====================
|
||||
|
||||
Volume Programming Guide
|
||||
=========================
|
||||
|
||||
::
|
||||
|
||||
TODO(todd): document for iSCSI & AoE (see 'Old Docs')
|
||||
pep-257
|
||||
|
||||
|
||||
The :mod:`nova.volume.manager` Module
|
||||
-------------------------------------
|
||||
|
||||
.. automodule:: nova.volume.manager
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
The :mod:`nova.volume.driver` Module
|
||||
-------------------------------------
|
||||
|
||||
.. automodule:: nova.volume.driver
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
Tests
|
||||
-----
|
||||
|
||||
.. automodule:: nova.tests.volume_unittest
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
Old Docs
|
||||
--------
|
||||
|
||||
Nova uses ata-over-ethernet (AoE) to export storage volumes from multiple storage nodes. These AoE exports are attached (using libvirt) directly to running instances.
|
||||
|
||||
Nova volumes are exported over the primary system VLAN (usually VLAN 1), and not over individual VLANs.
|
||||
@@ -27,19 +60,3 @@ AoE exports are numbered according to a "shelf and blade" syntax. In order to av
|
||||
The underlying volumes are LVM logical volumes, created on demand within a single large volume group.
|
||||
|
||||
|
||||
The :mod:`storage` Module
|
||||
-------------------------
|
||||
|
||||
.. automodule:: nova.volume.storage
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
The :mod:`storage_unittest` Module
|
||||
----------------------------------
|
||||
|
||||
.. automodule:: nova.tests.storage_unittest
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
|
||||
@@ -15,12 +15,14 @@
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
"""
|
||||
Fake LDAP server for test harnesses.
|
||||
Fake LDAP server for test harness, backs to ReDIS.
|
||||
|
||||
This class does very little error checking, and knows nothing about ldap
|
||||
class definitions. It implements the minimum emulation of the python ldap
|
||||
class definitions. It implements the minimum emulation of the python ldap
|
||||
library to work with nova.
|
||||
|
||||
"""
|
||||
|
||||
import json
|
||||
@@ -77,8 +79,8 @@ def initialize(_uri):
|
||||
def _match_query(query, attrs):
|
||||
"""Match an ldap query to an attribute dictionary.
|
||||
|
||||
&, |, and ! are supported in the query. No syntax checking is performed,
|
||||
so malformed querys will not work correctly.
|
||||
The characters &, |, and ! are supported in the query. No syntax checking
|
||||
is performed, so malformed querys will not work correctly.
|
||||
"""
|
||||
# cut off the parentheses
|
||||
inner = query[1:-1]
|
||||
|
||||
Reference in New Issue
Block a user