summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorVishvananda Ishaya <vishvananda@gmail.com>2011-04-05 12:55:57 -0700
committerVishvananda Ishaya <vishvananda@gmail.com>2011-04-05 12:55:57 -0700
commitb66535602eae6b2f91cc5573798cd837e63f8ecc (patch)
treeecec28580523826f8315c226af32e4880478e7cf /doc
parente0ba72946011b67a218e3c619b3105529bb43e53 (diff)
parent94ccd2f4a1c42a8574fe65972650428130ae850d (diff)
merged trunk
Diffstat (limited to 'doc')
-rw-r--r--doc/.autogenerated283
-rw-r--r--doc/build/html/.buildinfo4
-rw-r--r--doc/ext/nova_autodoc.py3
-rw-r--r--doc/source/_static/tweaks.css147
-rw-r--r--doc/source/_theme/layout.html11
-rw-r--r--doc/source/adminguide/distros/others.rst88
-rw-r--r--doc/source/adminguide/distros/ubuntu.10.04.rst40
-rw-r--r--doc/source/adminguide/distros/ubuntu.10.10.rst41
-rw-r--r--doc/source/adminguide/flags.rst23
-rw-r--r--doc/source/adminguide/multi.node.install.rst392
-rw-r--r--doc/source/adminguide/single.node.install.rst362
-rw-r--r--doc/source/api/autoindex.rst144
-rw-r--r--doc/source/api/nova..adminclient.rst6
-rw-r--r--doc/source/api/nova..api.direct.rst6
-rw-r--r--doc/source/api/nova..api.ec2.admin.rst6
-rw-r--r--doc/source/api/nova..api.ec2.apirequest.rst6
-rw-r--r--doc/source/api/nova..api.ec2.cloud.rst6
-rw-r--r--doc/source/api/nova..api.ec2.metadatarequesthandler.rst6
-rw-r--r--doc/source/api/nova..api.openstack.auth.rst6
-rw-r--r--doc/source/api/nova..api.openstack.backup_schedules.rst6
-rw-r--r--doc/source/api/nova..api.openstack.common.rst6
-rw-r--r--doc/source/api/nova..api.openstack.consoles.rst6
-rw-r--r--doc/source/api/nova..api.openstack.faults.rst6
-rw-r--r--doc/source/api/nova..api.openstack.flavors.rst6
-rw-r--r--doc/source/api/nova..api.openstack.images.rst6
-rw-r--r--doc/source/api/nova..api.openstack.servers.rst6
-rw-r--r--doc/source/api/nova..api.openstack.shared_ip_groups.rst6
-rw-r--r--doc/source/api/nova..api.openstack.zones.rst6
-rw-r--r--doc/source/api/nova..auth.dbdriver.rst6
-rw-r--r--doc/source/api/nova..auth.fakeldap.rst6
-rw-r--r--doc/source/api/nova..auth.ldapdriver.rst6
-rw-r--r--doc/source/api/nova..auth.manager.rst6
-rw-r--r--doc/source/api/nova..auth.signer.rst6
-rw-r--r--doc/source/api/nova..cloudpipe.pipelib.rst6
-rw-r--r--doc/source/api/nova..compute.api.rst6
-rw-r--r--doc/source/api/nova..compute.instance_types.rst6
-rw-r--r--doc/source/api/nova..compute.manager.rst6
-rw-r--r--doc/source/api/nova..compute.monitor.rst6
-rw-r--r--doc/source/api/nova..compute.power_state.rst6
-rw-r--r--doc/source/api/nova..console.api.rst6
-rw-r--r--doc/source/api/nova..console.fake.rst6
-rw-r--r--doc/source/api/nova..console.manager.rst6
-rw-r--r--doc/source/api/nova..console.xvp.rst6
-rw-r--r--doc/source/api/nova..context.rst6
-rw-r--r--doc/source/api/nova..crypto.rst6
-rw-r--r--doc/source/api/nova..db.api.rst6
-rw-r--r--doc/source/api/nova..db.base.rst6
-rw-r--r--doc/source/api/nova..db.migration.rst6
-rw-r--r--doc/source/api/nova..db.sqlalchemy.api.rst6
-rw-r--r--doc/source/api/nova..db.sqlalchemy.migrate_repo.manage.rst6
-rw-r--r--doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.001_austin.rst6
-rw-r--r--doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.002_bexar.rst6
-rw-r--r--doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.003_add_label_to_networks.rst6
-rw-r--r--doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.004_add_zone_tables.rst6
-rw-r--r--doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.005_add_instance_metadata.rst6
-rw-r--r--doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.006_add_provider_data_to_volumes.rst6
-rw-r--r--doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.007_add_instance_types.rst6
-rw-r--r--doc/source/api/nova..db.sqlalchemy.migration.rst6
-rw-r--r--doc/source/api/nova..db.sqlalchemy.models.rst6
-rw-r--r--doc/source/api/nova..db.sqlalchemy.session.rst6
-rw-r--r--doc/source/api/nova..exception.rst6
-rw-r--r--doc/source/api/nova..fakememcache.rst6
-rw-r--r--doc/source/api/nova..fakerabbit.rst6
-rw-r--r--doc/source/api/nova..flags.rst6
-rw-r--r--doc/source/api/nova..image.glance.rst6
-rw-r--r--doc/source/api/nova..image.local.rst6
-rw-r--r--doc/source/api/nova..image.s3.rst6
-rw-r--r--doc/source/api/nova..image.service.rst6
-rw-r--r--doc/source/api/nova..log.rst6
-rw-r--r--doc/source/api/nova..manager.rst6
-rw-r--r--doc/source/api/nova..network.api.rst6
-rw-r--r--doc/source/api/nova..network.linux_net.rst6
-rw-r--r--doc/source/api/nova..network.manager.rst6
-rw-r--r--doc/source/api/nova..objectstore.bucket.rst6
-rw-r--r--doc/source/api/nova..objectstore.handler.rst6
-rw-r--r--doc/source/api/nova..objectstore.image.rst6
-rw-r--r--doc/source/api/nova..objectstore.stored.rst6
-rw-r--r--doc/source/api/nova..quota.rst6
-rw-r--r--doc/source/api/nova..rpc.rst6
-rw-r--r--doc/source/api/nova..scheduler.chance.rst6
-rw-r--r--doc/source/api/nova..scheduler.driver.rst6
-rw-r--r--doc/source/api/nova..scheduler.manager.rst6
-rw-r--r--doc/source/api/nova..scheduler.simple.rst6
-rw-r--r--doc/source/api/nova..scheduler.zone.rst6
-rw-r--r--doc/source/api/nova..service.rst6
-rw-r--r--doc/source/api/nova..test.rst6
-rw-r--r--doc/source/api/nova..tests.api.openstack.fakes.rst6
-rw-r--r--doc/source/api/nova..tests.api.openstack.test_adminapi.rst6
-rw-r--r--doc/source/api/nova..tests.api.openstack.test_api.rst6
-rw-r--r--doc/source/api/nova..tests.api.openstack.test_auth.rst6
-rw-r--r--doc/source/api/nova..tests.api.openstack.test_common.rst6
-rw-r--r--doc/source/api/nova..tests.api.openstack.test_faults.rst6
-rw-r--r--doc/source/api/nova..tests.api.openstack.test_flavors.rst6
-rw-r--r--doc/source/api/nova..tests.api.openstack.test_images.rst6
-rw-r--r--doc/source/api/nova..tests.api.openstack.test_ratelimiting.rst6
-rw-r--r--doc/source/api/nova..tests.api.openstack.test_servers.rst6
-rw-r--r--doc/source/api/nova..tests.api.openstack.test_shared_ip_groups.rst6
-rw-r--r--doc/source/api/nova..tests.api.openstack.test_zones.rst6
-rw-r--r--doc/source/api/nova..tests.api.test_wsgi.rst6
-rw-r--r--doc/source/api/nova..tests.db.fakes.rst6
-rw-r--r--doc/source/api/nova..tests.declare_flags.rst6
-rw-r--r--doc/source/api/nova..tests.fake_flags.rst6
-rw-r--r--doc/source/api/nova..tests.glance.stubs.rst6
-rw-r--r--doc/source/api/nova..tests.hyperv_unittest.rst6
-rw-r--r--doc/source/api/nova..tests.objectstore_unittest.rst6
-rw-r--r--doc/source/api/nova..tests.real_flags.rst6
-rw-r--r--doc/source/api/nova..tests.runtime_flags.rst6
-rw-r--r--doc/source/api/nova..tests.test_access.rst6
-rw-r--r--doc/source/api/nova..tests.test_api.rst6
-rw-r--r--doc/source/api/nova..tests.test_auth.rst6
-rw-r--r--doc/source/api/nova..tests.test_cloud.rst6
-rw-r--r--doc/source/api/nova..tests.test_compute.rst6
-rw-r--r--doc/source/api/nova..tests.test_console.rst6
-rw-r--r--doc/source/api/nova..tests.test_direct.rst6
-rw-r--r--doc/source/api/nova..tests.test_flags.rst6
-rw-r--r--doc/source/api/nova..tests.test_instance_types.rst6
-rw-r--r--doc/source/api/nova..tests.test_localization.rst6
-rw-r--r--doc/source/api/nova..tests.test_log.rst6
-rw-r--r--doc/source/api/nova..tests.test_middleware.rst6
-rw-r--r--doc/source/api/nova..tests.test_misc.rst6
-rw-r--r--doc/source/api/nova..tests.test_network.rst6
-rw-r--r--doc/source/api/nova..tests.test_quota.rst6
-rw-r--r--doc/source/api/nova..tests.test_rpc.rst6
-rw-r--r--doc/source/api/nova..tests.test_scheduler.rst6
-rw-r--r--doc/source/api/nova..tests.test_service.rst6
-rw-r--r--doc/source/api/nova..tests.test_test.rst6
-rw-r--r--doc/source/api/nova..tests.test_twistd.rst6
-rw-r--r--doc/source/api/nova..tests.test_utils.rst6
-rw-r--r--doc/source/api/nova..tests.test_virt.rst6
-rw-r--r--doc/source/api/nova..tests.test_volume.rst6
-rw-r--r--doc/source/api/nova..tests.test_xenapi.rst6
-rw-r--r--doc/source/api/nova..tests.xenapi.stubs.rst6
-rw-r--r--doc/source/api/nova..twistd.rst6
-rw-r--r--doc/source/api/nova..utils.rst6
-rw-r--r--doc/source/api/nova..version.rst6
-rw-r--r--doc/source/api/nova..virt.connection.rst6
-rw-r--r--doc/source/api/nova..virt.disk.rst6
-rw-r--r--doc/source/api/nova..virt.fake.rst6
-rw-r--r--doc/source/api/nova..virt.hyperv.rst6
-rw-r--r--doc/source/api/nova..virt.images.rst6
-rw-r--r--doc/source/api/nova..virt.libvirt_conn.rst6
-rw-r--r--doc/source/api/nova..virt.xenapi.fake.rst6
-rw-r--r--doc/source/api/nova..virt.xenapi.network_utils.rst6
-rw-r--r--doc/source/api/nova..virt.xenapi.vm_utils.rst6
-rw-r--r--doc/source/api/nova..virt.xenapi.vmops.rst6
-rw-r--r--doc/source/api/nova..virt.xenapi.volume_utils.rst6
-rw-r--r--doc/source/api/nova..virt.xenapi.volumeops.rst6
-rw-r--r--doc/source/api/nova..virt.xenapi_conn.rst6
-rw-r--r--doc/source/api/nova..volume.api.rst6
-rw-r--r--doc/source/api/nova..volume.driver.rst6
-rw-r--r--doc/source/api/nova..volume.manager.rst6
-rw-r--r--doc/source/api/nova..volume.san.rst6
-rw-r--r--doc/source/api/nova..wsgi.rst6
-rw-r--r--doc/source/community.rst12
-rw-r--r--doc/source/images/vmwareapi_blockdiagram.jpgbin0 -> 75363 bytes
-rw-r--r--doc/source/index.rst20
-rw-r--r--doc/source/man/novamanage.rst62
-rw-r--r--doc/source/nova.concepts.rst5
-rw-r--r--doc/source/object.model.rst14
-rw-r--r--doc/source/quickstart.rst2
-rw-r--r--doc/source/runnova/binaries.rst (renamed from doc/source/adminguide/binaries.rst)4
-rw-r--r--doc/source/runnova/euca2ools.rst (renamed from doc/source/adminguide/euca2ools.rst)0
-rw-r--r--doc/source/runnova/flags.rst193
-rw-r--r--doc/source/runnova/getting.started.rst (renamed from doc/source/adminguide/getting.started.rst)15
-rw-r--r--doc/source/runnova/index.rst (renamed from doc/source/adminguide/index.rst)15
-rw-r--r--doc/source/runnova/managing.images.rst (renamed from doc/source/adminguide/managing.images.rst)0
-rw-r--r--doc/source/runnova/managing.instance.types.rst84
-rw-r--r--doc/source/runnova/managing.instances.rst (renamed from doc/source/adminguide/managing.instances.rst)0
-rw-r--r--doc/source/runnova/managing.networks.rst (renamed from doc/source/adminguide/managing.networks.rst)0
-rw-r--r--doc/source/runnova/managing.projects.rst (renamed from doc/source/adminguide/managing.projects.rst)0
-rw-r--r--doc/source/runnova/managing.users.rst (renamed from doc/source/adminguide/managing.users.rst)0
-rw-r--r--doc/source/runnova/managingsecurity.rst (renamed from doc/source/adminguide/managingsecurity.rst)0
-rw-r--r--doc/source/runnova/monitoring.rst (renamed from doc/source/adminguide/monitoring.rst)0
-rw-r--r--doc/source/runnova/network.flat.rst (renamed from doc/source/adminguide/network.flat.rst)0
-rw-r--r--doc/source/runnova/network.vlan.rst (renamed from doc/source/adminguide/network.vlan.rst)0
-rw-r--r--doc/source/runnova/nova.manage.rst (renamed from doc/source/adminguide/nova.manage.rst)23
-rw-r--r--doc/source/runnova/vncconsole.rst76
-rw-r--r--doc/source/vmwareapi_readme.rst218
178 files changed, 2137 insertions, 990 deletions
diff --git a/doc/.autogenerated b/doc/.autogenerated
new file mode 100644
index 000000000..456c8ad1e
--- /dev/null
+++ b/doc/.autogenerated
@@ -0,0 +1,283 @@
+source/api/nova..adminclient.rst
+source/api/nova..api.direct.rst
+source/api/nova..api.ec2.admin.rst
+source/api/nova..api.ec2.apirequest.rst
+source/api/nova..api.ec2.cloud.rst
+source/api/nova..api.ec2.metadatarequesthandler.rst
+source/api/nova..api.openstack.auth.rst
+source/api/nova..api.openstack.backup_schedules.rst
+source/api/nova..api.openstack.common.rst
+source/api/nova..api.openstack.consoles.rst
+source/api/nova..api.openstack.faults.rst
+source/api/nova..api.openstack.flavors.rst
+source/api/nova..api.openstack.images.rst
+source/api/nova..api.openstack.servers.rst
+source/api/nova..api.openstack.shared_ip_groups.rst
+source/api/nova..api.openstack.zones.rst
+source/api/nova..auth.dbdriver.rst
+source/api/nova..auth.fakeldap.rst
+source/api/nova..auth.ldapdriver.rst
+source/api/nova..auth.manager.rst
+source/api/nova..auth.signer.rst
+source/api/nova..cloudpipe.pipelib.rst
+source/api/nova..compute.api.rst
+source/api/nova..compute.instance_types.rst
+source/api/nova..compute.manager.rst
+source/api/nova..compute.monitor.rst
+source/api/nova..compute.power_state.rst
+source/api/nova..console.api.rst
+source/api/nova..console.fake.rst
+source/api/nova..console.manager.rst
+source/api/nova..console.xvp.rst
+source/api/nova..context.rst
+source/api/nova..crypto.rst
+source/api/nova..db.api.rst
+source/api/nova..db.base.rst
+source/api/nova..db.migration.rst
+source/api/nova..db.sqlalchemy.api.rst
+source/api/nova..db.sqlalchemy.migrate_repo.manage.rst
+source/api/nova..db.sqlalchemy.migrate_repo.versions.001_austin.rst
+source/api/nova..db.sqlalchemy.migrate_repo.versions.002_bexar.rst
+source/api/nova..db.sqlalchemy.migrate_repo.versions.003_add_label_to_networks.rst
+source/api/nova..db.sqlalchemy.migrate_repo.versions.004_add_zone_tables.rst
+source/api/nova..db.sqlalchemy.migrate_repo.versions.005_add_instance_metadata.rst
+source/api/nova..db.sqlalchemy.migrate_repo.versions.006_add_provider_data_to_volumes.rst
+source/api/nova..db.sqlalchemy.migrate_repo.versions.007_add_instance_types.rst
+source/api/nova..db.sqlalchemy.migration.rst
+source/api/nova..db.sqlalchemy.models.rst
+source/api/nova..db.sqlalchemy.session.rst
+source/api/nova..exception.rst
+source/api/nova..fakememcache.rst
+source/api/nova..fakerabbit.rst
+source/api/nova..flags.rst
+source/api/nova..image.glance.rst
+source/api/nova..image.local.rst
+source/api/nova..image.s3.rst
+source/api/nova..image.service.rst
+source/api/nova..log.rst
+source/api/nova..manager.rst
+source/api/nova..network.api.rst
+source/api/nova..network.linux_net.rst
+source/api/nova..network.manager.rst
+source/api/nova..objectstore.bucket.rst
+source/api/nova..objectstore.handler.rst
+source/api/nova..objectstore.image.rst
+source/api/nova..objectstore.stored.rst
+source/api/nova..quota.rst
+source/api/nova..rpc.rst
+source/api/nova..scheduler.chance.rst
+source/api/nova..scheduler.driver.rst
+source/api/nova..scheduler.manager.rst
+source/api/nova..scheduler.simple.rst
+source/api/nova..scheduler.zone.rst
+source/api/nova..service.rst
+source/api/nova..test.rst
+source/api/nova..tests.api.openstack.fakes.rst
+source/api/nova..tests.api.openstack.test_adminapi.rst
+source/api/nova..tests.api.openstack.test_api.rst
+source/api/nova..tests.api.openstack.test_auth.rst
+source/api/nova..tests.api.openstack.test_common.rst
+source/api/nova..tests.api.openstack.test_faults.rst
+source/api/nova..tests.api.openstack.test_flavors.rst
+source/api/nova..tests.api.openstack.test_images.rst
+source/api/nova..tests.api.openstack.test_ratelimiting.rst
+source/api/nova..tests.api.openstack.test_servers.rst
+source/api/nova..tests.api.openstack.test_shared_ip_groups.rst
+source/api/nova..tests.api.openstack.test_zones.rst
+source/api/nova..tests.api.test_wsgi.rst
+source/api/nova..tests.db.fakes.rst
+source/api/nova..tests.declare_flags.rst
+source/api/nova..tests.fake_flags.rst
+source/api/nova..tests.glance.stubs.rst
+source/api/nova..tests.hyperv_unittest.rst
+source/api/nova..tests.objectstore_unittest.rst
+source/api/nova..tests.real_flags.rst
+source/api/nova..tests.runtime_flags.rst
+source/api/nova..tests.test_access.rst
+source/api/nova..tests.test_api.rst
+source/api/nova..tests.test_auth.rst
+source/api/nova..tests.test_cloud.rst
+source/api/nova..tests.test_compute.rst
+source/api/nova..tests.test_console.rst
+source/api/nova..tests.test_direct.rst
+source/api/nova..tests.test_flags.rst
+source/api/nova..tests.test_instance_types.rst
+source/api/nova..tests.test_localization.rst
+source/api/nova..tests.test_log.rst
+source/api/nova..tests.test_middleware.rst
+source/api/nova..tests.test_misc.rst
+source/api/nova..tests.test_network.rst
+source/api/nova..tests.test_quota.rst
+source/api/nova..tests.test_rpc.rst
+source/api/nova..tests.test_scheduler.rst
+source/api/nova..tests.test_service.rst
+source/api/nova..tests.test_test.rst
+source/api/nova..tests.test_twistd.rst
+source/api/nova..tests.test_utils.rst
+source/api/nova..tests.test_virt.rst
+source/api/nova..tests.test_volume.rst
+source/api/nova..tests.test_xenapi.rst
+source/api/nova..tests.xenapi.stubs.rst
+source/api/nova..twistd.rst
+source/api/nova..utils.rst
+source/api/nova..version.rst
+source/api/nova..virt.connection.rst
+source/api/nova..virt.disk.rst
+source/api/nova..virt.fake.rst
+source/api/nova..virt.hyperv.rst
+source/api/nova..virt.images.rst
+source/api/nova..virt.libvirt_conn.rst
+source/api/nova..virt.xenapi.fake.rst
+source/api/nova..virt.xenapi.network_utils.rst
+source/api/nova..virt.xenapi.vm_utils.rst
+source/api/nova..virt.xenapi.vmops.rst
+source/api/nova..virt.xenapi.volume_utils.rst
+source/api/nova..virt.xenapi.volumeops.rst
+source/api/nova..virt.xenapi_conn.rst
+source/api/nova..volume.api.rst
+source/api/nova..volume.driver.rst
+source/api/nova..volume.manager.rst
+source/api/nova..volume.san.rst
+source/api/nova..wsgi.rst
+source/api/autoindex.rst
+source/api/nova..adminclient.rst
+source/api/nova..api.direct.rst
+source/api/nova..api.ec2.admin.rst
+source/api/nova..api.ec2.apirequest.rst
+source/api/nova..api.ec2.cloud.rst
+source/api/nova..api.ec2.metadatarequesthandler.rst
+source/api/nova..api.openstack.auth.rst
+source/api/nova..api.openstack.backup_schedules.rst
+source/api/nova..api.openstack.common.rst
+source/api/nova..api.openstack.consoles.rst
+source/api/nova..api.openstack.faults.rst
+source/api/nova..api.openstack.flavors.rst
+source/api/nova..api.openstack.images.rst
+source/api/nova..api.openstack.servers.rst
+source/api/nova..api.openstack.shared_ip_groups.rst
+source/api/nova..api.openstack.zones.rst
+source/api/nova..auth.dbdriver.rst
+source/api/nova..auth.fakeldap.rst
+source/api/nova..auth.ldapdriver.rst
+source/api/nova..auth.manager.rst
+source/api/nova..auth.signer.rst
+source/api/nova..cloudpipe.pipelib.rst
+source/api/nova..compute.api.rst
+source/api/nova..compute.instance_types.rst
+source/api/nova..compute.manager.rst
+source/api/nova..compute.monitor.rst
+source/api/nova..compute.power_state.rst
+source/api/nova..console.api.rst
+source/api/nova..console.fake.rst
+source/api/nova..console.manager.rst
+source/api/nova..console.xvp.rst
+source/api/nova..context.rst
+source/api/nova..crypto.rst
+source/api/nova..db.api.rst
+source/api/nova..db.base.rst
+source/api/nova..db.migration.rst
+source/api/nova..db.sqlalchemy.api.rst
+source/api/nova..db.sqlalchemy.migrate_repo.manage.rst
+source/api/nova..db.sqlalchemy.migrate_repo.versions.001_austin.rst
+source/api/nova..db.sqlalchemy.migrate_repo.versions.002_bexar.rst
+source/api/nova..db.sqlalchemy.migrate_repo.versions.003_add_label_to_networks.rst
+source/api/nova..db.sqlalchemy.migrate_repo.versions.004_add_zone_tables.rst
+source/api/nova..db.sqlalchemy.migrate_repo.versions.005_add_instance_metadata.rst
+source/api/nova..db.sqlalchemy.migrate_repo.versions.006_add_provider_data_to_volumes.rst
+source/api/nova..db.sqlalchemy.migrate_repo.versions.007_add_instance_types.rst
+source/api/nova..db.sqlalchemy.migration.rst
+source/api/nova..db.sqlalchemy.models.rst
+source/api/nova..db.sqlalchemy.session.rst
+source/api/nova..exception.rst
+source/api/nova..fakememcache.rst
+source/api/nova..fakerabbit.rst
+source/api/nova..flags.rst
+source/api/nova..image.glance.rst
+source/api/nova..image.local.rst
+source/api/nova..image.s3.rst
+source/api/nova..image.service.rst
+source/api/nova..log.rst
+source/api/nova..manager.rst
+source/api/nova..network.api.rst
+source/api/nova..network.linux_net.rst
+source/api/nova..network.manager.rst
+source/api/nova..objectstore.bucket.rst
+source/api/nova..objectstore.handler.rst
+source/api/nova..objectstore.image.rst
+source/api/nova..objectstore.stored.rst
+source/api/nova..quota.rst
+source/api/nova..rpc.rst
+source/api/nova..scheduler.chance.rst
+source/api/nova..scheduler.driver.rst
+source/api/nova..scheduler.manager.rst
+source/api/nova..scheduler.simple.rst
+source/api/nova..scheduler.zone.rst
+source/api/nova..service.rst
+source/api/nova..test.rst
+source/api/nova..tests.api.openstack.fakes.rst
+source/api/nova..tests.api.openstack.test_adminapi.rst
+source/api/nova..tests.api.openstack.test_api.rst
+source/api/nova..tests.api.openstack.test_auth.rst
+source/api/nova..tests.api.openstack.test_common.rst
+source/api/nova..tests.api.openstack.test_faults.rst
+source/api/nova..tests.api.openstack.test_flavors.rst
+source/api/nova..tests.api.openstack.test_images.rst
+source/api/nova..tests.api.openstack.test_ratelimiting.rst
+source/api/nova..tests.api.openstack.test_servers.rst
+source/api/nova..tests.api.openstack.test_shared_ip_groups.rst
+source/api/nova..tests.api.openstack.test_zones.rst
+source/api/nova..tests.api.test_wsgi.rst
+source/api/nova..tests.db.fakes.rst
+source/api/nova..tests.declare_flags.rst
+source/api/nova..tests.fake_flags.rst
+source/api/nova..tests.glance.stubs.rst
+source/api/nova..tests.hyperv_unittest.rst
+source/api/nova..tests.objectstore_unittest.rst
+source/api/nova..tests.real_flags.rst
+source/api/nova..tests.runtime_flags.rst
+source/api/nova..tests.test_access.rst
+source/api/nova..tests.test_api.rst
+source/api/nova..tests.test_auth.rst
+source/api/nova..tests.test_cloud.rst
+source/api/nova..tests.test_compute.rst
+source/api/nova..tests.test_console.rst
+source/api/nova..tests.test_direct.rst
+source/api/nova..tests.test_flags.rst
+source/api/nova..tests.test_instance_types.rst
+source/api/nova..tests.test_localization.rst
+source/api/nova..tests.test_log.rst
+source/api/nova..tests.test_middleware.rst
+source/api/nova..tests.test_misc.rst
+source/api/nova..tests.test_network.rst
+source/api/nova..tests.test_quota.rst
+source/api/nova..tests.test_rpc.rst
+source/api/nova..tests.test_scheduler.rst
+source/api/nova..tests.test_service.rst
+source/api/nova..tests.test_test.rst
+source/api/nova..tests.test_twistd.rst
+source/api/nova..tests.test_utils.rst
+source/api/nova..tests.test_virt.rst
+source/api/nova..tests.test_volume.rst
+source/api/nova..tests.test_xenapi.rst
+source/api/nova..tests.xenapi.stubs.rst
+source/api/nova..twistd.rst
+source/api/nova..utils.rst
+source/api/nova..version.rst
+source/api/nova..virt.connection.rst
+source/api/nova..virt.disk.rst
+source/api/nova..virt.fake.rst
+source/api/nova..virt.hyperv.rst
+source/api/nova..virt.images.rst
+source/api/nova..virt.libvirt_conn.rst
+source/api/nova..virt.xenapi.fake.rst
+source/api/nova..virt.xenapi.network_utils.rst
+source/api/nova..virt.xenapi.vm_utils.rst
+source/api/nova..virt.xenapi.vmops.rst
+source/api/nova..virt.xenapi.volume_utils.rst
+source/api/nova..virt.xenapi.volumeops.rst
+source/api/nova..virt.xenapi_conn.rst
+source/api/nova..volume.api.rst
+source/api/nova..volume.driver.rst
+source/api/nova..volume.manager.rst
+source/api/nova..volume.san.rst
+source/api/nova..wsgi.rst
diff --git a/doc/build/html/.buildinfo b/doc/build/html/.buildinfo
new file mode 100644
index 000000000..091736d4f
--- /dev/null
+++ b/doc/build/html/.buildinfo
@@ -0,0 +1,4 @@
+# Sphinx build info version 1
+# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
+config: 2a2fe6198f4be4a4d6f289b09d16d74a
+tags: fbb0d17656682115ca4d033fb2f83ba1
diff --git a/doc/ext/nova_autodoc.py b/doc/ext/nova_autodoc.py
index 5429bb656..3dd992d84 100644
--- a/doc/ext/nova_autodoc.py
+++ b/doc/ext/nova_autodoc.py
@@ -8,5 +8,6 @@ from nova import utils
def setup(app):
rootdir = os.path.abspath(app.srcdir + '/..')
print "**Autodocumenting from %s" % rootdir
- rv = utils.execute('cd %s && ./generate_autodoc_index.sh' % rootdir)
+ os.chdir(rootdir)
+ rv = utils.execute('./generate_autodoc_index.sh')
print rv[0]
diff --git a/doc/source/_static/tweaks.css b/doc/source/_static/tweaks.css
index 1a18dbac6..7c57c8f35 100644
--- a/doc/source/_static/tweaks.css
+++ b/doc/source/_static/tweaks.css
@@ -69,3 +69,150 @@ table.docutils {
.tweet_list li .tweet_avatar {
float: left;
}
+
+/* ------------------------------------------
+PURE CSS SPEECH BUBBLES
+by Nicolas Gallagher
+- http://nicolasgallagher.com/pure-css-speech-bubbles/
+
+http://nicolasgallagher.com
+http://twitter.com/necolas
+
+Created: 02 March 2010
+Version: 1.1 (21 October 2010)
+
+Dual licensed under MIT and GNU GPLv2 © Nicolas Gallagher
+------------------------------------------ */
+/* THE SPEECH BUBBLE
+------------------------------------------------------------------------------------------------------------------------------- */
+
+/* THE SPEECH BUBBLE
+------------------------------------------------------------------------------------------------------------------------------- */
+
+.triangle-border {
+ position:relative;
+ padding:15px;
+ margin:1em 0 3em;
+ border:5px solid #BC1518;
+ color:#333;
+ background:#fff;
+
+ /* css3 */
+ -moz-border-radius:10px;
+ -webkit-border-radius:10px;
+ border-radius:10px;
+}
+
+/* Variant : for left positioned triangle
+------------------------------------------ */
+
+.triangle-border.left {
+ margin-left:30px;
+}
+
+/* Variant : for right positioned triangle
+------------------------------------------ */
+
+.triangle-border.right {
+ margin-right:30px;
+}
+
+/* THE TRIANGLE
+------------------------------------------------------------------------------------------------------------------------------- */
+
+.triangle-border:before {
+ content:"";
+ display:block; /* reduce the damage in FF3.0 */
+ position:absolute;
+ bottom:-40px; /* value = - border-top-width - border-bottom-width */
+ left:40px; /* controls horizontal position */
+ width:0;
+ height:0;
+ border:20px solid transparent;
+ border-top-color:#BC1518;
+}
+
+/* creates the smaller triangle */
+.triangle-border:after {
+ content:"";
+ display:block; /* reduce the damage in FF3.0 */
+ position:absolute;
+ bottom:-26px; /* value = - border-top-width - border-bottom-width */
+ left:47px; /* value = (:before left) + (:before border-left) - (:after border-left) */
+ width:0;
+ height:0;
+ border:13px solid transparent;
+ border-top-color:#fff;
+}
+
+/* Variant : top
+------------------------------------------ */
+
+/* creates the larger triangle */
+.triangle-border.top:before {
+ top:-40px; /* value = - border-top-width - border-bottom-width */
+ right:40px; /* controls horizontal position */
+ bottom:auto;
+ left:auto;
+ border:20px solid transparent;
+ border-bottom-color:#BC1518;
+}
+
+/* creates the smaller triangle */
+.triangle-border.top:after {
+ top:-26px; /* value = - border-top-width - border-bottom-width */
+ right:47px; /* value = (:before right) + (:before border-right) - (:after border-right) */
+ bottom:auto;
+ left:auto;
+ border:13px solid transparent;
+ border-bottom-color:#fff;
+}
+
+/* Variant : left
+------------------------------------------ */
+
+/* creates the larger triangle */
+.triangle-border.left:before {
+ top:10px; /* controls vertical position */
+ left:-30px; /* value = - border-left-width - border-right-width */
+ bottom:auto;
+ border-width:15px 30px 15px 0;
+ border-style:solid;
+ border-color:transparent #BC1518;
+}
+
+/* creates the smaller triangle */
+.triangle-border.left:after {
+ top:16px; /* value = (:before top) + (:before border-top) - (:after border-top) */
+ left:-21px; /* value = - border-left-width - border-right-width */
+ bottom:auto;
+ border-width:9px 21px 9px 0;
+ border-style:solid;
+ border-color:transparent #fff;
+}
+
+/* Variant : right
+------------------------------------------ */
+
+/* creates the larger triangle */
+.triangle-border.right:before {
+ top:10px; /* controls vertical position */
+ right:-30px; /* value = - border-left-width - border-right-width */
+ bottom:auto;
+ left:auto;
+ border-width:15px 0 15px 30px;
+ border-style:solid;
+ border-color:transparent #BC1518;
+}
+
+/* creates the smaller triangle */
+.triangle-border.right:after {
+ top:16px; /* value = (:before top) + (:before border-top) - (:after border-top) */
+ right:-21px; /* value = - border-left-width - border-right-width */
+ bottom:auto;
+ left:auto;
+ border-width:9px 0 9px 21px;
+ border-style:solid;
+ border-color:transparent #fff;
+}
+
diff --git a/doc/source/_theme/layout.html b/doc/source/_theme/layout.html
index e3eb54b71..0a37a7943 100644
--- a/doc/source/_theme/layout.html
+++ b/doc/source/_theme/layout.html
@@ -71,12 +71,21 @@
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
+
+ <p class="triangle-border right">
+ Psst... hey. You're reading the latest content, but it might be out of sync with code. You can read <a href="http://nova.openstack.org/2011.1">Nova 2011.1 docs</a> or <a href="http://docs.openstack.org">all OpenStack docs</a> too.
+ </p>
+
{%- endif %}
{%- if pagename == "index" %}
- <h3>{{ _('Twitter Feed') }}</h3>
+
+
+ <h3>{{ _('Twitter Feed') }}</h3>
<div id="twitter_feed" class='twitter_feed'></div>
{%- endif %}
+
+
{%- endblock %}
diff --git a/doc/source/adminguide/distros/others.rst b/doc/source/adminguide/distros/others.rst
deleted file mode 100644
index ec14a9abb..000000000
--- a/doc/source/adminguide/distros/others.rst
+++ /dev/null
@@ -1,88 +0,0 @@
-Installation on other distros (like Debian, Fedora or CentOS )
-==============================================================
-
-Feel free to add additional notes for additional distributions.
-
-Nova installation on CentOS 5.5
--------------------------------
-
-These are notes for installing OpenStack Compute on CentOS 5.5 and will be updated but are NOT final. Please test for accuracy and edit as you see fit.
-
-The principle botleneck for running nova on centos in python 2.6. Nova is written in python 2.6 and CentOS 5.5. comes with python 2.4. We can not update python system wide as some core utilities (like yum) is dependent on python 2.4. Also very few python 2.6 modules are available in centos/epel repos.
-
-Pre-reqs
---------
-
-Add euca2ools and EPEL repo first.::
-
- cat >/etc/yum.repos.d/euca2ools.repo << EUCA_REPO_CONF_EOF
- [eucalyptus]
- name=euca2ools
- baseurl=http://www.eucalyptussoftware.com/downloads/repo/euca2ools/1.3.1/yum/centos/
- enabled=1
- gpgcheck=0
-
- EUCA_REPO_CONF_EOF
-
-::
-
- rpm -Uvh 'http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm'
-
-Now install python2.6, kvm and few other libraries through yum::
-
- yum -y install dnsmasq vblade kpartx kvm gawk iptables ebtables bzr screen euca2ools curl rabbitmq-server gcc gcc-c++ autoconf automake swig openldap openldap-servers nginx python26 python26-devel python26-distribute git openssl-devel python26-tools mysql-server qemu kmod-kvm libxml2 libxslt libxslt-devel mysql-devel
-
-Then download the latest aoetools and then build(and install) it, check for the latest version on sourceforge, exact url will change if theres a new release::
-
- wget -c http://sourceforge.net/projects/aoetools/files/aoetools/32/aoetools-32.tar.gz/download
- tar -zxvf aoetools-32.tar.gz
- cd aoetools-32
- make
- make install
-
-Add the udev rules for aoetools::
-
- cat > /etc/udev/rules.d/60-aoe.rules << AOE_RULES_EOF
- SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k", GROUP="disk", MODE="0220"
- SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k", GROUP="disk", MODE="0440"
- SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k", GROUP="disk", MODE="0220"
- SUBSYSTEM=="aoe", KERNEL=="revalidate", NAME="etherd/%k", GROUP="disk", MODE="0220"
- # aoe block devices
- KERNEL=="etherd*", NAME="%k", GROUP="disk"
- AOE_RULES_EOF
-
-Load the kernel modules::
-
- modprobe aoe
-
-::
-
- modprobe kvm
-
-Now, install the python modules using easy_install-2.6, this ensures the installation are done against python 2.6
-
-
-easy_install-2.6 twisted sqlalchemy mox greenlet carrot daemon eventlet tornado IPy routes lxml MySQL-python
-python-gflags need to be downloaded and installed manually, use these commands (check the exact url for newer releases ):
-
-::
-
- wget -c "http://python-gflags.googlecode.com/files/python-gflags-1.4.tar.gz"
- tar -zxvf python-gflags-1.4.tar.gz
- cd python-gflags-1.4
- python2.6 setup.py install
- cd ..
-
-Same for python2.6-libxml2 module, notice the --with-python and --prefix flags. --with-python ensures we are building it against python2.6 (otherwise it will build against python2.4, which is default)::
-
- wget -c "ftp://xmlsoft.org/libxml2/libxml2-2.7.3.tar.gz"
- tar -zxvf libxml2-2.7.3.tar.gz
- cd libxml2-2.7.3
- ./configure --with-python=/usr/bin/python26 --prefix=/usr
- make all
- make install
- cd python
- python2.6 setup.py install
- cd ..
-
-Once you've done this, continue at Step 3 here: :doc:`../single.node.install`
diff --git a/doc/source/adminguide/distros/ubuntu.10.04.rst b/doc/source/adminguide/distros/ubuntu.10.04.rst
deleted file mode 100644
index bd0693c46..000000000
--- a/doc/source/adminguide/distros/ubuntu.10.04.rst
+++ /dev/null
@@ -1,40 +0,0 @@
-Installing on Ubuntu 10.04 (Lucid)
-==================================
-
-Step 1: Install dependencies
-----------------------------
-Grab the latest code from launchpad:
-
-::
-
- bzr clone lp:nova
-
-Here's a script you can use to install (and then run) Nova on Ubuntu or Debian (when using Debian, edit nova.sh to have USE_PPA=0):
-
-.. todo:: give a link to a stable releases page
-
-Step 2: Install dependencies
-----------------------------
-
-Nova requires rabbitmq for messaging, so install that first.
-
-*Note:* You must have sudo installed to run these commands as shown here.
-
-::
-
- sudo apt-get install rabbitmq-server
-
-
-You'll see messages starting with "Reading package lists... Done" and you must confirm by typing Y that you want to continue.
-
-If you're running on Ubuntu 10.04, you'll need to install Twisted and python-gflags which is included in the OpenStack PPA.
-
-::
-
- sudo apt-get install python-software-properties
- sudo add-apt-repository ppa:nova-core/trunk
- sudo apt-get update
- sudo apt-get install python-twisted python-gflags
-
-
-Once you've done this, continue at Step 3 here: :doc:`../single.node.install`
diff --git a/doc/source/adminguide/distros/ubuntu.10.10.rst b/doc/source/adminguide/distros/ubuntu.10.10.rst
deleted file mode 100644
index a3fa2def1..000000000
--- a/doc/source/adminguide/distros/ubuntu.10.10.rst
+++ /dev/null
@@ -1,41 +0,0 @@
-Installing on Ubuntu 10.10 (Maverick)
-=====================================
-Single Machine Installation (Ubuntu 10.10)
-
-While we wouldn't expect you to put OpenStack Compute into production on a non-LTS version of Ubuntu, these instructions are up-to-date with the latest version of Ubuntu.
-
-Make sure you are running Ubuntu 10.10 so that the packages will be available. This install requires more than 70 MB of free disk space.
-
-These instructions are based on Soren Hansen's blog entry, Openstack on Maverick. A script is in progress as well.
-
-Step 1: Install required prerequisites
---------------------------------------
-Nova requires rabbitmq for messaging and redis for storing state (for now), so we'll install these first.::
-
- sudo apt-get install rabbitmq-server redis-server
-
-You'll see messages starting with "Reading package lists... Done" and you must confirm by typing Y that you want to continue.
-
-Step 2: Install Nova packages available in Maverick Meerkat
------------------------------------------------------------
-Type or copy/paste in the following line to get the packages that you use to run OpenStack Compute.::
-
- sudo apt-get install python-nova
- sudo apt-get install nova-api nova-objectstore nova-compute nova-scheduler nova-network euca2ools unzip
-
-You'll see messages starting with "Reading package lists... Done" and you must confirm by typing Y that you want to continue. This operation may take a while as many dependent packages will be installed. Note: there is a dependency problem with python-nova which can be worked around by installing first.
-
-When the installation is complete, you'll see the following lines confirming:::
-
- Adding system user `nova' (UID 106) ...
- Adding new user `nova' (UID 106) with group `nogroup' ...
- Not creating home directory `/var/lib/nova'.
- Setting up nova-scheduler (0.9.1~bzr331-0ubuntu2) ...
- * Starting nova scheduler nova-scheduler
- WARNING:root:Starting scheduler node
- ...done.
- Processing triggers for libc-bin ...
- ldconfig deferred processing now taking place
- Processing triggers for python-support ...
-
-Once you've done this, continue at Step 3 here: :doc:`../single.node.install`
diff --git a/doc/source/adminguide/flags.rst b/doc/source/adminguide/flags.rst
deleted file mode 100644
index 072f0a1a5..000000000
--- a/doc/source/adminguide/flags.rst
+++ /dev/null
@@ -1,23 +0,0 @@
-..
- Copyright 2010-2011 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.
-
-Flags and Flagfiles
-===================
-
-* python-gflags
-* flagfiles
-* list of flags by component (see concepts list)
diff --git a/doc/source/adminguide/multi.node.install.rst b/doc/source/adminguide/multi.node.install.rst
deleted file mode 100644
index c53455e3e..000000000
--- a/doc/source/adminguide/multi.node.install.rst
+++ /dev/null
@@ -1,392 +0,0 @@
-
-Installing Nova on Multiple Servers
-===================================
-
-When you move beyond evaluating the technology and into building an actual
-production environment, you will need to know how to configure your datacenter
-and how to deploy components across your clusters. This guide should help you
-through that process.
-
-You can install multiple nodes to increase performance and availability of the OpenStack Compute installation.
-
-This setup is based on an Ubuntu Lucid 10.04 installation with the latest updates. Most of this works around issues that need to be resolved either in packaging or bug-fixing. It also needs to eventually be generalized, but the intent here is to get the multi-node configuration bootstrapped so folks can move forward.
-
-For a starting architecture, these instructions describing installing a cloud controller node and a compute node. The cloud controller node contains the nova- services plus the database. The compute node installs all the nova-services but then refers to the database installation, which is hosted by the cloud controller node.
-
-Requirements for a multi-node installation
-------------------------------------------
-
-* You need a real database, compatible with SQLAlchemy (mysql, postgresql) There's not a specific reason to choose one over another, it basically depends what you know. MySQL is easier to do High Availability (HA) with, but people may already know PostgreSQL. We should document both configurations, though.
-* For a recommended HA setup, consider a MySQL master/slave replication, with as many slaves as you like, and probably a heartbeat to kick one of the slaves into being a master if it dies.
-* For performance optimization, split reads and writes to the database. MySQL proxy is the easiest way to make this work if running MySQL.
-
-Assumptions
------------
-
-* Networking is configured between/through the physical machines on a single subnet.
-* Installation and execution are both performed by ROOT user.
-
-
-Scripted Installation
----------------------
-A script available to get your OpenStack cloud running quickly. You can copy the file to the server where you want to install OpenStack Compute services - typically you would install a compute node and a cloud controller node.
-
-You must run these scripts with root permissions.
-
-From a server you intend to use as a cloud controller node, use this command to get the cloud controller script. This script is a work-in-progress and the maintainer plans to keep it up, but it is offered "as-is." Feel free to collaborate on it in GitHub - https://github.com/dubsquared/OpenStack-NOVA-Installer-Script/.
-
-::
-
- wget --no-check-certificate https://github.com/dubsquared/OpenStack-NOVA-Installer-Script/raw/master/nova-CC-install-v1.1.sh
-
-Ensure you can execute the script by modifying the permissions on the script file.
-
-::
-
- sudo chmod 755 nova-CC-install-v1.1.sh
-
-
-::
-
- sudo ./nova-CC-install-v1.1.sh
-
-Next, from a server you intend to use as a compute node (doesn't contain the database), install the nova services. You can use the nova-NODE-installer.sh script from the above github-hosted project for the compute node installation.
-
-Copy the nova.conf from the cloud controller node to the compute node.
-
-Restart related services::
-
- libvirtd restart; service nova-network restart; service nova-compute restart; service nova-api restart; service nova-objectstore restart; service nova-scheduler restart
-
-You can go to the `Configuration section`_ for next steps.
-
-Manual Installation - Step-by-Step
-----------------------------------
-The following sections show you how to install Nova manually with a cloud controller node and a separate compute node. The cloud controller node contains the database plus all nova- services, and the compute node runs nova- services only.
-
-Cloud Controller Installation
-`````````````````````````````
-On the cloud controller node, you install nova services and the related helper applications, and then configure with the nova.conf file. You will then copy the nova.conf file to the compute node, which you install as a second node in the `Compute Installation`_.
-
-Step 1 - Use apt-get to get the latest code
--------------------------------------------
-
-1. Setup Nova PPA with https://launchpad.net/~nova-core/+archive/trunk. The ‘python-software-properties’ package is a pre-requisite for setting up the nova package repo:
-
-::
-
- sudo apt-get install python-software-properties
- sudo add-apt-repository ppa:nova-core/trunk
-
-2. Run update.
-
-::
-
- sudo apt-get update
-
-3. Install python required packages, nova-packages, and helper apps.
-
-::
-
- sudo apt-get install python-greenlet python-mysqldb python-nova nova-common nova-doc nova-api nova-network nova-objectstore nova-scheduler nova-compute euca2ools unzip
-
-It is highly likely that there will be errors when the nova services come up since they are not yet configured. Don't worry, you're only at step 1!
-
-Step 2 Set up configuration file (installed in /etc/nova)
----------------------------------------------------------
-
-1. Nova development has consolidated all config files to nova.conf as of November 2010. There is a default set of options that are already configured in nova.conf:
-
-::
-
---daemonize=1
---dhcpbridge_flagfile=/etc/nova/nova.conf
---dhcpbridge=/usr/bin/nova-dhcpbridge
---logdir=/var/log/nova
---state_path=/var/lib/nova
-
-The following items ALSO need to be defined in /etc/nova/nova.conf. I’ve added some explanation of the variables, as comments CANNOT be in nova.conf. There seems to be an issue with nova-manage not processing the comments/whitespace correctly:
-
---sql_connection ### Location of Nova SQL DB
-
---s3_host ### This is where Nova is hosting the objectstore service, which will contain the VM images and buckets
-
---rabbit_host ### This is where the rabbit AMQP messaging service is hosted
-
---cc_host ### This is where the the nova-api service lives
-
---verbose ### Optional but very helpful during initial setup
-
---ec2_url ### The location to interface nova-api
-
---network_manager ### Many options here, discussed below. This is how your controller will communicate with additional Nova nodes and VMs:
-
-nova.network.manager.FlatManager # Simple, no-vlan networking type
-nova.network.manager. FlatDHCPManager # Flat networking with DHCP
-nova.network.manager.VlanManager # Vlan networking with DHCP – /DEFAULT/ if no network manager is defined in nova.conf
-
---fixed_range=<network/prefix> ### This will be the IP network that ALL the projects for future VM guests will reside on. E.g. 192.168.0.0/12
-
---network_size=<# of addrs> ### This is the total number of IP Addrs to use for VM guests, of all projects. E.g. 5000
-
-The following code can be cut and paste, and edited to your setup:
-
-Note: CC_ADDR=<the external IP address of your cloud controller>
-
-Detailed explanation of the following example is available above.
-
-::
-
---sql_connection=mysql://root:nova@<CC_ADDR>/nova
---s3_host=<CC_ADDR>
---rabbit_host=<CC_ADDR>
---cc_host=<CC_ADDR>
---verbose
---ec2_url=http://<CC_ADDR>:8773/services/Cloud
---network_manager=nova.network.manager.VlanManager
---fixed_range=<network/prefix>
---network_size=<# of addrs>
-
-2. Create a “nova” group, and set permissions::
-
- addgroup nova
-
-The Nova config file should have its owner set to root:nova, and mode set to 0644, since they contain your MySQL server's root password. ::
-
- chown -R root:nova /etc/nova
- chmod 644 /etc/nova/nova.conf
-
-Step 3 - Setup the SQL DB (MySQL for this setup)
-------------------------------------------------
-
-1. First you 'preseed' to bypass all the installation prompts::
-
- bash
- MYSQL_PASS=nova
- cat <<MYSQL_PRESEED | debconf-set-selections
- mysql-server-5.1 mysql-server/root_password password $MYSQL_PASS
- mysql-server-5.1 mysql-server/root_password_again password $MYSQL_PASS
- mysql-server-5.1 mysql-server/start_on_boot boolean true
- MYSQL_PRESEED
-
-2. Install MySQL::
-
- apt-get install -y mysql-server
-
-3. Edit /etc/mysql/my.cnf to change ‘bind-address’ from localhost to any::
-
- sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf
- service mysql restart
-
-4. MySQL DB configuration:
-
-Create NOVA database::
-
- mysql -uroot -p$MYSQL_PASS -e 'CREATE DATABASE nova;'
-
-Update the DB to include user 'root'@'%' with super user privileges::
-
- mysql -uroot -p$MYSQL_PASS -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;"
-
-Set mySQL root password::
-
- mysql -uroot -p$MYSQL_PASS -e "SET PASSWORD FOR 'root'@'%' = PASSWORD('$MYSQL_PASS');"
-
-Compute Node Installation
-`````````````````````````
-
-Repeat steps 1 and 2 from the Cloud Controller Installation section above, then configure the network for your Compute instances on the Compute node. Copy the nova.conf file from the Cloud Controller node to this node.
-
-Network Configuration
----------------------
-
-If you use FlatManager as your network manager (as opposed to VlanManager that is shown in the nova.conf example above), there are some additional networking changes you’ll have to make to ensure connectivity between your nodes and VMs. If you chose VlanManager or FlatDHCP, you may skip this section, as it’s set up for you automatically.
-
-Nova defaults to a bridge device named 'br100'. This needs to be created and somehow integrated into YOUR network. To keep things as simple as possible, have all the VM guests on the same network as the VM hosts (the compute nodes). To do so, set the compute node's external IP address to be on the bridge and add eth0 to that bridge. To do this, edit your network interfaces config to look like the following::
-
- < begin /etc/network/interfaces >
- # The loopback network interface
- auto lo
- iface lo inet loopback
-
- # Networking for NOVA
- auto br100
-
- iface br100 inet dhcp
- bridge_ports eth0
- bridge_stp off
- bridge_maxwait 0
- bridge_fd 0
- < end /etc/network/interfaces >
-
-Next, restart networking to apply the changes::
-
- sudo /etc/init.d/networking restart
-
-Configuration
-`````````````
-
-On the Compute node, you should continue with these configuration steps.
-
-Step 1 - Set up the Nova environment
-------------------------------------
-
-These are the commands you run to update the database if needed, and then set up a user and project::
-
- /usr/bin/python /usr/bin/nova-manage db sync
- /usr/bin/python /usr/bin/nova-manage user admin <user_name>
- /usr/bin/python /usr/bin/nova-manage project create <project_name> <user_name>
- /usr/bin/python /usr/bin/nova-manage network create <project-network> <number-of-networks-in-project> <IPs in project>
-
-Here is an example of what this looks like with real data::
-
- /usr/bin/python /usr/bin/nova-manage db sync
- /usr/bin/python /usr/bin/nova-manage user admin dub
- /usr/bin/python /usr/bin/nova-manage project create dubproject dub
- /usr/bin/python /usr/bin/nova-manage network create 192.168.0.0/24 1 255
-
-(I chose a /24 since that falls inside my /12 range I set in ‘fixed-range’ in nova.conf. Currently, there can only be one network, and I am using the max IP’s available in a /24. You can choose to use any valid amount that you would like.)
-
-Note: The nova-manage service assumes that the first IP address is your network (like 192.168.0.0), that the 2nd IP is your gateway (192.168.0.1), and that the broadcast is the very last IP in the range you defined (192.168.0.255). If this is not the case you will need to manually edit the sql db 'networks' table.o.
-
-On running the "nova-manage network create" command, entries are made in the 'networks' and 'fixed_ips' table. However, one of the networks listed in the 'networks' table needs to be marked as bridge in order for the code to know that a bridge exists. The Network is marked as bridged automatically based on the type of network manager selected. You only need to mark the network as a bridge if you chose FlatManager as your network type. More information can be found at the end of this document discussing setting up the bridge device.
-
-
-Step 2 - Create Nova certifications
------------------------------------
-
-1. Generate the certs as a zip file. These are the certs you will use to launch instances, bundle images, and all the other assorted api functions.
-
-::
-
- mkdir –p /root/creds
- /usr/bin/python /usr/bin/nova-manage project zipfile $NOVA_PROJECT $NOVA_PROJECT_USER /root/creds/novacreds.zip
-
-2. Unzip them in your home directory, and add them to your environment.
-
-::
-
- unzip /root/creds/novacreds.zip -d /root/creds/
- cat /root/creds/novarc >> ~/.bashrc
- source ~/.bashrc
-
-Step 3 - Restart all relevant services
---------------------------------------
-
-Restart all six services in total, just to cover the entire spectrum::
-
- libvirtd restart; service nova-network restart; service nova-compute restart; service nova-api restart; service nova-objectstore restart; service nova-scheduler restart
-
-Step 4 - Closing steps, and cleaning up
----------------------------------------
-
-One of the most commonly missed configuration areas is not allowing the proper access to VMs. Use the 'euca-authorize' command to enable access. Below, you will find the commands to allow 'ping' and 'ssh' to your VMs::
-
- euca-authorize -P icmp -t -1:-1 default
- euca-authorize -P tcp -p 22 default
-
-Another common issue is you cannot ping or SSH your instances after issusing the 'euca-authorize' commands. Something to look at is the amount of 'dnsmasq' processes that are running. If you have a running instance, check to see that TWO 'dnsmasq' processes are running. If not, perform the following::
-
- killall dnsmasq
- service nova-network restart
-
-To avoid issues with KVM and permissions with Nova, run the following commands to ensure we have VM's that are running optimally::
-
- chgrp kvm /dev/kvm
- chmod g+rwx /dev/kvm
-
-If you want to use the 10.04 Ubuntu Enterprise Cloud images that are readily available at http://uec-images.ubuntu.com/releases/10.04/release/, you may run into delays with booting. Any server that does not have nova-api running on it needs this iptables entry so that UEC images can get metadata info. On compute nodes, configure the iptables with this next step::
-
- # iptables -t nat -A PREROUTING -d 169.254.169.254/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination $NOVA_API_IP:8773
-
-Testing the Installation
-````````````````````````
-
-You can confirm that your compute node is talking to your cloud controller. From the cloud controller, run this database query::
-
- mysql -u$MYSQL_USER -p$MYSQL_PASS nova -e 'select * from services;'
-
-In return, you should see something similar to this::
- +---------------------+---------------------+------------+---------+----+----------+----------------+-----------+--------------+----------+-------------------+
- | created_at | updated_at | deleted_at | deleted | id | host | binary | topic | report_count | disabled | availability_zone |
- +---------------------+---------------------+------------+---------+----+----------+----------------+-----------+--------------+----------+-------------------+
- | 2011-01-28 22:52:46 | 2011-02-03 06:55:48 | NULL | 0 | 1 | osdemo02 | nova-network | network | 46064 | 0 | nova |
- | 2011-01-28 22:52:48 | 2011-02-03 06:55:57 | NULL | 0 | 2 | osdemo02 | nova-compute | compute | 46056 | 0 | nova |
- | 2011-01-28 22:52:52 | 2011-02-03 06:55:50 | NULL | 0 | 3 | osdemo02 | nova-scheduler | scheduler | 46065 | 0 | nova |
- | 2011-01-29 23:49:29 | 2011-02-03 06:54:26 | NULL | 0 | 4 | osdemo01 | nova-compute | compute | 37050 | 0 | nova |
- | 2011-01-30 23:42:24 | 2011-02-03 06:55:44 | NULL | 0 | 9 | osdemo04 | nova-compute | compute | 28484 | 0 | nova |
- | 2011-01-30 21:27:28 | 2011-02-03 06:54:23 | NULL | 0 | 8 | osdemo05 | nova-compute | compute | 29284 | 0 | nova |
- +---------------------+---------------------+------------+---------+----+----------+----------------+-----------+--------------+----------+-------------------+
-You can see that 'osdemo0{1,2,4,5} are all running 'nova-compute.' When you start spinning up instances, they will allocate on any node that is running nova-compute from this list.
-
-You can then use `euca2ools` to test some items::
-
- euca-describe-images
- euca-describe-instances
-
-If you have issues with the API key, you may need to re-source your creds file::
-
- . /root/creds/novarc
-
-If you don’t get any immediate errors, you’re successfully making calls to your cloud!
-
-Spinning up a VM for Testing
-````````````````````````````
-
-(This excerpt is from Thierry Carrez's blog, with reference to http://wiki.openstack.org/GettingImages.)
-
-The image that you will use here will be a ttylinux image, so this is a limited function server. You will be able to ping and SSH to this instance, but it is in no way a full production VM.
-
-UPDATE: Due to `bug 661159 <https://bugs.launchpad.net/nova/+bug/661159>`_, we can’t use images without ramdisks yet, so we can’t use the classic Ubuntu cloud images from http://uec-images.ubuntu.com/releases/ yet. For the sake of this tutorial, we’ll use the `ttylinux images from Scott Moser instead <http://smoser.brickies.net/ubuntu/ttylinux-uec/>`_.
-
-Download the image, and publish to your bucket:
-
-::
-
- image="ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz"
- wget http://smoser.brickies.net/ubuntu/ttylinux-uec/$image
- uec-publish-tarball $image mybucket
-
-This will output three references, an "emi", an "eri" and an "eki." (Image, ramdisk, and kernel) The emi is the one we use to launch instances, so take note of this.
-
-Create a keypair to SSH to the server:
-
-::
-
- euca-add-keypair mykey > mykey.priv
-
- chmod 0600 mykey.priv
-
-Boot your instance:
-
-::
-
- euca-run-instances $emi -k mykey -t m1.tiny
-
-($emi is replaced with the output from the previous command)
-
-Checking status, and confirming communication:
-
-Once you have booted the instance, you can check the status the the `euca-describe-instances` command. Here you can view the instance ID, IP, and current status of the VM.
-
-::
-
- euca-describe-instances
-
-Once in a "running" state, you can use your SSH key connect:
-
-::
-
- ssh -i mykey.priv root@$ipaddress
-
-When you are ready to terminate the instance, you may do so with the `euca-terminate-instances` command:
-
-::
-
- euca-terminate-instances $instance-id
-
-You can determine the instance-id with `euca-describe-instances`, and the format is "i-" with a series of letter and numbers following: e.g. i-a4g9d.
-
-For more information in creating you own custom (production ready) instance images, please visit http://wiki.openstack.org/GettingImages for more information!
-
-Enjoy your new private cloud, and play responsibly!
diff --git a/doc/source/adminguide/single.node.install.rst b/doc/source/adminguide/single.node.install.rst
deleted file mode 100644
index ff43aa90b..000000000
--- a/doc/source/adminguide/single.node.install.rst
+++ /dev/null
@@ -1,362 +0,0 @@
-Installing Nova on a Single Host
-================================
-
-Nova can be run on a single machine, and it is recommended that new users practice managing this type of installation before graduating to multi node systems.
-
-The fastest way to get a test cloud running is through our :doc:`../quickstart`. But for more detail on installing the system read this doc.
-
-
-Step 1 and 2: Get the latest Nova code system software
-------------------------------------------------------
-
-Depending on your system, the method for accomplishing this varies
-
-.. toctree::
- :maxdepth: 1
-
- distros/ubuntu.10.04
- distros/ubuntu.10.10
- distros/others
-
-
-Step 3: Build and install Nova services
----------------------------------------
-
-Switch to the base nova source directory.
-
-Then type or copy/paste in the following line to compile the Python code for OpenStack Compute.
-
-::
-
- sudo python setup.py build
- sudo python setup.py install
-
-
-When the installation is complete, you'll see the following lines:
-
-::
-
- Installing nova-network script to /usr/local/bin
- Installing nova-volume script to /usr/local/bin
- Installing nova-objectstore script to /usr/local/bin
- Installing nova-manage script to /usr/local/bin
- Installing nova-scheduler script to /usr/local/bin
- Installing nova-dhcpbridge script to /usr/local/bin
- Installing nova-compute script to /usr/local/bin
- Installing nova-instancemonitor script to /usr/local/bin
- Installing nova-api script to /usr/local/bin
- Installing nova-import-canonical-imagestore script to /usr/local/bin
-
- Installed /usr/local/lib/python2.6/dist-packages/nova-2010.1-py2.6.egg
- Processing dependencies for nova==2010.1
- Finished processing dependencies for nova==2010.1
-
-
-Step 4: Create the Nova Database
---------------------------------
-Type or copy/paste in the following line to create your nova db::
-
- sudo nova-manage db sync
-
-Step 5: Create a Nova administrator
------------------------------------
-Type or copy/paste in the following line to create a user named "anne."::
-
- sudo nova-manage user admin anne
-
-You see an access key and a secret key export, such as these made-up ones:::
-
- export EC2_ACCESS_KEY=4e6498a2-blah-blah-blah-17d1333t97fd
- export EC2_SECRET_KEY=0a520304-blah-blah-blah-340sp34k05bbe9a7
-
-Step 6: Create the network
---------------------------
-
-Type or copy/paste in the following line to create a network prior to creating a project.
-
-::
-
- sudo nova-manage network create 10.0.0.0/8 1 64
-
-For this command, the IP address is the cidr notation for your netmask, such as 192.168.1.0/24. The value 1 is the total number of networks you want made, and the 64 value is the total number of ips in all networks.
-
-After running this command, entries are made in the 'networks' and 'fixed_ips' table in the database.
-
-Step 7: Create a project with the user you created
---------------------------------------------------
-Type or copy/paste in the following line to create a project named IRT (for Ice Road Truckers, of course) with the newly-created user named anne.
-
-::
-
- sudo nova-manage project create IRT anne
-
-::
-
- Generating RSA private key, 1024 bit long modulus
- .....++++++
- ..++++++
- e is 65537 (0x10001)
- Using configuration from ./openssl.cnf
- Check that the request matches the signature
- Signature ok
- The Subject's Distinguished Name is as follows
- countryName :PRINTABLE:'US'
- stateOrProvinceName :PRINTABLE:'California'
- localityName :PRINTABLE:'MountainView'
- organizationName :PRINTABLE:'AnsoLabs'
- organizationalUnitName:PRINTABLE:'NovaDev'
- commonName :PRINTABLE:'anne-2010-10-12T21:12:35Z'
- Certificate is to be certified until Oct 12 21:12:35 2011 GMT (365 days)
-
- Write out database with 1 new entries
- Data Base Updated
-
-
-Step 8: Unzip the nova.zip
---------------------------
-
-You should have a nova.zip file in your current working directory. Unzip it with this command:
-
-::
-
- unzip nova.zip
-
-
-You'll see these files extract.
-
-::
-
- Archive: nova.zip
- extracting: novarc
- extracting: pk.pem
- extracting: cert.pem
- extracting: nova-vpn.conf
- extracting: cacert.pem
-
-
-Step 9: Source the rc file
---------------------------
-Type or copy/paste the following to source the novarc file in your current working directory.
-
-::
-
- . novarc
-
-
-Step 10: Pat yourself on the back :)
------------------------------------
-Congratulations, your cloud is up and running, you’ve created an admin user, created a network, retrieved the user's credentials and put them in your environment.
-
-Now you need an image.
-
-
-Step 11: Get an image
---------------------
-To make things easier, we've provided a small image on the Rackspace CDN. Use this command to get it on your server.
-
-::
-
- wget http://c2477062.cdn.cloudfiles.rackspacecloud.com/images.tgz
-
-
-::
-
- --2010-10-12 21:40:55-- http://c2477062.cdn.cloudfiles.rackspacecloud.com/images.tgz
- Resolving cblah2.cdn.cloudfiles.rackspacecloud.com... 208.111.196.6, 208.111.196.7
- Connecting to cblah2.cdn.cloudfiles.rackspacecloud.com|208.111.196.6|:80... connected.
- HTTP request sent, awaiting response... 200 OK
- Length: 58520278 (56M) [application/x-gzip]
- Saving to: `images.tgz'
-
- 100%[======================================>] 58,520,278 14.1M/s in 3.9s
-
- 2010-10-12 21:40:59 (14.1 MB/s) - `images.tgz' saved [58520278/58520278]
-
-
-
-Step 12: Decompress the image file
-----------------------------------
-Use this command to extract the image files:::
-
- tar xvzf images.tgz
-
-You get a directory listing like so:::
-
- images
- |-- aki-lucid
- | |-- image
- | `-- info.json
- |-- ami-tiny
- | |-- image
- | `-- info.json
- `-- ari-lucid
- |-- image
- `-- info.json
-
-Step 13: Send commands to upload sample image to the cloud
-----------------------------------------------------------
-
-Type or copy/paste the following commands to create a manifest for the kernel.::
-
- euca-bundle-image -i images/aki-lucid/image -p kernel --kernel true
-
-You should see this in response:::
-
- Checking image
- Tarring image
- Encrypting image
- Splitting image...
- Part: kernel.part.0
- Generating manifest /tmp/kernel.manifest.xml
-
-Type or copy/paste the following commands to create a manifest for the ramdisk.::
-
- euca-bundle-image -i images/ari-lucid/image -p ramdisk --ramdisk true
-
-You should see this in response:::
-
- Checking image
- Tarring image
- Encrypting image
- Splitting image...
- Part: ramdisk.part.0
- Generating manifest /tmp/ramdisk.manifest.xml
-
-Type or copy/paste the following commands to upload the kernel bundle.::
-
- euca-upload-bundle -m /tmp/kernel.manifest.xml -b mybucket
-
-You should see this in response:::
-
- Checking bucket: mybucket
- Creating bucket: mybucket
- Uploading manifest file
- Uploading part: kernel.part.0
- Uploaded image as mybucket/kernel.manifest.xml
-
-Type or copy/paste the following commands to upload the ramdisk bundle.::
-
- euca-upload-bundle -m /tmp/ramdisk.manifest.xml -b mybucket
-
-You should see this in response:::
-
- Checking bucket: mybucket
- Uploading manifest file
- Uploading part: ramdisk.part.0
- Uploaded image as mybucket/ramdisk.manifest.xml
-
-Type or copy/paste the following commands to register the kernel and get its ID.::
-
- euca-register mybucket/kernel.manifest.xml
-
-You should see this in response:::
-
- IMAGE ami-fcbj2non
-
-Type or copy/paste the following commands to register the ramdisk and get its ID.::
-
- euca-register mybucket/ramdisk.manifest.xml
-
-You should see this in response:::
-
- IMAGE ami-orukptrc
-
-Type or copy/paste the following commands to create a manifest for the machine image associated with the ramdisk and kernel IDs that you got from the previous commands.::
-
- euca-bundle-image -i images/ami-tiny/image -p machine --kernel ami-fcbj2non --ramdisk ami-orukptrc
-
-You should see this in response:::
-
- Checking image
- Tarring image
- Encrypting image
- Splitting image...
- Part: machine.part.0
- Part: machine.part.1
- Part: machine.part.2
- Part: machine.part.3
- Part: machine.part.4
- Generating manifest /tmp/machine.manifest.xml
-
-Type or copy/paste the following commands to upload the machine image bundle.::
-
- euca-upload-bundle -m /tmp/machine.manifest.xml -b mybucket
-
-You should see this in response:::
-
- Checking bucket: mybucket
- Uploading manifest file
- Uploading part: machine.part.0
- Uploading part: machine.part.1
- Uploading part: machine.part.2
- Uploading part: machine.part.3
- Uploading part: machine.part.4
- Uploaded image as mybucket/machine.manifest.xml
-
-Type or copy/paste the following commands to register the machine image and get its ID.::
-
- euca-register mybucket/machine.manifest.xml
-
-You should see this in response:::
-
- IMAGE ami-g06qbntt
-
-Type or copy/paste the following commands to register a SSH keypair for use in starting and accessing the instances.::
-
- euca-add-keypair mykey > mykey.priv
- chmod 600 mykey.priv
-
-Type or copy/paste the following commands to run an instance using the keypair and IDs that we previously created.::
-
- euca-run-instances ami-g06qbntt --kernel ami-fcbj2non --ramdisk ami-orukptrc -k mykey
-
-You should see this in response:::
-
- RESERVATION r-0at28z12 IRT
- INSTANCE i-1b0bh8n ami-g06qbntt 10.0.0.3 10.0.0.3 scheduling mykey (IRT, None) m1.small 2010-10-18 19:02:10.443599
-
-Type or copy/paste the following commands to watch as the scheduler launches, and completes booting your instance.::
-
- euca-describe-instances
-
-You should see this in response:::
-
- RESERVATION r-0at28z12 IRT
- INSTANCE i-1b0bh8n ami-g06qbntt 10.0.0.3 10.0.0.3 launching mykey (IRT, cloud02) m1.small 2010-10-18 19:02:10.443599
-
-Type or copy/paste the following commands to see when loading is completed and the instance is running.::
-
- euca-describe-instances
-
-You should see this in response:::
-
- RESERVATION r-0at28z12 IRT
- INSTANCE i-1b0bh8n ami-g06qbntt 10.0.0.3 10.0.0.3 running mykey (IRT, cloud02) 0 m1.small 2010-10-18 19:02:10.443599
-
-Type or copy/paste the following commands to check that the virtual machine is running.::
-
- virsh list
-
-You should see this in response:::
-
- Id Name State
- ----------------------------------
- 1 2842445831 running
-
-Type or copy/paste the following commands to ssh to the instance using your private key.::
-
- ssh -i mykey.priv root@10.0.0.3
-
-
-Troubleshooting Installation
-----------------------------
-
-If you see an "error loading the config file './openssl.cnf'" it means you can copy the openssl.cnf file to the location where Nova expects it and reboot, then try the command again.
-
-::
-
- cp /etc/ssl/openssl.cnf ~
- sudo reboot
-
-
-
diff --git a/doc/source/api/autoindex.rst b/doc/source/api/autoindex.rst
new file mode 100644
index 000000000..329a465db
--- /dev/null
+++ b/doc/source/api/autoindex.rst
@@ -0,0 +1,144 @@
+.. toctree::
+ :maxdepth: 1
+
+ nova..adminclient.rst
+ nova..api.direct.rst
+ nova..api.ec2.admin.rst
+ nova..api.ec2.apirequest.rst
+ nova..api.ec2.cloud.rst
+ nova..api.ec2.metadatarequesthandler.rst
+ nova..api.openstack.auth.rst
+ nova..api.openstack.backup_schedules.rst
+ nova..api.openstack.common.rst
+ nova..api.openstack.consoles.rst
+ nova..api.openstack.faults.rst
+ nova..api.openstack.flavors.rst
+ nova..api.openstack.images.rst
+ nova..api.openstack.servers.rst
+ nova..api.openstack.shared_ip_groups.rst
+ nova..api.openstack.zones.rst
+ nova..auth.dbdriver.rst
+ nova..auth.fakeldap.rst
+ nova..auth.ldapdriver.rst
+ nova..auth.manager.rst
+ nova..auth.signer.rst
+ nova..cloudpipe.pipelib.rst
+ nova..compute.api.rst
+ nova..compute.instance_types.rst
+ nova..compute.manager.rst
+ nova..compute.monitor.rst
+ nova..compute.power_state.rst
+ nova..console.api.rst
+ nova..console.fake.rst
+ nova..console.manager.rst
+ nova..console.xvp.rst
+ nova..context.rst
+ nova..crypto.rst
+ nova..db.api.rst
+ nova..db.base.rst
+ nova..db.migration.rst
+ nova..db.sqlalchemy.api.rst
+ nova..db.sqlalchemy.migrate_repo.manage.rst
+ nova..db.sqlalchemy.migrate_repo.versions.001_austin.rst
+ nova..db.sqlalchemy.migrate_repo.versions.002_bexar.rst
+ nova..db.sqlalchemy.migrate_repo.versions.003_add_label_to_networks.rst
+ nova..db.sqlalchemy.migrate_repo.versions.004_add_zone_tables.rst
+ nova..db.sqlalchemy.migrate_repo.versions.005_add_instance_metadata.rst
+ nova..db.sqlalchemy.migrate_repo.versions.006_add_provider_data_to_volumes.rst
+ nova..db.sqlalchemy.migrate_repo.versions.007_add_instance_types.rst
+ nova..db.sqlalchemy.migration.rst
+ nova..db.sqlalchemy.models.rst
+ nova..db.sqlalchemy.session.rst
+ nova..exception.rst
+ nova..fakememcache.rst
+ nova..fakerabbit.rst
+ nova..flags.rst
+ nova..image.glance.rst
+ nova..image.local.rst
+ nova..image.s3.rst
+ nova..image.service.rst
+ nova..log.rst
+ nova..manager.rst
+ nova..network.api.rst
+ nova..network.linux_net.rst
+ nova..network.manager.rst
+ nova..objectstore.bucket.rst
+ nova..objectstore.handler.rst
+ nova..objectstore.image.rst
+ nova..objectstore.stored.rst
+ nova..quota.rst
+ nova..rpc.rst
+ nova..scheduler.chance.rst
+ nova..scheduler.driver.rst
+ nova..scheduler.manager.rst
+ nova..scheduler.simple.rst
+ nova..scheduler.zone.rst
+ nova..service.rst
+ nova..test.rst
+ nova..tests.api.openstack.fakes.rst
+ nova..tests.api.openstack.test_adminapi.rst
+ nova..tests.api.openstack.test_api.rst
+ nova..tests.api.openstack.test_auth.rst
+ nova..tests.api.openstack.test_common.rst
+ nova..tests.api.openstack.test_faults.rst
+ nova..tests.api.openstack.test_flavors.rst
+ nova..tests.api.openstack.test_images.rst
+ nova..tests.api.openstack.test_ratelimiting.rst
+ nova..tests.api.openstack.test_servers.rst
+ nova..tests.api.openstack.test_shared_ip_groups.rst
+ nova..tests.api.openstack.test_zones.rst
+ nova..tests.api.test_wsgi.rst
+ nova..tests.db.fakes.rst
+ nova..tests.declare_flags.rst
+ nova..tests.fake_flags.rst
+ nova..tests.glance.stubs.rst
+ nova..tests.hyperv_unittest.rst
+ nova..tests.objectstore_unittest.rst
+ nova..tests.real_flags.rst
+ nova..tests.runtime_flags.rst
+ nova..tests.test_access.rst
+ nova..tests.test_api.rst
+ nova..tests.test_auth.rst
+ nova..tests.test_cloud.rst
+ nova..tests.test_compute.rst
+ nova..tests.test_console.rst
+ nova..tests.test_direct.rst
+ nova..tests.test_flags.rst
+ nova..tests.test_instance_types.rst
+ nova..tests.test_localization.rst
+ nova..tests.test_log.rst
+ nova..tests.test_middleware.rst
+ nova..tests.test_misc.rst
+ nova..tests.test_network.rst
+ nova..tests.test_quota.rst
+ nova..tests.test_rpc.rst
+ nova..tests.test_scheduler.rst
+ nova..tests.test_service.rst
+ nova..tests.test_test.rst
+ nova..tests.test_twistd.rst
+ nova..tests.test_utils.rst
+ nova..tests.test_virt.rst
+ nova..tests.test_volume.rst
+ nova..tests.test_xenapi.rst
+ nova..tests.xenapi.stubs.rst
+ nova..twistd.rst
+ nova..utils.rst
+ nova..version.rst
+ nova..virt.connection.rst
+ nova..virt.disk.rst
+ nova..virt.fake.rst
+ nova..virt.hyperv.rst
+ nova..virt.images.rst
+ nova..virt.libvirt_conn.rst
+ nova..virt.xenapi.fake.rst
+ nova..virt.xenapi.network_utils.rst
+ nova..virt.xenapi.vm_utils.rst
+ nova..virt.xenapi.vmops.rst
+ nova..virt.xenapi.volume_utils.rst
+ nova..virt.xenapi.volumeops.rst
+ nova..virt.xenapi_conn.rst
+ nova..volume.api.rst
+ nova..volume.driver.rst
+ nova..volume.manager.rst
+ nova..volume.san.rst
+ nova..wsgi.rst
diff --git a/doc/source/api/nova..adminclient.rst b/doc/source/api/nova..adminclient.rst
new file mode 100644
index 000000000..35fa839e1
--- /dev/null
+++ b/doc/source/api/nova..adminclient.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..adminclient` Module
+==============================================================================
+.. automodule:: nova..adminclient
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..api.direct.rst b/doc/source/api/nova..api.direct.rst
new file mode 100644
index 000000000..a1705c707
--- /dev/null
+++ b/doc/source/api/nova..api.direct.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..api.direct` Module
+==============================================================================
+.. automodule:: nova..api.direct
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..api.ec2.admin.rst b/doc/source/api/nova..api.ec2.admin.rst
new file mode 100644
index 000000000..4e9ab308b
--- /dev/null
+++ b/doc/source/api/nova..api.ec2.admin.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..api.ec2.admin` Module
+==============================================================================
+.. automodule:: nova..api.ec2.admin
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..api.ec2.apirequest.rst b/doc/source/api/nova..api.ec2.apirequest.rst
new file mode 100644
index 000000000..c17a2ff3a
--- /dev/null
+++ b/doc/source/api/nova..api.ec2.apirequest.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..api.ec2.apirequest` Module
+==============================================================================
+.. automodule:: nova..api.ec2.apirequest
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..api.ec2.cloud.rst b/doc/source/api/nova..api.ec2.cloud.rst
new file mode 100644
index 000000000..f6145c217
--- /dev/null
+++ b/doc/source/api/nova..api.ec2.cloud.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..api.ec2.cloud` Module
+==============================================================================
+.. automodule:: nova..api.ec2.cloud
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..api.ec2.metadatarequesthandler.rst b/doc/source/api/nova..api.ec2.metadatarequesthandler.rst
new file mode 100644
index 000000000..75f5169e5
--- /dev/null
+++ b/doc/source/api/nova..api.ec2.metadatarequesthandler.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..api.ec2.metadatarequesthandler` Module
+==============================================================================
+.. automodule:: nova..api.ec2.metadatarequesthandler
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..api.openstack.auth.rst b/doc/source/api/nova..api.openstack.auth.rst
new file mode 100644
index 000000000..8c3f8f2da
--- /dev/null
+++ b/doc/source/api/nova..api.openstack.auth.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..api.openstack.auth` Module
+==============================================================================
+.. automodule:: nova..api.openstack.auth
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..api.openstack.backup_schedules.rst b/doc/source/api/nova..api.openstack.backup_schedules.rst
new file mode 100644
index 000000000..6b406f12d
--- /dev/null
+++ b/doc/source/api/nova..api.openstack.backup_schedules.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..api.openstack.backup_schedules` Module
+==============================================================================
+.. automodule:: nova..api.openstack.backup_schedules
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..api.openstack.common.rst b/doc/source/api/nova..api.openstack.common.rst
new file mode 100644
index 000000000..4fd734790
--- /dev/null
+++ b/doc/source/api/nova..api.openstack.common.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..api.openstack.common` Module
+==============================================================================
+.. automodule:: nova..api.openstack.common
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..api.openstack.consoles.rst b/doc/source/api/nova..api.openstack.consoles.rst
new file mode 100644
index 000000000..1e3e09599
--- /dev/null
+++ b/doc/source/api/nova..api.openstack.consoles.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..api.openstack.consoles` Module
+==============================================================================
+.. automodule:: nova..api.openstack.consoles
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..api.openstack.faults.rst b/doc/source/api/nova..api.openstack.faults.rst
new file mode 100644
index 000000000..7b25561f7
--- /dev/null
+++ b/doc/source/api/nova..api.openstack.faults.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..api.openstack.faults` Module
+==============================================================================
+.. automodule:: nova..api.openstack.faults
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..api.openstack.flavors.rst b/doc/source/api/nova..api.openstack.flavors.rst
new file mode 100644
index 000000000..0deb724de
--- /dev/null
+++ b/doc/source/api/nova..api.openstack.flavors.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..api.openstack.flavors` Module
+==============================================================================
+.. automodule:: nova..api.openstack.flavors
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..api.openstack.images.rst b/doc/source/api/nova..api.openstack.images.rst
new file mode 100644
index 000000000..82bd5f1e8
--- /dev/null
+++ b/doc/source/api/nova..api.openstack.images.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..api.openstack.images` Module
+==============================================================================
+.. automodule:: nova..api.openstack.images
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..api.openstack.servers.rst b/doc/source/api/nova..api.openstack.servers.rst
new file mode 100644
index 000000000..c36856ea2
--- /dev/null
+++ b/doc/source/api/nova..api.openstack.servers.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..api.openstack.servers` Module
+==============================================================================
+.. automodule:: nova..api.openstack.servers
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..api.openstack.shared_ip_groups.rst b/doc/source/api/nova..api.openstack.shared_ip_groups.rst
new file mode 100644
index 000000000..4b1f44efe
--- /dev/null
+++ b/doc/source/api/nova..api.openstack.shared_ip_groups.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..api.openstack.shared_ip_groups` Module
+==============================================================================
+.. automodule:: nova..api.openstack.shared_ip_groups
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..api.openstack.zones.rst b/doc/source/api/nova..api.openstack.zones.rst
new file mode 100644
index 000000000..ebe4569c5
--- /dev/null
+++ b/doc/source/api/nova..api.openstack.zones.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..api.openstack.zones` Module
+==============================================================================
+.. automodule:: nova..api.openstack.zones
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..auth.dbdriver.rst b/doc/source/api/nova..auth.dbdriver.rst
new file mode 100644
index 000000000..7de68b6e0
--- /dev/null
+++ b/doc/source/api/nova..auth.dbdriver.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..auth.dbdriver` Module
+==============================================================================
+.. automodule:: nova..auth.dbdriver
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..auth.fakeldap.rst b/doc/source/api/nova..auth.fakeldap.rst
new file mode 100644
index 000000000..ca8a3ad4d
--- /dev/null
+++ b/doc/source/api/nova..auth.fakeldap.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..auth.fakeldap` Module
+==============================================================================
+.. automodule:: nova..auth.fakeldap
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..auth.ldapdriver.rst b/doc/source/api/nova..auth.ldapdriver.rst
new file mode 100644
index 000000000..c44463522
--- /dev/null
+++ b/doc/source/api/nova..auth.ldapdriver.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..auth.ldapdriver` Module
+==============================================================================
+.. automodule:: nova..auth.ldapdriver
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..auth.manager.rst b/doc/source/api/nova..auth.manager.rst
new file mode 100644
index 000000000..bc5ce2ec3
--- /dev/null
+++ b/doc/source/api/nova..auth.manager.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..auth.manager` Module
+==============================================================================
+.. automodule:: nova..auth.manager
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..auth.signer.rst b/doc/source/api/nova..auth.signer.rst
new file mode 100644
index 000000000..aad824ead
--- /dev/null
+++ b/doc/source/api/nova..auth.signer.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..auth.signer` Module
+==============================================================================
+.. automodule:: nova..auth.signer
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..cloudpipe.pipelib.rst b/doc/source/api/nova..cloudpipe.pipelib.rst
new file mode 100644
index 000000000..054aaf484
--- /dev/null
+++ b/doc/source/api/nova..cloudpipe.pipelib.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..cloudpipe.pipelib` Module
+==============================================================================
+.. automodule:: nova..cloudpipe.pipelib
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..compute.api.rst b/doc/source/api/nova..compute.api.rst
new file mode 100644
index 000000000..caa66313a
--- /dev/null
+++ b/doc/source/api/nova..compute.api.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..compute.api` Module
+==============================================================================
+.. automodule:: nova..compute.api
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..compute.instance_types.rst b/doc/source/api/nova..compute.instance_types.rst
new file mode 100644
index 000000000..d206ff3a4
--- /dev/null
+++ b/doc/source/api/nova..compute.instance_types.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..compute.instance_types` Module
+==============================================================================
+.. automodule:: nova..compute.instance_types
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..compute.manager.rst b/doc/source/api/nova..compute.manager.rst
new file mode 100644
index 000000000..33a337c39
--- /dev/null
+++ b/doc/source/api/nova..compute.manager.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..compute.manager` Module
+==============================================================================
+.. automodule:: nova..compute.manager
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..compute.monitor.rst b/doc/source/api/nova..compute.monitor.rst
new file mode 100644
index 000000000..a91169ecd
--- /dev/null
+++ b/doc/source/api/nova..compute.monitor.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..compute.monitor` Module
+==============================================================================
+.. automodule:: nova..compute.monitor
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..compute.power_state.rst b/doc/source/api/nova..compute.power_state.rst
new file mode 100644
index 000000000..41b1080e5
--- /dev/null
+++ b/doc/source/api/nova..compute.power_state.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..compute.power_state` Module
+==============================================================================
+.. automodule:: nova..compute.power_state
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..console.api.rst b/doc/source/api/nova..console.api.rst
new file mode 100644
index 000000000..82a51d4c7
--- /dev/null
+++ b/doc/source/api/nova..console.api.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..console.api` Module
+==============================================================================
+.. automodule:: nova..console.api
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..console.fake.rst b/doc/source/api/nova..console.fake.rst
new file mode 100644
index 000000000..f053f85d6
--- /dev/null
+++ b/doc/source/api/nova..console.fake.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..console.fake` Module
+==============================================================================
+.. automodule:: nova..console.fake
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..console.manager.rst b/doc/source/api/nova..console.manager.rst
new file mode 100644
index 000000000..f9283a6c3
--- /dev/null
+++ b/doc/source/api/nova..console.manager.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..console.manager` Module
+==============================================================================
+.. automodule:: nova..console.manager
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..console.xvp.rst b/doc/source/api/nova..console.xvp.rst
new file mode 100644
index 000000000..a0887009e
--- /dev/null
+++ b/doc/source/api/nova..console.xvp.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..console.xvp` Module
+==============================================================================
+.. automodule:: nova..console.xvp
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..context.rst b/doc/source/api/nova..context.rst
new file mode 100644
index 000000000..9de1adb24
--- /dev/null
+++ b/doc/source/api/nova..context.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..context` Module
+==============================================================================
+.. automodule:: nova..context
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..crypto.rst b/doc/source/api/nova..crypto.rst
new file mode 100644
index 000000000..af9f63634
--- /dev/null
+++ b/doc/source/api/nova..crypto.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..crypto` Module
+==============================================================================
+.. automodule:: nova..crypto
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..db.api.rst b/doc/source/api/nova..db.api.rst
new file mode 100644
index 000000000..6d998fbb2
--- /dev/null
+++ b/doc/source/api/nova..db.api.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..db.api` Module
+==============================================================================
+.. automodule:: nova..db.api
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..db.base.rst b/doc/source/api/nova..db.base.rst
new file mode 100644
index 000000000..29fb417d6
--- /dev/null
+++ b/doc/source/api/nova..db.base.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..db.base` Module
+==============================================================================
+.. automodule:: nova..db.base
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..db.migration.rst b/doc/source/api/nova..db.migration.rst
new file mode 100644
index 000000000..71dfea301
--- /dev/null
+++ b/doc/source/api/nova..db.migration.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..db.migration` Module
+==============================================================================
+.. automodule:: nova..db.migration
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..db.sqlalchemy.api.rst b/doc/source/api/nova..db.sqlalchemy.api.rst
new file mode 100644
index 000000000..76d0c1bd3
--- /dev/null
+++ b/doc/source/api/nova..db.sqlalchemy.api.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..db.sqlalchemy.api` Module
+==============================================================================
+.. automodule:: nova..db.sqlalchemy.api
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..db.sqlalchemy.migrate_repo.manage.rst b/doc/source/api/nova..db.sqlalchemy.migrate_repo.manage.rst
new file mode 100644
index 000000000..93decfb27
--- /dev/null
+++ b/doc/source/api/nova..db.sqlalchemy.migrate_repo.manage.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..db.sqlalchemy.migrate_repo.manage` Module
+==============================================================================
+.. automodule:: nova..db.sqlalchemy.migrate_repo.manage
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.001_austin.rst b/doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.001_austin.rst
new file mode 100644
index 000000000..4b1219edb
--- /dev/null
+++ b/doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.001_austin.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..db.sqlalchemy.migrate_repo.versions.001_austin` Module
+==============================================================================
+.. automodule:: nova..db.sqlalchemy.migrate_repo.versions.001_austin
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.002_bexar.rst b/doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.002_bexar.rst
new file mode 100644
index 000000000..82f1f4680
--- /dev/null
+++ b/doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.002_bexar.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..db.sqlalchemy.migrate_repo.versions.002_bexar` Module
+==============================================================================
+.. automodule:: nova..db.sqlalchemy.migrate_repo.versions.002_bexar
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.003_add_label_to_networks.rst b/doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.003_add_label_to_networks.rst
new file mode 100644
index 000000000..98f3e8da7
--- /dev/null
+++ b/doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.003_add_label_to_networks.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..db.sqlalchemy.migrate_repo.versions.003_add_label_to_networks` Module
+==============================================================================
+.. automodule:: nova..db.sqlalchemy.migrate_repo.versions.003_add_label_to_networks
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.004_add_zone_tables.rst b/doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.004_add_zone_tables.rst
new file mode 100644
index 000000000..5cbb81191
--- /dev/null
+++ b/doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.004_add_zone_tables.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..db.sqlalchemy.migrate_repo.versions.004_add_zone_tables` Module
+==============================================================================
+.. automodule:: nova..db.sqlalchemy.migrate_repo.versions.004_add_zone_tables
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.005_add_instance_metadata.rst b/doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.005_add_instance_metadata.rst
new file mode 100644
index 000000000..cef0c243e
--- /dev/null
+++ b/doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.005_add_instance_metadata.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..db.sqlalchemy.migrate_repo.versions.005_add_instance_metadata` Module
+==============================================================================
+.. automodule:: nova..db.sqlalchemy.migrate_repo.versions.005_add_instance_metadata
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.006_add_provider_data_to_volumes.rst b/doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.006_add_provider_data_to_volumes.rst
new file mode 100644
index 000000000..a15697196
--- /dev/null
+++ b/doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.006_add_provider_data_to_volumes.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..db.sqlalchemy.migrate_repo.versions.006_add_provider_data_to_volumes` Module
+==============================================================================
+.. automodule:: nova..db.sqlalchemy.migrate_repo.versions.006_add_provider_data_to_volumes
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.007_add_instance_types.rst b/doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.007_add_instance_types.rst
new file mode 100644
index 000000000..38842d1af
--- /dev/null
+++ b/doc/source/api/nova..db.sqlalchemy.migrate_repo.versions.007_add_instance_types.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..db.sqlalchemy.migrate_repo.versions.007_add_instance_types` Module
+==============================================================================
+.. automodule:: nova..db.sqlalchemy.migrate_repo.versions.007_add_instance_types
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..db.sqlalchemy.migration.rst b/doc/source/api/nova..db.sqlalchemy.migration.rst
new file mode 100644
index 000000000..3a9b01b9a
--- /dev/null
+++ b/doc/source/api/nova..db.sqlalchemy.migration.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..db.sqlalchemy.migration` Module
+==============================================================================
+.. automodule:: nova..db.sqlalchemy.migration
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..db.sqlalchemy.models.rst b/doc/source/api/nova..db.sqlalchemy.models.rst
new file mode 100644
index 000000000..9c795d7f5
--- /dev/null
+++ b/doc/source/api/nova..db.sqlalchemy.models.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..db.sqlalchemy.models` Module
+==============================================================================
+.. automodule:: nova..db.sqlalchemy.models
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..db.sqlalchemy.session.rst b/doc/source/api/nova..db.sqlalchemy.session.rst
new file mode 100644
index 000000000..cbfd6416a
--- /dev/null
+++ b/doc/source/api/nova..db.sqlalchemy.session.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..db.sqlalchemy.session` Module
+==============================================================================
+.. automodule:: nova..db.sqlalchemy.session
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..exception.rst b/doc/source/api/nova..exception.rst
new file mode 100644
index 000000000..97ac6b752
--- /dev/null
+++ b/doc/source/api/nova..exception.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..exception` Module
+==============================================================================
+.. automodule:: nova..exception
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..fakememcache.rst b/doc/source/api/nova..fakememcache.rst
new file mode 100644
index 000000000..7e7ffb98b
--- /dev/null
+++ b/doc/source/api/nova..fakememcache.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..fakememcache` Module
+==============================================================================
+.. automodule:: nova..fakememcache
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..fakerabbit.rst b/doc/source/api/nova..fakerabbit.rst
new file mode 100644
index 000000000..f1e27c266
--- /dev/null
+++ b/doc/source/api/nova..fakerabbit.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..fakerabbit` Module
+==============================================================================
+.. automodule:: nova..fakerabbit
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..flags.rst b/doc/source/api/nova..flags.rst
new file mode 100644
index 000000000..08165be44
--- /dev/null
+++ b/doc/source/api/nova..flags.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..flags` Module
+==============================================================================
+.. automodule:: nova..flags
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..image.glance.rst b/doc/source/api/nova..image.glance.rst
new file mode 100644
index 000000000..b0882d5ec
--- /dev/null
+++ b/doc/source/api/nova..image.glance.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..image.glance` Module
+==============================================================================
+.. automodule:: nova..image.glance
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..image.local.rst b/doc/source/api/nova..image.local.rst
new file mode 100644
index 000000000..b6ad5470b
--- /dev/null
+++ b/doc/source/api/nova..image.local.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..image.local` Module
+==============================================================================
+.. automodule:: nova..image.local
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..image.s3.rst b/doc/source/api/nova..image.s3.rst
new file mode 100644
index 000000000..e5b236127
--- /dev/null
+++ b/doc/source/api/nova..image.s3.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..image.s3` Module
+==============================================================================
+.. automodule:: nova..image.s3
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..image.service.rst b/doc/source/api/nova..image.service.rst
new file mode 100644
index 000000000..78ef1ecca
--- /dev/null
+++ b/doc/source/api/nova..image.service.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..image.service` Module
+==============================================================================
+.. automodule:: nova..image.service
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..log.rst b/doc/source/api/nova..log.rst
new file mode 100644
index 000000000..ff209709f
--- /dev/null
+++ b/doc/source/api/nova..log.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..log` Module
+==============================================================================
+.. automodule:: nova..log
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..manager.rst b/doc/source/api/nova..manager.rst
new file mode 100644
index 000000000..576902491
--- /dev/null
+++ b/doc/source/api/nova..manager.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..manager` Module
+==============================================================================
+.. automodule:: nova..manager
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..network.api.rst b/doc/source/api/nova..network.api.rst
new file mode 100644
index 000000000..b63be2ba3
--- /dev/null
+++ b/doc/source/api/nova..network.api.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..network.api` Module
+==============================================================================
+.. automodule:: nova..network.api
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..network.linux_net.rst b/doc/source/api/nova..network.linux_net.rst
new file mode 100644
index 000000000..7af78d5ad
--- /dev/null
+++ b/doc/source/api/nova..network.linux_net.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..network.linux_net` Module
+==============================================================================
+.. automodule:: nova..network.linux_net
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..network.manager.rst b/doc/source/api/nova..network.manager.rst
new file mode 100644
index 000000000..0ea705533
--- /dev/null
+++ b/doc/source/api/nova..network.manager.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..network.manager` Module
+==============================================================================
+.. automodule:: nova..network.manager
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..objectstore.bucket.rst b/doc/source/api/nova..objectstore.bucket.rst
new file mode 100644
index 000000000..3bfdf639c
--- /dev/null
+++ b/doc/source/api/nova..objectstore.bucket.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..objectstore.bucket` Module
+==============================================================================
+.. automodule:: nova..objectstore.bucket
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..objectstore.handler.rst b/doc/source/api/nova..objectstore.handler.rst
new file mode 100644
index 000000000..0eb8c4efb
--- /dev/null
+++ b/doc/source/api/nova..objectstore.handler.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..objectstore.handler` Module
+==============================================================================
+.. automodule:: nova..objectstore.handler
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..objectstore.image.rst b/doc/source/api/nova..objectstore.image.rst
new file mode 100644
index 000000000..fa4c971f1
--- /dev/null
+++ b/doc/source/api/nova..objectstore.image.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..objectstore.image` Module
+==============================================================================
+.. automodule:: nova..objectstore.image
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..objectstore.stored.rst b/doc/source/api/nova..objectstore.stored.rst
new file mode 100644
index 000000000..2b1d997a3
--- /dev/null
+++ b/doc/source/api/nova..objectstore.stored.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..objectstore.stored` Module
+==============================================================================
+.. automodule:: nova..objectstore.stored
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..quota.rst b/doc/source/api/nova..quota.rst
new file mode 100644
index 000000000..4140d95d6
--- /dev/null
+++ b/doc/source/api/nova..quota.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..quota` Module
+==============================================================================
+.. automodule:: nova..quota
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..rpc.rst b/doc/source/api/nova..rpc.rst
new file mode 100644
index 000000000..5b2a9b8e2
--- /dev/null
+++ b/doc/source/api/nova..rpc.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..rpc` Module
+==============================================================================
+.. automodule:: nova..rpc
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..scheduler.chance.rst b/doc/source/api/nova..scheduler.chance.rst
new file mode 100644
index 000000000..89c074c8f
--- /dev/null
+++ b/doc/source/api/nova..scheduler.chance.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..scheduler.chance` Module
+==============================================================================
+.. automodule:: nova..scheduler.chance
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..scheduler.driver.rst b/doc/source/api/nova..scheduler.driver.rst
new file mode 100644
index 000000000..793ed9c7b
--- /dev/null
+++ b/doc/source/api/nova..scheduler.driver.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..scheduler.driver` Module
+==============================================================================
+.. automodule:: nova..scheduler.driver
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..scheduler.manager.rst b/doc/source/api/nova..scheduler.manager.rst
new file mode 100644
index 000000000..d0fc7c423
--- /dev/null
+++ b/doc/source/api/nova..scheduler.manager.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..scheduler.manager` Module
+==============================================================================
+.. automodule:: nova..scheduler.manager
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..scheduler.simple.rst b/doc/source/api/nova..scheduler.simple.rst
new file mode 100644
index 000000000..dacc2cf30
--- /dev/null
+++ b/doc/source/api/nova..scheduler.simple.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..scheduler.simple` Module
+==============================================================================
+.. automodule:: nova..scheduler.simple
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..scheduler.zone.rst b/doc/source/api/nova..scheduler.zone.rst
new file mode 100644
index 000000000..54c4bf201
--- /dev/null
+++ b/doc/source/api/nova..scheduler.zone.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..scheduler.zone` Module
+==============================================================================
+.. automodule:: nova..scheduler.zone
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..service.rst b/doc/source/api/nova..service.rst
new file mode 100644
index 000000000..2d2dfcf2e
--- /dev/null
+++ b/doc/source/api/nova..service.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..service` Module
+==============================================================================
+.. automodule:: nova..service
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..test.rst b/doc/source/api/nova..test.rst
new file mode 100644
index 000000000..a6bdb6f1f
--- /dev/null
+++ b/doc/source/api/nova..test.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..test` Module
+==============================================================================
+.. automodule:: nova..test
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.api.openstack.fakes.rst b/doc/source/api/nova..tests.api.openstack.fakes.rst
new file mode 100644
index 000000000..4a9ff5938
--- /dev/null
+++ b/doc/source/api/nova..tests.api.openstack.fakes.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.api.openstack.fakes` Module
+==============================================================================
+.. automodule:: nova..tests.api.openstack.fakes
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.api.openstack.test_adminapi.rst b/doc/source/api/nova..tests.api.openstack.test_adminapi.rst
new file mode 100644
index 000000000..19a85ca0f
--- /dev/null
+++ b/doc/source/api/nova..tests.api.openstack.test_adminapi.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.api.openstack.test_adminapi` Module
+==============================================================================
+.. automodule:: nova..tests.api.openstack.test_adminapi
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.api.openstack.test_api.rst b/doc/source/api/nova..tests.api.openstack.test_api.rst
new file mode 100644
index 000000000..68106d221
--- /dev/null
+++ b/doc/source/api/nova..tests.api.openstack.test_api.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.api.openstack.test_api` Module
+==============================================================================
+.. automodule:: nova..tests.api.openstack.test_api
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.api.openstack.test_auth.rst b/doc/source/api/nova..tests.api.openstack.test_auth.rst
new file mode 100644
index 000000000..9f0011669
--- /dev/null
+++ b/doc/source/api/nova..tests.api.openstack.test_auth.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.api.openstack.test_auth` Module
+==============================================================================
+.. automodule:: nova..tests.api.openstack.test_auth
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.api.openstack.test_common.rst b/doc/source/api/nova..tests.api.openstack.test_common.rst
new file mode 100644
index 000000000..82f40ecb8
--- /dev/null
+++ b/doc/source/api/nova..tests.api.openstack.test_common.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.api.openstack.test_common` Module
+==============================================================================
+.. automodule:: nova..tests.api.openstack.test_common
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.api.openstack.test_faults.rst b/doc/source/api/nova..tests.api.openstack.test_faults.rst
new file mode 100644
index 000000000..b839ae8a3
--- /dev/null
+++ b/doc/source/api/nova..tests.api.openstack.test_faults.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.api.openstack.test_faults` Module
+==============================================================================
+.. automodule:: nova..tests.api.openstack.test_faults
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.api.openstack.test_flavors.rst b/doc/source/api/nova..tests.api.openstack.test_flavors.rst
new file mode 100644
index 000000000..471fac56e
--- /dev/null
+++ b/doc/source/api/nova..tests.api.openstack.test_flavors.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.api.openstack.test_flavors` Module
+==============================================================================
+.. automodule:: nova..tests.api.openstack.test_flavors
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.api.openstack.test_images.rst b/doc/source/api/nova..tests.api.openstack.test_images.rst
new file mode 100644
index 000000000..57ae93c8c
--- /dev/null
+++ b/doc/source/api/nova..tests.api.openstack.test_images.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.api.openstack.test_images` Module
+==============================================================================
+.. automodule:: nova..tests.api.openstack.test_images
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.api.openstack.test_ratelimiting.rst b/doc/source/api/nova..tests.api.openstack.test_ratelimiting.rst
new file mode 100644
index 000000000..9a857f795
--- /dev/null
+++ b/doc/source/api/nova..tests.api.openstack.test_ratelimiting.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.api.openstack.test_ratelimiting` Module
+==============================================================================
+.. automodule:: nova..tests.api.openstack.test_ratelimiting
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.api.openstack.test_servers.rst b/doc/source/api/nova..tests.api.openstack.test_servers.rst
new file mode 100644
index 000000000..ea602e6ab
--- /dev/null
+++ b/doc/source/api/nova..tests.api.openstack.test_servers.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.api.openstack.test_servers` Module
+==============================================================================
+.. automodule:: nova..tests.api.openstack.test_servers
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.api.openstack.test_shared_ip_groups.rst b/doc/source/api/nova..tests.api.openstack.test_shared_ip_groups.rst
new file mode 100644
index 000000000..48814af00
--- /dev/null
+++ b/doc/source/api/nova..tests.api.openstack.test_shared_ip_groups.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.api.openstack.test_shared_ip_groups` Module
+==============================================================================
+.. automodule:: nova..tests.api.openstack.test_shared_ip_groups
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.api.openstack.test_zones.rst b/doc/source/api/nova..tests.api.openstack.test_zones.rst
new file mode 100644
index 000000000..ba7078e63
--- /dev/null
+++ b/doc/source/api/nova..tests.api.openstack.test_zones.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.api.openstack.test_zones` Module
+==============================================================================
+.. automodule:: nova..tests.api.openstack.test_zones
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.api.test_wsgi.rst b/doc/source/api/nova..tests.api.test_wsgi.rst
new file mode 100644
index 000000000..8e79caa4d
--- /dev/null
+++ b/doc/source/api/nova..tests.api.test_wsgi.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.api.test_wsgi` Module
+==============================================================================
+.. automodule:: nova..tests.api.test_wsgi
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.db.fakes.rst b/doc/source/api/nova..tests.db.fakes.rst
new file mode 100644
index 000000000..cc79e55e2
--- /dev/null
+++ b/doc/source/api/nova..tests.db.fakes.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.db.fakes` Module
+==============================================================================
+.. automodule:: nova..tests.db.fakes
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.declare_flags.rst b/doc/source/api/nova..tests.declare_flags.rst
new file mode 100644
index 000000000..524e72e91
--- /dev/null
+++ b/doc/source/api/nova..tests.declare_flags.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.declare_flags` Module
+==============================================================================
+.. automodule:: nova..tests.declare_flags
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.fake_flags.rst b/doc/source/api/nova..tests.fake_flags.rst
new file mode 100644
index 000000000..a8dc3df36
--- /dev/null
+++ b/doc/source/api/nova..tests.fake_flags.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.fake_flags` Module
+==============================================================================
+.. automodule:: nova..tests.fake_flags
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.glance.stubs.rst b/doc/source/api/nova..tests.glance.stubs.rst
new file mode 100644
index 000000000..7ef5fccbe
--- /dev/null
+++ b/doc/source/api/nova..tests.glance.stubs.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.glance.stubs` Module
+==============================================================================
+.. automodule:: nova..tests.glance.stubs
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.hyperv_unittest.rst b/doc/source/api/nova..tests.hyperv_unittest.rst
new file mode 100644
index 000000000..c08443121
--- /dev/null
+++ b/doc/source/api/nova..tests.hyperv_unittest.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.hyperv_unittest` Module
+==============================================================================
+.. automodule:: nova..tests.hyperv_unittest
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.objectstore_unittest.rst b/doc/source/api/nova..tests.objectstore_unittest.rst
new file mode 100644
index 000000000..0ae252f04
--- /dev/null
+++ b/doc/source/api/nova..tests.objectstore_unittest.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.objectstore_unittest` Module
+==============================================================================
+.. automodule:: nova..tests.objectstore_unittest
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.real_flags.rst b/doc/source/api/nova..tests.real_flags.rst
new file mode 100644
index 000000000..e9c0d1abd
--- /dev/null
+++ b/doc/source/api/nova..tests.real_flags.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.real_flags` Module
+==============================================================================
+.. automodule:: nova..tests.real_flags
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.runtime_flags.rst b/doc/source/api/nova..tests.runtime_flags.rst
new file mode 100644
index 000000000..984e21199
--- /dev/null
+++ b/doc/source/api/nova..tests.runtime_flags.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.runtime_flags` Module
+==============================================================================
+.. automodule:: nova..tests.runtime_flags
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_access.rst b/doc/source/api/nova..tests.test_access.rst
new file mode 100644
index 000000000..300d8109e
--- /dev/null
+++ b/doc/source/api/nova..tests.test_access.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_access` Module
+==============================================================================
+.. automodule:: nova..tests.test_access
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_api.rst b/doc/source/api/nova..tests.test_api.rst
new file mode 100644
index 000000000..f9473062e
--- /dev/null
+++ b/doc/source/api/nova..tests.test_api.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_api` Module
+==============================================================================
+.. automodule:: nova..tests.test_api
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_auth.rst b/doc/source/api/nova..tests.test_auth.rst
new file mode 100644
index 000000000..ff4445ae4
--- /dev/null
+++ b/doc/source/api/nova..tests.test_auth.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_auth` Module
+==============================================================================
+.. automodule:: nova..tests.test_auth
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_cloud.rst b/doc/source/api/nova..tests.test_cloud.rst
new file mode 100644
index 000000000..7bd03db9a
--- /dev/null
+++ b/doc/source/api/nova..tests.test_cloud.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_cloud` Module
+==============================================================================
+.. automodule:: nova..tests.test_cloud
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_compute.rst b/doc/source/api/nova..tests.test_compute.rst
new file mode 100644
index 000000000..90fd6e9d1
--- /dev/null
+++ b/doc/source/api/nova..tests.test_compute.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_compute` Module
+==============================================================================
+.. automodule:: nova..tests.test_compute
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_console.rst b/doc/source/api/nova..tests.test_console.rst
new file mode 100644
index 000000000..f695f5d17
--- /dev/null
+++ b/doc/source/api/nova..tests.test_console.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_console` Module
+==============================================================================
+.. automodule:: nova..tests.test_console
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_direct.rst b/doc/source/api/nova..tests.test_direct.rst
new file mode 100644
index 000000000..4f7adef19
--- /dev/null
+++ b/doc/source/api/nova..tests.test_direct.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_direct` Module
+==============================================================================
+.. automodule:: nova..tests.test_direct
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_flags.rst b/doc/source/api/nova..tests.test_flags.rst
new file mode 100644
index 000000000..2ec35d6c2
--- /dev/null
+++ b/doc/source/api/nova..tests.test_flags.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_flags` Module
+==============================================================================
+.. automodule:: nova..tests.test_flags
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_instance_types.rst b/doc/source/api/nova..tests.test_instance_types.rst
new file mode 100644
index 000000000..ebe689966
--- /dev/null
+++ b/doc/source/api/nova..tests.test_instance_types.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_instance_types` Module
+==============================================================================
+.. automodule:: nova..tests.test_instance_types
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_localization.rst b/doc/source/api/nova..tests.test_localization.rst
new file mode 100644
index 000000000..d93c83ba7
--- /dev/null
+++ b/doc/source/api/nova..tests.test_localization.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_localization` Module
+==============================================================================
+.. automodule:: nova..tests.test_localization
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_log.rst b/doc/source/api/nova..tests.test_log.rst
new file mode 100644
index 000000000..04ff5ead1
--- /dev/null
+++ b/doc/source/api/nova..tests.test_log.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_log` Module
+==============================================================================
+.. automodule:: nova..tests.test_log
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_middleware.rst b/doc/source/api/nova..tests.test_middleware.rst
new file mode 100644
index 000000000..2f9df5832
--- /dev/null
+++ b/doc/source/api/nova..tests.test_middleware.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_middleware` Module
+==============================================================================
+.. automodule:: nova..tests.test_middleware
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_misc.rst b/doc/source/api/nova..tests.test_misc.rst
new file mode 100644
index 000000000..4975f89d7
--- /dev/null
+++ b/doc/source/api/nova..tests.test_misc.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_misc` Module
+==============================================================================
+.. automodule:: nova..tests.test_misc
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_network.rst b/doc/source/api/nova..tests.test_network.rst
new file mode 100644
index 000000000..3a4b04ea4
--- /dev/null
+++ b/doc/source/api/nova..tests.test_network.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_network` Module
+==============================================================================
+.. automodule:: nova..tests.test_network
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_quota.rst b/doc/source/api/nova..tests.test_quota.rst
new file mode 100644
index 000000000..24ebf9ca3
--- /dev/null
+++ b/doc/source/api/nova..tests.test_quota.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_quota` Module
+==============================================================================
+.. automodule:: nova..tests.test_quota
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_rpc.rst b/doc/source/api/nova..tests.test_rpc.rst
new file mode 100644
index 000000000..c141d6889
--- /dev/null
+++ b/doc/source/api/nova..tests.test_rpc.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_rpc` Module
+==============================================================================
+.. automodule:: nova..tests.test_rpc
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_scheduler.rst b/doc/source/api/nova..tests.test_scheduler.rst
new file mode 100644
index 000000000..1cd9991db
--- /dev/null
+++ b/doc/source/api/nova..tests.test_scheduler.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_scheduler` Module
+==============================================================================
+.. automodule:: nova..tests.test_scheduler
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_service.rst b/doc/source/api/nova..tests.test_service.rst
new file mode 100644
index 000000000..a264fbb55
--- /dev/null
+++ b/doc/source/api/nova..tests.test_service.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_service` Module
+==============================================================================
+.. automodule:: nova..tests.test_service
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_test.rst b/doc/source/api/nova..tests.test_test.rst
new file mode 100644
index 000000000..389eb3c99
--- /dev/null
+++ b/doc/source/api/nova..tests.test_test.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_test` Module
+==============================================================================
+.. automodule:: nova..tests.test_test
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_twistd.rst b/doc/source/api/nova..tests.test_twistd.rst
new file mode 100644
index 000000000..cae0c0a28
--- /dev/null
+++ b/doc/source/api/nova..tests.test_twistd.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_twistd` Module
+==============================================================================
+.. automodule:: nova..tests.test_twistd
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_utils.rst b/doc/source/api/nova..tests.test_utils.rst
new file mode 100644
index 000000000..d61a7021f
--- /dev/null
+++ b/doc/source/api/nova..tests.test_utils.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_utils` Module
+==============================================================================
+.. automodule:: nova..tests.test_utils
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_virt.rst b/doc/source/api/nova..tests.test_virt.rst
new file mode 100644
index 000000000..9b0dc1e46
--- /dev/null
+++ b/doc/source/api/nova..tests.test_virt.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_virt` Module
+==============================================================================
+.. automodule:: nova..tests.test_virt
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_volume.rst b/doc/source/api/nova..tests.test_volume.rst
new file mode 100644
index 000000000..b5affe53c
--- /dev/null
+++ b/doc/source/api/nova..tests.test_volume.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_volume` Module
+==============================================================================
+.. automodule:: nova..tests.test_volume
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.test_xenapi.rst b/doc/source/api/nova..tests.test_xenapi.rst
new file mode 100644
index 000000000..7128baee4
--- /dev/null
+++ b/doc/source/api/nova..tests.test_xenapi.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.test_xenapi` Module
+==============================================================================
+.. automodule:: nova..tests.test_xenapi
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..tests.xenapi.stubs.rst b/doc/source/api/nova..tests.xenapi.stubs.rst
new file mode 100644
index 000000000..356eed9a7
--- /dev/null
+++ b/doc/source/api/nova..tests.xenapi.stubs.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..tests.xenapi.stubs` Module
+==============================================================================
+.. automodule:: nova..tests.xenapi.stubs
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..twistd.rst b/doc/source/api/nova..twistd.rst
new file mode 100644
index 000000000..d4145396d
--- /dev/null
+++ b/doc/source/api/nova..twistd.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..twistd` Module
+==============================================================================
+.. automodule:: nova..twistd
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..utils.rst b/doc/source/api/nova..utils.rst
new file mode 100644
index 000000000..1131d1080
--- /dev/null
+++ b/doc/source/api/nova..utils.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..utils` Module
+==============================================================================
+.. automodule:: nova..utils
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..version.rst b/doc/source/api/nova..version.rst
new file mode 100644
index 000000000..4b0fc078f
--- /dev/null
+++ b/doc/source/api/nova..version.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..version` Module
+==============================================================================
+.. automodule:: nova..version
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..virt.connection.rst b/doc/source/api/nova..virt.connection.rst
new file mode 100644
index 000000000..caf766765
--- /dev/null
+++ b/doc/source/api/nova..virt.connection.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..virt.connection` Module
+==============================================================================
+.. automodule:: nova..virt.connection
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..virt.disk.rst b/doc/source/api/nova..virt.disk.rst
new file mode 100644
index 000000000..4a6c0f406
--- /dev/null
+++ b/doc/source/api/nova..virt.disk.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..virt.disk` Module
+==============================================================================
+.. automodule:: nova..virt.disk
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..virt.fake.rst b/doc/source/api/nova..virt.fake.rst
new file mode 100644
index 000000000..06ecdbf7d
--- /dev/null
+++ b/doc/source/api/nova..virt.fake.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..virt.fake` Module
+==============================================================================
+.. automodule:: nova..virt.fake
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..virt.hyperv.rst b/doc/source/api/nova..virt.hyperv.rst
new file mode 100644
index 000000000..48d89378e
--- /dev/null
+++ b/doc/source/api/nova..virt.hyperv.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..virt.hyperv` Module
+==============================================================================
+.. automodule:: nova..virt.hyperv
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..virt.images.rst b/doc/source/api/nova..virt.images.rst
new file mode 100644
index 000000000..4fdeb7af8
--- /dev/null
+++ b/doc/source/api/nova..virt.images.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..virt.images` Module
+==============================================================================
+.. automodule:: nova..virt.images
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..virt.libvirt_conn.rst b/doc/source/api/nova..virt.libvirt_conn.rst
new file mode 100644
index 000000000..7fb8aed5f
--- /dev/null
+++ b/doc/source/api/nova..virt.libvirt_conn.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..virt.libvirt_conn` Module
+==============================================================================
+.. automodule:: nova..virt.libvirt_conn
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..virt.xenapi.fake.rst b/doc/source/api/nova..virt.xenapi.fake.rst
new file mode 100644
index 000000000..752dabb14
--- /dev/null
+++ b/doc/source/api/nova..virt.xenapi.fake.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..virt.xenapi.fake` Module
+==============================================================================
+.. automodule:: nova..virt.xenapi.fake
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..virt.xenapi.network_utils.rst b/doc/source/api/nova..virt.xenapi.network_utils.rst
new file mode 100644
index 000000000..15f52973e
--- /dev/null
+++ b/doc/source/api/nova..virt.xenapi.network_utils.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..virt.xenapi.network_utils` Module
+==============================================================================
+.. automodule:: nova..virt.xenapi.network_utils
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..virt.xenapi.vm_utils.rst b/doc/source/api/nova..virt.xenapi.vm_utils.rst
new file mode 100644
index 000000000..18745dc71
--- /dev/null
+++ b/doc/source/api/nova..virt.xenapi.vm_utils.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..virt.xenapi.vm_utils` Module
+==============================================================================
+.. automodule:: nova..virt.xenapi.vm_utils
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..virt.xenapi.vmops.rst b/doc/source/api/nova..virt.xenapi.vmops.rst
new file mode 100644
index 000000000..30662c58d
--- /dev/null
+++ b/doc/source/api/nova..virt.xenapi.vmops.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..virt.xenapi.vmops` Module
+==============================================================================
+.. automodule:: nova..virt.xenapi.vmops
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..virt.xenapi.volume_utils.rst b/doc/source/api/nova..virt.xenapi.volume_utils.rst
new file mode 100644
index 000000000..413e4dc4b
--- /dev/null
+++ b/doc/source/api/nova..virt.xenapi.volume_utils.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..virt.xenapi.volume_utils` Module
+==============================================================================
+.. automodule:: nova..virt.xenapi.volume_utils
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..virt.xenapi.volumeops.rst b/doc/source/api/nova..virt.xenapi.volumeops.rst
new file mode 100644
index 000000000..626f164df
--- /dev/null
+++ b/doc/source/api/nova..virt.xenapi.volumeops.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..virt.xenapi.volumeops` Module
+==============================================================================
+.. automodule:: nova..virt.xenapi.volumeops
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..virt.xenapi_conn.rst b/doc/source/api/nova..virt.xenapi_conn.rst
new file mode 100644
index 000000000..14ac5147f
--- /dev/null
+++ b/doc/source/api/nova..virt.xenapi_conn.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..virt.xenapi_conn` Module
+==============================================================================
+.. automodule:: nova..virt.xenapi_conn
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..volume.api.rst b/doc/source/api/nova..volume.api.rst
new file mode 100644
index 000000000..8ad36e049
--- /dev/null
+++ b/doc/source/api/nova..volume.api.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..volume.api` Module
+==============================================================================
+.. automodule:: nova..volume.api
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..volume.driver.rst b/doc/source/api/nova..volume.driver.rst
new file mode 100644
index 000000000..51f5c0729
--- /dev/null
+++ b/doc/source/api/nova..volume.driver.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..volume.driver` Module
+==============================================================================
+.. automodule:: nova..volume.driver
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..volume.manager.rst b/doc/source/api/nova..volume.manager.rst
new file mode 100644
index 000000000..91a192a8f
--- /dev/null
+++ b/doc/source/api/nova..volume.manager.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..volume.manager` Module
+==============================================================================
+.. automodule:: nova..volume.manager
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..volume.san.rst b/doc/source/api/nova..volume.san.rst
new file mode 100644
index 000000000..1de068928
--- /dev/null
+++ b/doc/source/api/nova..volume.san.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..volume.san` Module
+==============================================================================
+.. automodule:: nova..volume.san
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/api/nova..wsgi.rst b/doc/source/api/nova..wsgi.rst
new file mode 100644
index 000000000..0bff1c332
--- /dev/null
+++ b/doc/source/api/nova..wsgi.rst
@@ -0,0 +1,6 @@
+The :mod:`nova..wsgi` Module
+==============================================================================
+.. automodule:: nova..wsgi
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/doc/source/community.rst b/doc/source/community.rst
index 4ae32f1eb..e925a47bd 100644
--- a/doc/source/community.rst
+++ b/doc/source/community.rst
@@ -18,7 +18,7 @@
Getting Involved
================
-The Nova community is a very friendly group and there are places online to join in with the
+The OpenStack community for Nova is a very friendly group and there are places online to join in with the
community. Feel free to ask questions. This document points you to some of the places where you can
communicate with people.
@@ -83,3 +83,13 @@ Twitter
Because all the cool kids do it: `@openstack <http://twitter.com/openstack>`_. Also follow the
`#openstack <http://search.twitter.com/search?q=%23openstack>`_ tag for relevant tweets.
+
+OpenStack Docs Site
+-------------------
+
+The `nova.openstack.org <http://nova.openstack.org>`_ site is geared towards developer documentation,
+and the `docs.openstack.org <http://docs.openstack.org>`_ site is intended for cloud administrators
+who are standing up and running OpenStack Compute in production. You can contribute to the Docs Site
+by using bzr and Launchpad and contributing to the openstack-manuals project at http://launchpad.net/openstack-manuals.
+
+
diff --git a/doc/source/images/vmwareapi_blockdiagram.jpg b/doc/source/images/vmwareapi_blockdiagram.jpg
new file mode 100644
index 000000000..1ae1fc8e0
--- /dev/null
+++ b/doc/source/images/vmwareapi_blockdiagram.jpg
Binary files differ
diff --git a/doc/source/index.rst b/doc/source/index.rst
index d337fb69f..846d3cfcd 100644
--- a/doc/source/index.rst
+++ b/doc/source/index.rst
@@ -32,11 +32,13 @@ Nova is written with the following design guidelines in mind:
* **API Compatibility**: Nova strives to provide API-compatible with popular systems like Amazon EC2
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`_. Also see the :doc:`community` page for
-other ways to interact with the community.
+tree. Additional draft and project documentation on Nova and other components of OpenStack can
+be found on the `OpenStack wiki`_. Cloud administrators, refer to `docs.openstack.org`_.
+
+Also see the :doc:`community` page for other ways to interact with the community.
.. _`OpenStack wiki`: http://wiki.openstack.org
+.. _`docs.openstack.org`: http://docs.openstack.org
Key Concepts
@@ -50,17 +52,7 @@ Key Concepts
service.architecture
nova.object.model
swift.object.model
-
-Administrator's Documentation
-=============================
-
-.. toctree::
- :maxdepth: 1
-
- livecd
- adminguide/index
- adminguide/single.node.install
- adminguide/multi.node.install
+ runnova/index
Developer Docs
==============
diff --git a/doc/source/man/novamanage.rst b/doc/source/man/novamanage.rst
index bb9d7a7fe..1d8446f08 100644
--- a/doc/source/man/novamanage.rst
+++ b/doc/source/man/novamanage.rst
@@ -173,12 +173,72 @@ Nova Floating IPs
``nova-manage floating create <host> <ip_range>``
Creates floating IP addresses for the named host by the given range.
- floating delete <ip_range> Deletes floating IP addresses in the range given.
+
+``nova-manage floating delete <ip_range>``
+
+ Deletes floating IP addresses in the range given.
``nova-manage floating list``
Displays a list of all floating IP addresses.
+Nova Flavor
+~~~~~~~~~~~
+
+``nova-manage flavor list``
+
+ Outputs a list of all active flavors to the screen.
+
+``nova-manage flavor list --all``
+
+ Outputs a list of all flavors (active and inactive) to the screen.
+
+``nova-manage flavor create <name> <memory> <vCPU> <local_storage> <flavorID> <(optional) swap> <(optional) RXTX Quota> <(optional) RXTX Cap>``
+
+ creates a flavor with the following positional arguments:
+ * memory (expressed in megabytes)
+ * vcpu(s) (integer)
+ * local storage (expressed in gigabytes)
+ * flavorid (unique integer)
+ * swap space (expressed in megabytes, defaults to zero, optional)
+ * RXTX quotas (expressed in gigabytes, defaults to zero, optional)
+ * RXTX cap (expressed in gigabytes, defaults to zero, optional)
+
+``nova-manage flavor delete <name>``
+
+ Delete the flavor with the name <name>. This marks the flavor as inactive and cannot be launched. However, the record stays in the database for archival and billing purposes.
+
+``nova-manage flavor delete <name> --purge``
+
+ Purges the flavor with the name <name>. This removes this flavor from the database.
+
+Nova Instance_type
+~~~~~~~~~~~~~~~~~~
+
+The instance_type command is provided as an alias for the flavor command. All the same subcommands and arguments from nova-manage flavor can be used.
+
+Nova Images
+~~~~~~~~~~~
+
+``nova-manage image image_register <path> <owner>``
+
+ Registers an image with the image service.
+
+``nova-manage image kernel_register <path> <owner>``
+
+ Registers a kernel with the image service.
+
+``nova-manage image ramdisk_register <path> <owner>``
+
+ Registers a ramdisk with the image service.
+
+``nova-manage image all_register <image_path> <kernel_path> <ramdisk_path> <owner>``
+
+ Registers an image kernel and ramdisk with the image service.
+
+``nova-manage image convert <directory>``
+
+ Converts all images in directory from the old (Bexar) format to the new format.
FILES
========
diff --git a/doc/source/nova.concepts.rst b/doc/source/nova.concepts.rst
index e9687dc98..45cc4b879 100644
--- a/doc/source/nova.concepts.rst
+++ b/doc/source/nova.concepts.rst
@@ -64,6 +64,11 @@ Concept: Instances
An 'instance' is a word for a virtual machine that runs inside the cloud.
+Concept: Instance Type
+----------------------
+
+An 'instance type' describes the compute, memory and storage capacity of nova computing instances. In layman terms, this is the size (in terms of vCPUs, RAM, etc.) of the virtual server that you will be launching.
+
Concept: System Architecture
----------------------------
diff --git a/doc/source/object.model.rst b/doc/source/object.model.rst
index d02f151fd..419e89b0c 100644
--- a/doc/source/object.model.rst
+++ b/doc/source/object.model.rst
@@ -18,8 +18,6 @@
Object Model
============
-.. todo:: Add brief description for core models
-
.. graphviz::
digraph foo {
@@ -42,27 +40,27 @@ Object Model
Users
-----
-Each Nova User is authorized based on their access key and secret key, assigned per-user. Read more at :doc:`/adminguide/managing.users`.
+Each Nova User is authorized based on their access key and secret key, assigned per-user. Read more at :doc:`/runnova/managing.users`.
Projects
--------
-For Nova, access to images is based on the project. Read more at :doc:`/adminguide/managing.projects`.
+For Nova, access to images is based on the project. Read more at :doc:`/runnova/managing.projects`.
Images
------
-Images are binary files that run the operating system. Read more at :doc:`/adminguide/managing.images`.
+Images are binary files that run the operating system. Read more at :doc:`/runnova/managing.images`.
Instances
---------
-Instances are running virtual servers. Read more at :doc:`/adminguide/managing.instances`.
+Instances are running virtual servers. Read more at :doc:`/runnova/managing.instances`.
Volumes
-------
-.. todo:: Write doc about volumes
+Volumes offer extra block level storage to instances. Read more at `Managing Volumes <http://docs.openstack.org/openstack-compute/admin/content/ch05s07.html>`_.
Security Groups
---------------
@@ -72,7 +70,7 @@ In Nova, a security group is a named collection of network access rules, like fi
VLANs
-----
-VLAN is the default network mode for Nova. Read more at :doc:`/adminguide/network.vlan`.
+VLAN is the default network mode for Nova. Read more at :doc:`/runnova/network.vlan`.
IP Addresses
------------
diff --git a/doc/source/quickstart.rst b/doc/source/quickstart.rst
index 17c9e10a8..84ed3fe01 100644
--- a/doc/source/quickstart.rst
+++ b/doc/source/quickstart.rst
@@ -54,7 +54,7 @@ Environment Variables
By tweaking the environment that nova.sh run in, you can build slightly
different configurations (though for more complex setups you should see
-:doc:`/adminguide/getting.started` and :doc:`/adminguide/multi.node.install`).
+`Installing and Configuring OpenStack Compute <http://docs.openstack.org/openstack-compute/admin/content/ch03.html>`_).
* HOST_IP
* Default: address of first interface from the ifconfig command
diff --git a/doc/source/adminguide/binaries.rst b/doc/source/runnova/binaries.rst
index 5c50a51f1..023831021 100644
--- a/doc/source/adminguide/binaries.rst
+++ b/doc/source/runnova/binaries.rst
@@ -35,12 +35,12 @@ Nova api receives xml requests and sends them to the rest of the system. It is
nova-objectstore
----------------
-Nova objectstore is an ultra simple file-based storage system for images that replicates most of the S3 Api. It will soon be replaced with glance and a simple image manager.
+Nova objectstore is an ultra simple file-based storage system for images that replicates most of the S3 Api. It will soon be replaced with Glance (http://glance.openstack.org) and a simple image manager.
nova-compute
------------
-Nova compute is responsible for managing virtual machines. It loads a Service object which exposes the public methods on ComputeManager via rpc.
+Nova compute is responsible for managing virtual machines. It loads a Service object which exposes the public methods on ComputeManager via rpc.
nova-volume
-----------
diff --git a/doc/source/adminguide/euca2ools.rst b/doc/source/runnova/euca2ools.rst
index 6f0c57358..6f0c57358 100644
--- a/doc/source/adminguide/euca2ools.rst
+++ b/doc/source/runnova/euca2ools.rst
diff --git a/doc/source/runnova/flags.rst b/doc/source/runnova/flags.rst
new file mode 100644
index 000000000..1bfa022d9
--- /dev/null
+++ b/doc/source/runnova/flags.rst
@@ -0,0 +1,193 @@
+..
+ Copyright 2010-2011 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.
+
+Flags and Flagfiles
+===================
+
+Nova uses a configuration file containing flags located in /etc/nova/nova.conf. You can get the most recent listing of avaialble flags by running nova-(servicename) --help, for example, nova-api --help.
+
+Here's a list of available flags and their default settings.
+
+ --ajax_console_proxy_port: port that ajax_console_proxy binds
+ (default: '8000')
+ --ajax_console_proxy_topic: the topic ajax proxy nodes listen on
+ (default: 'ajax_proxy')
+ --ajax_console_proxy_url: location of ajax console proxy, in the form
+ "http://127.0.0.1:8000"
+ (default: 'http://127.0.0.1:8000')
+ --auth_token_ttl: Seconds for auth tokens to linger
+ (default: '3600')
+ (an integer)
+ --aws_access_key_id: AWS Access ID
+ (default: 'admin')
+ --aws_secret_access_key: AWS Access Key
+ (default: 'admin')
+ --compute_manager: Manager for compute
+ (default: 'nova.compute.manager.ComputeManager')
+ --compute_topic: the topic compute nodes listen on
+ (default: 'compute')
+ --connection_type: libvirt, xenapi or fake
+ (default: 'libvirt')
+ --console_manager: Manager for console proxy
+ (default: 'nova.console.manager.ConsoleProxyManager')
+ --console_topic: the topic console proxy nodes listen on
+ (default: 'console')
+ --control_exchange: the main exchange to connect to
+ (default: 'nova')
+ --db_backend: The backend to use for db
+ (default: 'sqlalchemy')
+ --default_image: default image to use, testing only
+ (default: 'ami-11111')
+ --default_instance_type: default instance type to use, testing only
+ (default: 'm1.small')
+ --default_log_levels: list of logger=LEVEL pairs
+ (default: 'amqplib=WARN,sqlalchemy=WARN,eventlet.wsgi.server=WARN')
+ (a comma separated list)
+ --default_project: default project for openstack
+ (default: 'openstack')
+ --ec2_dmz_host: internal ip of api server
+ (default: '$my_ip')
+ --ec2_host: ip of api server
+ (default: '$my_ip')
+ --ec2_path: suffix for ec2
+ (default: '/services/Cloud')
+ --ec2_port: cloud controller port
+ (default: '8773')
+ (an integer)
+ --ec2_scheme: prefix for ec2
+ (default: 'http')
+ --[no]enable_new_services: Services to be added to the available pool on
+ create
+ (default: 'true')
+ --[no]fake_network: should we use fake network devices and addresses
+ (default: 'false')
+ --[no]fake_rabbit: use a fake rabbit
+ (default: 'false')
+ --glance_host: glance host
+ (default: '$my_ip')
+ --glance_port: glance port
+ (default: '9292')
+ (an integer)
+ -?,--[no]help: show this help
+ --[no]helpshort: show usage only for this module
+ --[no]helpxml: like --help, but generates XML output
+ --host: name of this node
+ (default: 'osdemo03')
+ --image_service: The service to use for retrieving and searching for images.
+ (default: 'nova.image.s3.S3ImageService')
+ --instance_name_template: Template string to be used to generate instance
+ names
+ (default: 'instance-%08x')
+ --logfile: output to named file
+ --logging_context_format_string: format string to use for log messages with
+ context
+ (default: '%(asctime)s %(levelname)s %(name)s [%(request_id)s %(user)s
+ %(project)s] %(message)s')
+ --logging_debug_format_suffix: data to append to log format when level is
+ DEBUG
+ (default: 'from %(processName)s (pid=%(process)d) %(funcName)s
+ %(pathname)s:%(lineno)d')
+ --logging_default_format_string: format string to use for log messages without
+ context
+ (default: '%(asctime)s %(levelname)s %(name)s [-] %(message)s')
+ --logging_exception_prefix: prefix each line of exception output with this
+ format
+ (default: '(%(name)s): TRACE: ')
+ --my_ip: host ip address
+ (default: '184.106.73.68')
+ --network_manager: Manager for network
+ (default: 'nova.network.manager.VlanManager')
+ --network_topic: the topic network nodes listen on
+ (default: 'network')
+ --node_availability_zone: availability zone of this node
+ (default: 'nova')
+ --null_kernel: kernel image that indicates not to use a kernel, but to use a
+ raw disk image instead
+ (default: 'nokernel')
+ --osapi_host: ip of api server
+ (default: '$my_ip')
+ --osapi_path: suffix for openstack
+ (default: '/v1.0/')
+ --osapi_port: OpenStack API port
+ (default: '8774')
+ (an integer)
+ --osapi_scheme: prefix for openstack
+ (default: 'http')
+ --periodic_interval: seconds between running periodic tasks
+ (default: '60')
+ (a positive integer)
+ --pidfile: pidfile to use for this service
+ --rabbit_host: rabbit host
+ (default: 'localhost')
+ --rabbit_max_retries: rabbit connection attempts
+ (default: '12')
+ (an integer)
+ --rabbit_password: rabbit password
+ (default: 'guest')
+ --rabbit_port: rabbit port
+ (default: '5672')
+ (an integer)
+ --rabbit_retry_interval: rabbit connection retry interval
+ (default: '10')
+ (an integer)
+ --rabbit_userid: rabbit userid
+ (default: 'guest')
+ --rabbit_virtual_host: rabbit virtual host
+ (default: '/')
+ --region_list: list of region=fqdn pairs separated by commas
+ (default: '')
+ (a comma separated list)
+ --report_interval: seconds between nodes reporting state to datastore
+ (default: '10')
+ (a positive integer)
+ --s3_dmz: s3 dmz ip (for instances)
+ (default: '$my_ip')
+ --s3_host: s3 host (for infrastructure)
+ (default: '$my_ip')
+ --s3_port: s3 port
+ (default: '3333')
+ (an integer)
+ --scheduler_manager: Manager for scheduler
+ (default: 'nova.scheduler.manager.SchedulerManager')
+ --scheduler_topic: the topic scheduler nodes listen on
+ (default: 'scheduler')
+ --sql_connection: connection string for sql database
+ (default: 'sqlite:///$state_path/nova.sqlite')
+ --sql_idle_timeout: timeout for idle sql database connections
+ (default: '3600')
+ --sql_max_retries: sql connection attempts
+ (default: '12')
+ (an integer)
+ --sql_retry_interval: sql connection retry interval
+ (default: '10')
+ (an integer)
+ --state_path: Top-level directory for maintaining nova's state
+ (default: '/usr/lib/pymodules/python2.6/nova/../')
+ --[no]use_syslog: output to syslog
+ (default: 'false')
+ --[no]verbose: show debug output
+ (default: 'false')
+ --volume_manager: Manager for volume
+ (default: 'nova.volume.manager.VolumeManager')
+ --volume_name_template: Template string to be used to generate instance names
+ (default: 'volume-%08x')
+ --volume_topic: the topic volume nodes listen on
+ (default: 'volume')
+ --vpn_image_id: AMI for cloudpipe vpn server
+ (default: 'ami-cloudpipe')
+ --vpn_key_suffix: Suffix to add to project name for vpn key and secgroups
+ (default: '-vpn') \ No newline at end of file
diff --git a/doc/source/adminguide/getting.started.rst b/doc/source/runnova/getting.started.rst
index 675d8e664..4cc7307b0 100644
--- a/doc/source/adminguide/getting.started.rst
+++ b/doc/source/runnova/getting.started.rst
@@ -105,11 +105,10 @@ Configuration
Configuring the host system
~~~~~~~~~~~~~~~~~~~~~~~~~~~
-As you read through the Administration Guide you will notice configuration hints
-inline with documentation on the subsystem you are configuring. Presented in
-this "Getting Started with Nova" document, we only provide what you need to
-get started as quickly as possible. For a more detailed description of system
-configuration, start reading through :doc:`multi.node.install`.
+Nova can be configured in many different ways. In this "Getting Started with Nova" document, we only provide what you need to get started as quickly as possible. For a more detailed description of system
+configuration, start reading through `Installing and Configuring OpenStack Compute <http://docs.openstack.org/openstack-compute/admin/content/ch03.html>`_.
+
+`Detailed instructions for creating a volume group are available <http://docs.openstack.org/openstack-compute/admin/content/ch05s07.html>`_, or use these quick instructions.
* Create a volume group (you can use an actual disk for the volume group as
well)::
@@ -136,6 +135,8 @@ flagfile, so typically a file like ``nova-manage.conf`` would have as its first
line ``--flagfile=/etc/nova/nova.conf`` to load the common flags before
specifying overrides or additional options.
+To get a current comprehensive list of flag file options, run bin/nova-<servicename> --help, or refer to a static list at `Reference for Flags in nova.conf <http://docs.openstack.org/openstack-compute/admin/content/ch05s08.html>`_.
+
A sample configuration to test the system follows::
--verbose
@@ -143,13 +144,13 @@ A sample configuration to test the system follows::
--auth_driver=nova.auth.dbdriver.DbDriver
Running
----------
+-------
There are many parts to the nova system, each with a specific function. They
are built to be highly-available, so there are may configurations they can be
run in (ie: on many machines, many listeners per machine, etc). This part
of the guide only gets you started quickly, to learn about HA options, see
-:doc:`multi.node.install`.
+`Installing and Configuring OpenStack Compute <http://docs.openstack.org/openstack-compute/admin/content/ch03.html>`_.
Launch supporting services
diff --git a/doc/source/adminguide/index.rst b/doc/source/runnova/index.rst
index 3bd72cfdc..283d268ce 100644
--- a/doc/source/adminguide/index.rst
+++ b/doc/source/runnova/index.rst
@@ -15,17 +15,17 @@
License for the specific language governing permissions and limitations
under the License.
-Administration Guide
-====================
+Running Nova
+============
-This guide describes the basics of running and managing Nova.
+This guide describes the basics of running and managing Nova. For more administrator's documentation, refer to `docs.openstack.org <http://docs.openstack.org>`_.
Running the Cloud
-----------------
-The fastest way to get a test cloud running is by following the directions in the :doc:`../quickstart`.
+The fastest way to get a test cloud running is by following the directions in the :doc:`../quickstart`. It relies on a nova.sh script to run on a single machine.
-Nova's cloud works via the interaction of a series of daemon processes that reside persistently on the host machine(s). Fortunately, the :doc:`../quickstart` process launches sample versions of all these daemons for you. Once you are familiar with basic Nova usage, you can learn more about daemons by reading :doc:`../service.architecture` and :doc:`binaries`.
+Nova's cloud works via the interaction of a series of daemon processes that reside persistently on the host machine(s). Fortunately, the :doc:`../quickstart` process launches sample versions of all these daemons for you. Once you are familiar with basic Nova usage, you can learn more about daemons by reading :doc:`../service.architecture` and :doc:`binaries`.
Administration Utilities
------------------------
@@ -60,12 +60,12 @@ For background on the core objects referenced in this section, see :doc:`../obje
Deployment
----------
-For a starting multi-node architecture, you would start with two nodes - a cloud controller node and a compute node. The cloud controller node contains the nova- services plus the Nova database. The compute node installs all the nova-services but then refers to the database installation, which is hosted by the cloud controller node. Ensure that the nova.conf file is identical on each node. If you find performance issues not related to database reads or writes, but due to the messaging queue backing up, you could add additional messaging services (rabbitmq).
+For a starting multi-node architecture, you would start with two nodes - a cloud controller node and a compute node. The cloud controller node contains the nova- services plus the Nova database. The compute node installs all the nova-services but then refers to the database installation, which is hosted by the cloud controller node. Ensure that the nova.conf file is identical on each node. If you find performance issues not related to database reads or writes, but due to the messaging queue backing up, you could add additional messaging services (rabbitmq). For instructions on multi-server installations, refer to `Installing and Configuring OpenStack Compute <http://docs.openstack.org/openstack-compute/admin/content/ch03.html>`_.
+
.. toctree::
:maxdepth: 1
- multi.node.install
dbsync
@@ -75,7 +75,6 @@ Networking
.. toctree::
:maxdepth: 1
- multi.node.install
network.vlan.rst
network.flat.rst
diff --git a/doc/source/adminguide/managing.images.rst b/doc/source/runnova/managing.images.rst
index c5d93a6e8..c5d93a6e8 100644
--- a/doc/source/adminguide/managing.images.rst
+++ b/doc/source/runnova/managing.images.rst
diff --git a/doc/source/runnova/managing.instance.types.rst b/doc/source/runnova/managing.instance.types.rst
new file mode 100644
index 000000000..746077716
--- /dev/null
+++ b/doc/source/runnova/managing.instance.types.rst
@@ -0,0 +1,84 @@
+..
+ Copyright 2011 Ken Pepple
+
+ 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.
+
+Managing Instance Types and Flavors
+===================================
+
+What are Instance Types or Flavors ?
+------------------------------------
+
+Instance types describe the compute, memory and storage capacity of nova computing instances. In layman terms, this is the size (in terms of vCPUs, RAM, etc.) of the virtual server that you will be launching. In the EC2 API, these are called by names such as "m1.large" or "m1.tiny", while the OpenStack API terms these "flavors" with names like "512 MB Server".
+
+In Nova, "flavor" and "instance type" are equivalent terms. When you create an EC2 instance type, you are also creating a OpenStack API flavor. To reduce repetition, for the rest of this document I will refer to these as instance types.
+
+Instance types can be in either the active or inactive state:
+ * Active instance types are available to be used for launching instances
+ * Inactive instance types are not available for launching instances
+
+In the current (Cactus) version of nova, instance types can only be created by the nova administrator through the nova-manage command. Future versions of nova (in concert with the OpenStack API or EC2 API), may expose this functionality directly to users.
+
+Basic Management
+----------------
+
+Instance types / flavor are managed through the nova-manage binary with
+the "instance_type" command and an appropriate subcommand. Note that you can also use
+the "flavor" command as a synonym for "instance_types".
+
+To see all currently active instance types, use the list subcommand::
+
+ # nova-manage instance_type list
+ m1.medium: Memory: 4096MB, VCPUS: 2, Storage: 40GB, FlavorID: 3, Swap: 0GB, RXTX Quota: 0GB, RXTX Cap: 0MB
+ m1.large: Memory: 8192MB, VCPUS: 4, Storage: 80GB, FlavorID: 4, Swap: 0GB, RXTX Quota: 0GB, RXTX Cap: 0MB
+ m1.tiny: Memory: 512MB, VCPUS: 1, Storage: 0GB, FlavorID: 1, Swap: 0GB, RXTX Quota: 0GB, RXTX Cap: 0MB
+ m1.xlarge: Memory: 16384MB, VCPUS: 8, Storage: 160GB, FlavorID: 5, Swap: 0GB, RXTX Quota: 0GB, RXTX Cap: 0MB
+ m1.small: Memory: 2048MB, VCPUS: 1, Storage: 20GB, FlavorID: 2, Swap: 0GB, RXTX Quota: 0GB, RXTX Cap: 0MB
+
+By default, the list subcommand only shows active instance types. To see all instance types (inactive and active), use the list subcommand with the "--all" flag::
+
+ # nova-manage instance_type list --all
+ m1.medium: Memory: 4096MB, VCPUS: 2, Storage: 40GB, FlavorID: 3, Swap: 0GB, RXTX Quota: 0GB, RXTX Cap: 0MB
+ m1.large: Memory: 8192MB, VCPUS: 4, Storage: 80GB, FlavorID: 4, Swap: 0GB, RXTX Quota: 0GB, RXTX Cap: 0MB
+ m1.tiny: Memory: 512MB, VCPUS: 1, Storage: 0GB, FlavorID: 1, Swap: 0GB, RXTX Quota: 0GB, RXTX Cap: 0MB
+ m1.xlarge: Memory: 16384MB, VCPUS: 8, Storage: 160GB, FlavorID: 5, Swap: 0GB, RXTX Quota: 0GB, RXTX Cap: 0MB
+ m1.small: Memory: 2048MB, VCPUS: 1, Storage: 20GB, FlavorID: 2, Swap: 0GB, RXTX Quota: 0GB, RXTX Cap: 0MB
+ m1.deleted: Memory: 2048MB, VCPUS: 1, Storage: 20GB, FlavorID: 2, Swap: 0GB, RXTX Quota: 0GB, RXTX Cap: 0MB, inactive
+
+To create an instance type, use the "create" subcommand with the following positional arguments:
+ * memory (expressed in megabytes)
+ * vcpu(s) (integer)
+ * local storage (expressed in gigabytes)
+ * flavorid (unique integer)
+ * swap space (expressed in megabytes, defaults to zero, optional)
+ * RXTX quotas (expressed in gigabytes, defaults to zero, optional)
+ * RXTX cap (expressed in gigabytes, defaults to zero, optional)
+
+The following example creates an instance type named "m1.xxlarge"::
+
+ # nova-manage instance_type create m1.xxlarge 32768 16 320 0 0 0
+ m1.xxlarge created
+
+To delete an instance type, use the "delete" subcommand and specify the name::
+
+ # nova-manage instance_type delete m1.xxlarge
+ m1.xxlarge deleted
+
+Please note that the "delete" command only marks the instance type as
+inactive in the database; it does not actually remove the instance type. This is done
+to preserve the instance type definition for long running instances (which may not
+terminate for months or years). If you are sure that you want to delete this instance
+type from the database, pass the "--purge" flag after the name::
+
+ # nova-manage instance_type delete m1.xxlarge --purge
+ m1.xxlarge purged
diff --git a/doc/source/adminguide/managing.instances.rst b/doc/source/runnova/managing.instances.rst
index e62352017..e62352017 100644
--- a/doc/source/adminguide/managing.instances.rst
+++ b/doc/source/runnova/managing.instances.rst
diff --git a/doc/source/adminguide/managing.networks.rst b/doc/source/runnova/managing.networks.rst
index 9eea46d70..9eea46d70 100644
--- a/doc/source/adminguide/managing.networks.rst
+++ b/doc/source/runnova/managing.networks.rst
diff --git a/doc/source/adminguide/managing.projects.rst b/doc/source/runnova/managing.projects.rst
index 5dd7f2de9..5dd7f2de9 100644
--- a/doc/source/adminguide/managing.projects.rst
+++ b/doc/source/runnova/managing.projects.rst
diff --git a/doc/source/adminguide/managing.users.rst b/doc/source/runnova/managing.users.rst
index 392142e86..392142e86 100644
--- a/doc/source/adminguide/managing.users.rst
+++ b/doc/source/runnova/managing.users.rst
diff --git a/doc/source/adminguide/managingsecurity.rst b/doc/source/runnova/managingsecurity.rst
index 7893925e7..7893925e7 100644
--- a/doc/source/adminguide/managingsecurity.rst
+++ b/doc/source/runnova/managingsecurity.rst
diff --git a/doc/source/adminguide/monitoring.rst b/doc/source/runnova/monitoring.rst
index 2c93c71b5..2c93c71b5 100644
--- a/doc/source/adminguide/monitoring.rst
+++ b/doc/source/runnova/monitoring.rst
diff --git a/doc/source/adminguide/network.flat.rst b/doc/source/runnova/network.flat.rst
index 3d8680c6f..3d8680c6f 100644
--- a/doc/source/adminguide/network.flat.rst
+++ b/doc/source/runnova/network.flat.rst
diff --git a/doc/source/adminguide/network.vlan.rst b/doc/source/runnova/network.vlan.rst
index c06ce8e8b..c06ce8e8b 100644
--- a/doc/source/adminguide/network.vlan.rst
+++ b/doc/source/runnova/network.vlan.rst
diff --git a/doc/source/adminguide/nova.manage.rst b/doc/source/runnova/nova.manage.rst
index 0e9a29b6b..0636e5752 100644
--- a/doc/source/adminguide/nova.manage.rst
+++ b/doc/source/runnova/nova.manage.rst
@@ -182,6 +182,29 @@ Nova Floating IPs
Displays a list of all floating IP addresses.
+Nova Images
+~~~~~~~~~~~
+
+``nova-manage image image_register <path> <owner>``
+
+ Registers an image with the image service.
+
+``nova-manage image kernel_register <path> <owner>``
+
+ Registers a kernel with the image service.
+
+``nova-manage image ramdisk_register <path> <owner>``
+
+ Registers a ramdisk with the image service.
+
+``nova-manage image all_register <image_path> <kernel_path> <ramdisk_path> <owner>``
+
+ Registers an image kernel and ramdisk with the image service.
+
+``nova-manage image convert <directory>``
+
+ Converts all images in directory from the old (Bexar) format to the new format.
+
Concept: Flags
--------------
diff --git a/doc/source/runnova/vncconsole.rst b/doc/source/runnova/vncconsole.rst
new file mode 100644
index 000000000..c1fe9be39
--- /dev/null
+++ b/doc/source/runnova/vncconsole.rst
@@ -0,0 +1,76 @@
+..
+ Copyright 2010-2011 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.
+
+Getting Started with the VNC Proxy
+==================================
+
+The VNC Proxy is an OpenStack component that allows users of Nova to access
+their instances through a websocket enabled browser (like Google Chrome).
+
+A VNC Connection works like so:
+
+* User connects over an api and gets a url like http://ip:port/?token=xyz
+* User pastes url in browser
+* Browser connects to VNC Proxy though a websocket enabled client like noVNC
+* VNC Proxy authorizes users token, maps the token to a host and port of an
+ instance's VNC server
+* VNC Proxy initiates connection to VNC server, and continues proxying until
+ the session ends
+
+
+Configuring the VNC Proxy
+-------------------------
+nova-vncproxy requires a websocket enabled html client to work properly. At
+this time, the only tested client is a slightly modified fork of noVNC, which
+you can at find http://github.com/openstack/noVNC.git
+
+.. todo:: add instruction for installing from package
+
+noVNC must be in the location specified by --vncproxy_wwwroot, which defaults
+to /var/lib/nova/noVNC. nova-vncproxy will fail to launch until this code
+is properly installed.
+
+By default, nova-vncproxy binds 0.0.0.0:6080. This can be configured with:
+
+* --vncproxy_port=[port]
+* --vncproxy_host=[host]
+
+
+Enabling VNC Consoles in Nova
+-----------------------------
+At the moment, VNC support is supported only when using libvirt. To enable VNC
+Console, configure the following flags:
+
+* --vnc_console_proxy_url=http://[proxy_host]:[proxy_port] - proxy_port
+ defaults to 6080. This url must point to nova-vncproxy
+* --vnc_enabled=[True|False] - defaults to True. If this flag is not set your
+ instances will launch without vnc support.
+
+
+Getting an instance's VNC Console
+---------------------------------
+You can access an instance's VNC Console url in the following methods:
+
+* Using the direct api:
+ eg: 'stack --user=admin --project=admin compute get_vnc_console instance_id=1'
+* Support for Dashboard, and the Openstack API will be forthcoming
+
+
+Accessing VNC Consoles without a web browser
+--------------------------------------------
+At the moment, VNC Consoles are only supported through the web browser, but
+more general VNC support is in the works.
diff --git a/doc/source/vmwareapi_readme.rst b/doc/source/vmwareapi_readme.rst
new file mode 100644
index 000000000..85f2694c0
--- /dev/null
+++ b/doc/source/vmwareapi_readme.rst
@@ -0,0 +1,218 @@
+..
+ Copyright (c) 2010 Citrix Systems, Inc.
+ Copyright 2010 OpenStack LLC.
+
+ 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.
+
+VMware ESX/ESXi Server Support for OpenStack Compute
+====================================================
+
+Introduction
+------------
+A module named 'vmwareapi' is added to 'nova.virt' to add support of VMware ESX/ESXi hypervisor to OpenStack compute (Nova). Nova may now use VMware vSphere as a compute provider.
+
+The basic requirement is to support VMware vSphere 4.1 as a compute provider within Nova. As the deployment architecture, support both ESX and ESXi. VM storage is restricted to VMFS volumes on local drives. vCenter is not required by the current design, and is not currently supported. Instead, Nova Compute talks directly to ESX/ESXi.
+
+The 'vmwareapi' module is integrated with Glance, so that VM images can be streamed from there for boot on ESXi using Glance server for image storage & retrieval.
+
+Currently supports Nova's flat networking model (Flat Manager) & VLAN networking model.
+
+.. image:: images/vmwareapi_blockdiagram.jpg
+
+
+System Requirements
+-------------------
+Following software components are required for building the cloud using OpenStack on top of ESX/ESXi Server(s):
+
+* OpenStack
+* Glance Image service
+* VMware ESX v4.1 or VMware ESXi(licensed) v4.1
+
+VMware ESX Requirements
+-----------------------
+* ESX credentials with administration/root privileges
+* Single local hard disk at the ESX host
+* An ESX Virtual Machine Port Group (For Flat Networking)
+* An ESX physical network adapter (For VLAN networking)
+* Need to enable "vSphere Web Access" in "vSphere client" UI at Configuration->Security Profile->Firewall
+
+Python dependencies
+-------------------
+* suds-0.4
+
+* Installation procedure on Ubuntu/Debian
+
+::
+
+ easy_install suds==0.4
+
+
+Configuration flags required for nova-compute
+---------------------------------------------
+::
+
+ --connection_type=vmwareapi
+ --vmwareapi_host_ip=<VMware ESX Host IP>
+ --vmwareapi_host_username=<VMware ESX Username>
+ --vmwareapi_host_password=<VMware ESX Password>
+ --network_driver=nova.network.vmwareapi_net [Optional, only for VLAN Networking]
+ --vlan_interface=<Physical ethernet adapter name in VMware ESX host for vlan networking E.g vmnic0> [Optional, only for VLAN Networking]
+
+
+Configuration flags required for nova-network
+---------------------------------------------
+::
+
+ --network_manager=nova.network.manager.FlatManager [or nova.network.manager.VlanManager]
+ --flat_network_bridge=<ESX Virtual Machine Port Group> [Optional, only for Flat Networking]
+
+
+Configuration flags required for nova-console
+---------------------------------------------
+::
+
+ --console_manager=nova.console.vmrc_manager.ConsoleVMRCManager
+ --console_driver=nova.console.vmrc.VMRCSessionConsole [Optional, only for OTP (One time Passwords) as against host credentials]
+
+
+Other flags
+-----------
+::
+
+ --image_service=nova.image.glance.GlanceImageService
+ --glance_host=<Glance Host>
+ --vmwareapi_wsdl_loc=<http://<WEB SERVER>/vimService.wsdl>
+
+Note:- Due to a faulty wsdl being shipped with ESX vSphere 4.1 we need a working wsdl which can to be mounted on any webserver. Follow the below steps to download the SDK,
+
+* Go to http://www.vmware.com/support/developer/vc-sdk/
+* Go to section VMware vSphere Web Services SDK 4.0
+* Click "Downloads"
+* Enter VMware credentials when prompted for download
+* Unzip the downloaded file vi-sdk-4.0.0-xxx.zip
+* Go to SDK->WSDL->vim25 & host the files "vimService.wsdl" and "vim.wsdl" in a WEB SERVER
+* Set the flag "--vmwareapi_wsdl_loc" with url, "http://<WEB SERVER>/vimService.wsdl"
+
+
+VLAN Network Manager
+--------------------
+VLAN network support is added through a custom network driver in the nova-compute node i.e "nova.network.vmwareapi_net" and it uses a Physical ethernet adapter on the VMware ESX/ESXi host for VLAN Networking (the name of the ethernet adapter is specified as vlan_interface flag in the nova-compute configuration flag) in the nova-compute node.
+
+Using the physical adapter name the associated Virtual Switch will be determined. In VMware ESX there can be only one Virtual Switch associated with a Physical adapter.
+
+When VM Spawn request is issued with a VLAN ID the work flow looks like,
+
+1. Check that a Physical adapter with the given name exists. If no, throw an error.If yes, goto next step.
+
+2. Check if a Virtual Switch is associated with the Physical ethernet adapter with vlan interface name. If no, throw an error. If yes, goto next step.
+
+3. Check if a port group with the network bridge name exists. If no, create a port group in the Virtual switch with the give name and VLAN id and goto step 6. If yes, goto next step.
+
+4. Check if the port group is associated with the Virtual Switch. If no, throw an error. If yes, goto next step.
+
+5. Check if the port group is associated with the given VLAN Id. If no, throw an error. If yes, goto next step.
+
+6. Spawn the VM using this Port Group as the Network Name for the VM.
+
+
+Guest console Support
+---------------------
+| VMware VMRC console is a built-in console method providing graphical control of the VM remotely.
+|
+| VMRC Console types supported:
+| # Host based credentials
+| Not secure (Sends ESX admin credentials in clear text)
+|
+| # OTP (One time passwords)
+| Secure but creates multiple session entries in DB for each OpenStack console create request.
+| Console sessions created is can be used only once.
+|
+| Install browser based VMware ESX plugins/activex on the client machine to connect
+|
+| Windows:-
+| Internet Explorer:
+| https://<VMware ESX Host>/ui/plugin/vmware-vmrc-win32-x86.exe
+|
+| Mozilla Firefox:
+| https://<VMware ESX Host>/ui/plugin/vmware-vmrc-win32-x86.xpi
+|
+| Linux:-
+| Mozilla Firefox
+| 32-Bit Linux:
+| https://<VMware ESX Host>/ui/plugin/vmware-vmrc-linux-x86.xpi
+|
+| 64-Bit Linux:
+| https://<VMware ESX Host>/ui/plugin/vmware-vmrc-linux-x64.xpi
+|
+| OpenStack Console Details:
+| console_type = vmrc+credentials | vmrc+session
+| host = <VMware ESX Host>
+| port = <VMware ESX Port>
+| password = {'vm_id': <VMware VM ID>,'username':<VMware ESX Username>, 'password':<VMware ESX Password>} //base64 + json encoded
+|
+| Instantiate the plugin/activex object
+| # In Internet Explorer
+| <object id='vmrc' classid='CLSID:B94C2238-346E-4C5E-9B36-8CC627F35574'>
+| </object>
+|
+| # Mozilla Firefox and other browsers
+| <object id='vmrc' type='application/x-vmware-vmrc;version=2.5.0.0'>
+| </object>
+|
+| Open vmrc connection
+| # Host based credentials [type=vmrc+credentials]
+| <script type="text/javascript">
+| var MODE_WINDOW = 2;
+| var vmrc = document.getElementById('vmrc');
+| vmrc.connect(<VMware ESX Host> + ':' + <VMware ESX Port>, <VMware ESX Username>, <VMware ESX Password>, '', <VMware VM ID>, MODE_WINDOW);
+| </script>
+|
+| # OTP (One time passwords) [type=vmrc+session]
+| <script type="text/javascript">
+| var MODE_WINDOW = 2;
+| var vmrc = document.getElementById('vmrc');
+| vmrc.connectWithSession(<VMware ESX Host> + ':' + <VMware ESX Port>, <VMware VM ID>, <VMware ESX Password>, MODE_WINDOW);
+| </script>
+
+
+Assumptions
+-----------
+1. The VMware images uploaded to the image repositories have VMware Tools installed.
+
+
+FAQ
+---
+
+1. What type of disk images are supported?
+
+* Only VMware VMDK's are currently supported and of that support is available only for thick disks, thin provisioned disks are not supported.
+
+
+2. How is IP address information injected into the guest?
+
+* IP address information is injected through 'machine.id' vmx parameter (equivalent to XenStore in XenServer). This information can be retrived inside the guest using VMware tools.
+
+
+3. What is the guest tool?
+
+* The guest tool is a small python script that should be run either as a service or added to system startup. This script configures networking on the guest. The guest tool is available at tools/esx/guest_tool.py
+
+
+4. What type of consoles are supported?
+
+* VMware VMRC based consoles are supported. There are 2 options for credentials one is OTP (Secure but creates multiple session entries in DB for each OpenStack console create request.) & other is host based credentials (It may not be secure as ESX credentials are transmitted as clear text).
+
+5. What does 'Vim' refer to as far as vmwareapi module is concerned?
+
+* Vim refers to VMware Virtual Infrastructure Methodology. This is not to be confused with "VIM" editor.
+