diff --git a/doc/build/.placeholder b/doc/build/.placeholder deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/doc/build/doctrees/adminguide/binaries.doctree b/doc/build/doctrees/adminguide/binaries.doctree deleted file mode 100644 index 8006245a9f55..000000000000 Binary files a/doc/build/doctrees/adminguide/binaries.doctree and /dev/null differ diff --git a/doc/build/doctrees/adminguide/distros/others.doctree b/doc/build/doctrees/adminguide/distros/others.doctree deleted file mode 100644 index c7f14fb918e2..000000000000 Binary files a/doc/build/doctrees/adminguide/distros/others.doctree and /dev/null differ diff --git a/doc/build/doctrees/adminguide/distros/ubuntu.10.04.doctree b/doc/build/doctrees/adminguide/distros/ubuntu.10.04.doctree deleted file mode 100644 index 135763bf719b..000000000000 Binary files a/doc/build/doctrees/adminguide/distros/ubuntu.10.04.doctree and /dev/null differ diff --git a/doc/build/doctrees/adminguide/distros/ubuntu.10.10.doctree b/doc/build/doctrees/adminguide/distros/ubuntu.10.10.doctree deleted file mode 100644 index 2005aa78cd64..000000000000 Binary files a/doc/build/doctrees/adminguide/distros/ubuntu.10.10.doctree and /dev/null differ diff --git a/doc/build/doctrees/adminguide/euca2ools.doctree b/doc/build/doctrees/adminguide/euca2ools.doctree deleted file mode 100644 index 390845265b78..000000000000 Binary files a/doc/build/doctrees/adminguide/euca2ools.doctree and /dev/null differ diff --git a/doc/build/doctrees/adminguide/flags.doctree b/doc/build/doctrees/adminguide/flags.doctree deleted file mode 100644 index 0fd0522b8071..000000000000 Binary files a/doc/build/doctrees/adminguide/flags.doctree and /dev/null differ diff --git a/doc/build/doctrees/adminguide/getting.started.doctree b/doc/build/doctrees/adminguide/getting.started.doctree deleted file mode 100644 index a4d1fce7acb4..000000000000 Binary files a/doc/build/doctrees/adminguide/getting.started.doctree and /dev/null differ diff --git a/doc/build/doctrees/adminguide/index.doctree b/doc/build/doctrees/adminguide/index.doctree deleted file mode 100644 index 43791ff9d2b4..000000000000 Binary files a/doc/build/doctrees/adminguide/index.doctree and /dev/null differ diff --git a/doc/build/doctrees/adminguide/managing.images.doctree b/doc/build/doctrees/adminguide/managing.images.doctree deleted file mode 100644 index 764bc8acef7a..000000000000 Binary files a/doc/build/doctrees/adminguide/managing.images.doctree and /dev/null differ diff --git a/doc/build/doctrees/adminguide/managing.instances.doctree b/doc/build/doctrees/adminguide/managing.instances.doctree deleted file mode 100644 index 3bd9917de3f1..000000000000 Binary files a/doc/build/doctrees/adminguide/managing.instances.doctree and /dev/null differ diff --git a/doc/build/doctrees/adminguide/managing.networks.doctree b/doc/build/doctrees/adminguide/managing.networks.doctree deleted file mode 100644 index e34f6ae28e52..000000000000 Binary files a/doc/build/doctrees/adminguide/managing.networks.doctree and /dev/null differ diff --git a/doc/build/doctrees/adminguide/managing.projects.doctree b/doc/build/doctrees/adminguide/managing.projects.doctree deleted file mode 100644 index 041c1dd61d9c..000000000000 Binary files a/doc/build/doctrees/adminguide/managing.projects.doctree and /dev/null differ diff --git a/doc/build/doctrees/adminguide/managing.users.doctree b/doc/build/doctrees/adminguide/managing.users.doctree deleted file mode 100644 index c21f05487979..000000000000 Binary files a/doc/build/doctrees/adminguide/managing.users.doctree and /dev/null differ diff --git a/doc/build/doctrees/adminguide/managingsecurity.doctree b/doc/build/doctrees/adminguide/managingsecurity.doctree deleted file mode 100644 index 8d5a3509792b..000000000000 Binary files a/doc/build/doctrees/adminguide/managingsecurity.doctree and /dev/null differ diff --git a/doc/build/doctrees/adminguide/monitoring.doctree b/doc/build/doctrees/adminguide/monitoring.doctree deleted file mode 100644 index c0c83f29af30..000000000000 Binary files a/doc/build/doctrees/adminguide/monitoring.doctree and /dev/null differ diff --git a/doc/build/doctrees/adminguide/multi.node.install.doctree b/doc/build/doctrees/adminguide/multi.node.install.doctree deleted file mode 100644 index 0b24939e654a..000000000000 Binary files a/doc/build/doctrees/adminguide/multi.node.install.doctree and /dev/null differ diff --git a/doc/build/doctrees/adminguide/network.flat.doctree b/doc/build/doctrees/adminguide/network.flat.doctree deleted file mode 100644 index 99b60132efbb..000000000000 Binary files a/doc/build/doctrees/adminguide/network.flat.doctree and /dev/null differ diff --git a/doc/build/doctrees/adminguide/network.vlan.doctree b/doc/build/doctrees/adminguide/network.vlan.doctree deleted file mode 100644 index 02e6e7ef1447..000000000000 Binary files a/doc/build/doctrees/adminguide/network.vlan.doctree and /dev/null differ diff --git a/doc/build/doctrees/adminguide/nova.manage.doctree b/doc/build/doctrees/adminguide/nova.manage.doctree deleted file mode 100644 index b06b1fc489f3..000000000000 Binary files a/doc/build/doctrees/adminguide/nova.manage.doctree and /dev/null differ diff --git a/doc/build/doctrees/adminguide/single.node.install.doctree b/doc/build/doctrees/adminguide/single.node.install.doctree deleted file mode 100644 index a0a0c927102a..000000000000 Binary files a/doc/build/doctrees/adminguide/single.node.install.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/autoindex.doctree b/doc/build/doctrees/api/autoindex.doctree deleted file mode 100644 index ca690eeab79c..000000000000 Binary files a/doc/build/doctrees/api/autoindex.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..adminclient.doctree b/doc/build/doctrees/api/nova..adminclient.doctree deleted file mode 100644 index 5fc153196d6b..000000000000 Binary files a/doc/build/doctrees/api/nova..adminclient.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..api.cloud.doctree b/doc/build/doctrees/api/nova..api.cloud.doctree deleted file mode 100644 index 21d8011beee3..000000000000 Binary files a/doc/build/doctrees/api/nova..api.cloud.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..api.ec2.admin.doctree b/doc/build/doctrees/api/nova..api.ec2.admin.doctree deleted file mode 100644 index 3fec631a4a2c..000000000000 Binary files a/doc/build/doctrees/api/nova..api.ec2.admin.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..api.ec2.apirequest.doctree b/doc/build/doctrees/api/nova..api.ec2.apirequest.doctree deleted file mode 100644 index b212d15a7eda..000000000000 Binary files a/doc/build/doctrees/api/nova..api.ec2.apirequest.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..api.ec2.cloud.doctree b/doc/build/doctrees/api/nova..api.ec2.cloud.doctree deleted file mode 100644 index 16d7ad90a721..000000000000 Binary files a/doc/build/doctrees/api/nova..api.ec2.cloud.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..api.ec2.images.doctree b/doc/build/doctrees/api/nova..api.ec2.images.doctree deleted file mode 100644 index 340a4bc04a37..000000000000 Binary files a/doc/build/doctrees/api/nova..api.ec2.images.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..api.ec2.metadatarequesthandler.doctree b/doc/build/doctrees/api/nova..api.ec2.metadatarequesthandler.doctree deleted file mode 100644 index c1da3eaf9c13..000000000000 Binary files a/doc/build/doctrees/api/nova..api.ec2.metadatarequesthandler.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..api.openstack.auth.doctree b/doc/build/doctrees/api/nova..api.openstack.auth.doctree deleted file mode 100644 index b5e4e32ae440..000000000000 Binary files a/doc/build/doctrees/api/nova..api.openstack.auth.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..api.openstack.backup_schedules.doctree b/doc/build/doctrees/api/nova..api.openstack.backup_schedules.doctree deleted file mode 100644 index 3e063ce80827..000000000000 Binary files a/doc/build/doctrees/api/nova..api.openstack.backup_schedules.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..api.openstack.faults.doctree b/doc/build/doctrees/api/nova..api.openstack.faults.doctree deleted file mode 100644 index e2c149b4bbec..000000000000 Binary files a/doc/build/doctrees/api/nova..api.openstack.faults.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..api.openstack.flavors.doctree b/doc/build/doctrees/api/nova..api.openstack.flavors.doctree deleted file mode 100644 index 0df3200c18a5..000000000000 Binary files a/doc/build/doctrees/api/nova..api.openstack.flavors.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..api.openstack.images.doctree b/doc/build/doctrees/api/nova..api.openstack.images.doctree deleted file mode 100644 index e2f83944b276..000000000000 Binary files a/doc/build/doctrees/api/nova..api.openstack.images.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..api.openstack.servers.doctree b/doc/build/doctrees/api/nova..api.openstack.servers.doctree deleted file mode 100644 index 64bf16c4566a..000000000000 Binary files a/doc/build/doctrees/api/nova..api.openstack.servers.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..api.openstack.sharedipgroups.doctree b/doc/build/doctrees/api/nova..api.openstack.sharedipgroups.doctree deleted file mode 100644 index 144e9472b464..000000000000 Binary files a/doc/build/doctrees/api/nova..api.openstack.sharedipgroups.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..auth.dbdriver.doctree b/doc/build/doctrees/api/nova..auth.dbdriver.doctree deleted file mode 100644 index 6fdcc725e56d..000000000000 Binary files a/doc/build/doctrees/api/nova..auth.dbdriver.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..auth.fakeldap.doctree b/doc/build/doctrees/api/nova..auth.fakeldap.doctree deleted file mode 100644 index 2723a22ff4ae..000000000000 Binary files a/doc/build/doctrees/api/nova..auth.fakeldap.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..auth.ldapdriver.doctree b/doc/build/doctrees/api/nova..auth.ldapdriver.doctree deleted file mode 100644 index 1698a7a67597..000000000000 Binary files a/doc/build/doctrees/api/nova..auth.ldapdriver.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..auth.manager.doctree b/doc/build/doctrees/api/nova..auth.manager.doctree deleted file mode 100644 index e323006e11d8..000000000000 Binary files a/doc/build/doctrees/api/nova..auth.manager.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..auth.signer.doctree b/doc/build/doctrees/api/nova..auth.signer.doctree deleted file mode 100644 index fe4dd3f67371..000000000000 Binary files a/doc/build/doctrees/api/nova..auth.signer.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..cloudpipe.pipelib.doctree b/doc/build/doctrees/api/nova..cloudpipe.pipelib.doctree deleted file mode 100644 index 5027c13bb814..000000000000 Binary files a/doc/build/doctrees/api/nova..cloudpipe.pipelib.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..compute.disk.doctree b/doc/build/doctrees/api/nova..compute.disk.doctree deleted file mode 100644 index ac3a5478ea19..000000000000 Binary files a/doc/build/doctrees/api/nova..compute.disk.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..compute.instance_types.doctree b/doc/build/doctrees/api/nova..compute.instance_types.doctree deleted file mode 100644 index 2a7c035534fc..000000000000 Binary files a/doc/build/doctrees/api/nova..compute.instance_types.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..compute.manager.doctree b/doc/build/doctrees/api/nova..compute.manager.doctree deleted file mode 100644 index bc74464845e4..000000000000 Binary files a/doc/build/doctrees/api/nova..compute.manager.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..compute.monitor.doctree b/doc/build/doctrees/api/nova..compute.monitor.doctree deleted file mode 100644 index 34cad0354ace..000000000000 Binary files a/doc/build/doctrees/api/nova..compute.monitor.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..compute.power_state.doctree b/doc/build/doctrees/api/nova..compute.power_state.doctree deleted file mode 100644 index b2424de7b97b..000000000000 Binary files a/doc/build/doctrees/api/nova..compute.power_state.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..context.doctree b/doc/build/doctrees/api/nova..context.doctree deleted file mode 100644 index b8352dfd5e75..000000000000 Binary files a/doc/build/doctrees/api/nova..context.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..crypto.doctree b/doc/build/doctrees/api/nova..crypto.doctree deleted file mode 100644 index e40b776f177b..000000000000 Binary files a/doc/build/doctrees/api/nova..crypto.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..db.api.doctree b/doc/build/doctrees/api/nova..db.api.doctree deleted file mode 100644 index e8ffeed71aa4..000000000000 Binary files a/doc/build/doctrees/api/nova..db.api.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..db.sqlalchemy.api.doctree b/doc/build/doctrees/api/nova..db.sqlalchemy.api.doctree deleted file mode 100644 index a67a57d41e4e..000000000000 Binary files a/doc/build/doctrees/api/nova..db.sqlalchemy.api.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..db.sqlalchemy.models.doctree b/doc/build/doctrees/api/nova..db.sqlalchemy.models.doctree deleted file mode 100644 index 42a1e51fe0cd..000000000000 Binary files a/doc/build/doctrees/api/nova..db.sqlalchemy.models.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..db.sqlalchemy.session.doctree b/doc/build/doctrees/api/nova..db.sqlalchemy.session.doctree deleted file mode 100644 index 1253924b563d..000000000000 Binary files a/doc/build/doctrees/api/nova..db.sqlalchemy.session.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..exception.doctree b/doc/build/doctrees/api/nova..exception.doctree deleted file mode 100644 index 53f4b68899b5..000000000000 Binary files a/doc/build/doctrees/api/nova..exception.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..fakerabbit.doctree b/doc/build/doctrees/api/nova..fakerabbit.doctree deleted file mode 100644 index b63c50cd8ce1..000000000000 Binary files a/doc/build/doctrees/api/nova..fakerabbit.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..flags.doctree b/doc/build/doctrees/api/nova..flags.doctree deleted file mode 100644 index ca1115625b52..000000000000 Binary files a/doc/build/doctrees/api/nova..flags.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..image.service.doctree b/doc/build/doctrees/api/nova..image.service.doctree deleted file mode 100644 index 9798631ae0c4..000000000000 Binary files a/doc/build/doctrees/api/nova..image.service.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..manager.doctree b/doc/build/doctrees/api/nova..manager.doctree deleted file mode 100644 index 59c20c56c6bf..000000000000 Binary files a/doc/build/doctrees/api/nova..manager.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..network.linux_net.doctree b/doc/build/doctrees/api/nova..network.linux_net.doctree deleted file mode 100644 index 850b1fe46f61..000000000000 Binary files a/doc/build/doctrees/api/nova..network.linux_net.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..network.manager.doctree b/doc/build/doctrees/api/nova..network.manager.doctree deleted file mode 100644 index 5a17fa2a66f5..000000000000 Binary files a/doc/build/doctrees/api/nova..network.manager.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..objectstore.bucket.doctree b/doc/build/doctrees/api/nova..objectstore.bucket.doctree deleted file mode 100644 index c4c5cfa86646..000000000000 Binary files a/doc/build/doctrees/api/nova..objectstore.bucket.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..objectstore.handler.doctree b/doc/build/doctrees/api/nova..objectstore.handler.doctree deleted file mode 100644 index dd22550ade7a..000000000000 Binary files a/doc/build/doctrees/api/nova..objectstore.handler.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..objectstore.image.doctree b/doc/build/doctrees/api/nova..objectstore.image.doctree deleted file mode 100644 index 89e80c8b74e4..000000000000 Binary files a/doc/build/doctrees/api/nova..objectstore.image.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..objectstore.stored.doctree b/doc/build/doctrees/api/nova..objectstore.stored.doctree deleted file mode 100644 index 37eb82db02d9..000000000000 Binary files a/doc/build/doctrees/api/nova..objectstore.stored.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..process.doctree b/doc/build/doctrees/api/nova..process.doctree deleted file mode 100644 index ca306d07ebbe..000000000000 Binary files a/doc/build/doctrees/api/nova..process.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..quota.doctree b/doc/build/doctrees/api/nova..quota.doctree deleted file mode 100644 index ea7e87026779..000000000000 Binary files a/doc/build/doctrees/api/nova..quota.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..rpc.doctree b/doc/build/doctrees/api/nova..rpc.doctree deleted file mode 100644 index d774f13ac586..000000000000 Binary files a/doc/build/doctrees/api/nova..rpc.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..scheduler.chance.doctree b/doc/build/doctrees/api/nova..scheduler.chance.doctree deleted file mode 100644 index 0d65dbd82dc5..000000000000 Binary files a/doc/build/doctrees/api/nova..scheduler.chance.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..scheduler.driver.doctree b/doc/build/doctrees/api/nova..scheduler.driver.doctree deleted file mode 100644 index cdd709e09ef9..000000000000 Binary files a/doc/build/doctrees/api/nova..scheduler.driver.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..scheduler.manager.doctree b/doc/build/doctrees/api/nova..scheduler.manager.doctree deleted file mode 100644 index 04d6d7a02e5e..000000000000 Binary files a/doc/build/doctrees/api/nova..scheduler.manager.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..scheduler.simple.doctree b/doc/build/doctrees/api/nova..scheduler.simple.doctree deleted file mode 100644 index 0831a51dcf3e..000000000000 Binary files a/doc/build/doctrees/api/nova..scheduler.simple.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..server.doctree b/doc/build/doctrees/api/nova..server.doctree deleted file mode 100644 index 3afb0e8ec3c8..000000000000 Binary files a/doc/build/doctrees/api/nova..server.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..service.doctree b/doc/build/doctrees/api/nova..service.doctree deleted file mode 100644 index 7f7ae945f6fe..000000000000 Binary files a/doc/build/doctrees/api/nova..service.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..test.doctree b/doc/build/doctrees/api/nova..test.doctree deleted file mode 100644 index 4c387d9a6537..000000000000 Binary files a/doc/build/doctrees/api/nova..test.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.access_unittest.doctree b/doc/build/doctrees/api/nova..tests.access_unittest.doctree deleted file mode 100644 index 62425af2b413..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.access_unittest.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.api.fakes.doctree b/doc/build/doctrees/api/nova..tests.api.fakes.doctree deleted file mode 100644 index dda086c3ee3f..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.api.fakes.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.api.openstack.fakes.doctree b/doc/build/doctrees/api/nova..tests.api.openstack.fakes.doctree deleted file mode 100644 index 326af55b7da0..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.api.openstack.fakes.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.api.openstack.test_api.doctree b/doc/build/doctrees/api/nova..tests.api.openstack.test_api.doctree deleted file mode 100644 index 16f3441922c1..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.api.openstack.test_api.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.api.openstack.test_auth.doctree b/doc/build/doctrees/api/nova..tests.api.openstack.test_auth.doctree deleted file mode 100644 index 7fccdda3d256..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.api.openstack.test_auth.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.api.openstack.test_faults.doctree b/doc/build/doctrees/api/nova..tests.api.openstack.test_faults.doctree deleted file mode 100644 index 6b82c60b28ef..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.api.openstack.test_faults.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.api.openstack.test_flavors.doctree b/doc/build/doctrees/api/nova..tests.api.openstack.test_flavors.doctree deleted file mode 100644 index 7339f03fc6a3..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.api.openstack.test_flavors.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.api.openstack.test_images.doctree b/doc/build/doctrees/api/nova..tests.api.openstack.test_images.doctree deleted file mode 100644 index 30849418b108..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.api.openstack.test_images.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.api.openstack.test_ratelimiting.doctree b/doc/build/doctrees/api/nova..tests.api.openstack.test_ratelimiting.doctree deleted file mode 100644 index ba40cd2f060a..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.api.openstack.test_ratelimiting.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.api.openstack.test_servers.doctree b/doc/build/doctrees/api/nova..tests.api.openstack.test_servers.doctree deleted file mode 100644 index 37017584f1f0..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.api.openstack.test_servers.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.api.openstack.test_sharedipgroups.doctree b/doc/build/doctrees/api/nova..tests.api.openstack.test_sharedipgroups.doctree deleted file mode 100644 index 6febac0450e2..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.api.openstack.test_sharedipgroups.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.api.test_wsgi.doctree b/doc/build/doctrees/api/nova..tests.api.test_wsgi.doctree deleted file mode 100644 index f4fc78f11697..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.api.test_wsgi.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.api_integration.doctree b/doc/build/doctrees/api/nova..tests.api_integration.doctree deleted file mode 100644 index 1a85b2439cd3..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.api_integration.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.api_unittest.doctree b/doc/build/doctrees/api/nova..tests.api_unittest.doctree deleted file mode 100644 index de15e69c2cea..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.api_unittest.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.auth_unittest.doctree b/doc/build/doctrees/api/nova..tests.auth_unittest.doctree deleted file mode 100644 index 262beefbc111..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.auth_unittest.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.cloud_unittest.doctree b/doc/build/doctrees/api/nova..tests.cloud_unittest.doctree deleted file mode 100644 index 69bbe7456b5c..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.cloud_unittest.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.compute_unittest.doctree b/doc/build/doctrees/api/nova..tests.compute_unittest.doctree deleted file mode 100644 index 71874bbe81c7..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.compute_unittest.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.declare_flags.doctree b/doc/build/doctrees/api/nova..tests.declare_flags.doctree deleted file mode 100644 index 33d1e29d81f2..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.declare_flags.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.fake_flags.doctree b/doc/build/doctrees/api/nova..tests.fake_flags.doctree deleted file mode 100644 index cc925c70ee3c..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.fake_flags.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.flags_unittest.doctree b/doc/build/doctrees/api/nova..tests.flags_unittest.doctree deleted file mode 100644 index d53aa0854991..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.flags_unittest.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.network_unittest.doctree b/doc/build/doctrees/api/nova..tests.network_unittest.doctree deleted file mode 100644 index 721e3eb5e8c6..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.network_unittest.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.objectstore_unittest.doctree b/doc/build/doctrees/api/nova..tests.objectstore_unittest.doctree deleted file mode 100644 index a012c069994c..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.objectstore_unittest.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.process_unittest.doctree b/doc/build/doctrees/api/nova..tests.process_unittest.doctree deleted file mode 100644 index 284e15b3d067..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.process_unittest.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.quota_unittest.doctree b/doc/build/doctrees/api/nova..tests.quota_unittest.doctree deleted file mode 100644 index cd2dc5588892..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.quota_unittest.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.real_flags.doctree b/doc/build/doctrees/api/nova..tests.real_flags.doctree deleted file mode 100644 index 9f338dfe88bb..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.real_flags.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.rpc_unittest.doctree b/doc/build/doctrees/api/nova..tests.rpc_unittest.doctree deleted file mode 100644 index 9499865f1db9..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.rpc_unittest.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.runtime_flags.doctree b/doc/build/doctrees/api/nova..tests.runtime_flags.doctree deleted file mode 100644 index a652947c3edc..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.runtime_flags.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.scheduler_unittest.doctree b/doc/build/doctrees/api/nova..tests.scheduler_unittest.doctree deleted file mode 100644 index 22ff4eaf5ff6..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.scheduler_unittest.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.service_unittest.doctree b/doc/build/doctrees/api/nova..tests.service_unittest.doctree deleted file mode 100644 index c5a2255185b4..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.service_unittest.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.twistd_unittest.doctree b/doc/build/doctrees/api/nova..tests.twistd_unittest.doctree deleted file mode 100644 index a52f8dcf39d1..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.twistd_unittest.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.validator_unittest.doctree b/doc/build/doctrees/api/nova..tests.validator_unittest.doctree deleted file mode 100644 index d81dde843462..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.validator_unittest.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.virt_unittest.doctree b/doc/build/doctrees/api/nova..tests.virt_unittest.doctree deleted file mode 100644 index 62b642b63a71..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.virt_unittest.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..tests.volume_unittest.doctree b/doc/build/doctrees/api/nova..tests.volume_unittest.doctree deleted file mode 100644 index c99f33eb8da7..000000000000 Binary files a/doc/build/doctrees/api/nova..tests.volume_unittest.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..twistd.doctree b/doc/build/doctrees/api/nova..twistd.doctree deleted file mode 100644 index 893f4864bd28..000000000000 Binary files a/doc/build/doctrees/api/nova..twistd.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..utils.doctree b/doc/build/doctrees/api/nova..utils.doctree deleted file mode 100644 index 4c164066c0d4..000000000000 Binary files a/doc/build/doctrees/api/nova..utils.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..validate.doctree b/doc/build/doctrees/api/nova..validate.doctree deleted file mode 100644 index 3098bc6fda5f..000000000000 Binary files a/doc/build/doctrees/api/nova..validate.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..virt.connection.doctree b/doc/build/doctrees/api/nova..virt.connection.doctree deleted file mode 100644 index ea4dbaba10f7..000000000000 Binary files a/doc/build/doctrees/api/nova..virt.connection.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..virt.fake.doctree b/doc/build/doctrees/api/nova..virt.fake.doctree deleted file mode 100644 index a028d10ec345..000000000000 Binary files a/doc/build/doctrees/api/nova..virt.fake.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..virt.images.doctree b/doc/build/doctrees/api/nova..virt.images.doctree deleted file mode 100644 index db2353d42bb0..000000000000 Binary files a/doc/build/doctrees/api/nova..virt.images.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..virt.libvirt_conn.doctree b/doc/build/doctrees/api/nova..virt.libvirt_conn.doctree deleted file mode 100644 index 3ae5410cb3e7..000000000000 Binary files a/doc/build/doctrees/api/nova..virt.libvirt_conn.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..virt.xenapi.doctree b/doc/build/doctrees/api/nova..virt.xenapi.doctree deleted file mode 100644 index 5173a3338c58..000000000000 Binary files a/doc/build/doctrees/api/nova..virt.xenapi.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..volume.driver.doctree b/doc/build/doctrees/api/nova..volume.driver.doctree deleted file mode 100644 index a31cf96c0426..000000000000 Binary files a/doc/build/doctrees/api/nova..volume.driver.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..volume.manager.doctree b/doc/build/doctrees/api/nova..volume.manager.doctree deleted file mode 100644 index dceea180821a..000000000000 Binary files a/doc/build/doctrees/api/nova..volume.manager.doctree and /dev/null differ diff --git a/doc/build/doctrees/api/nova..wsgi.doctree b/doc/build/doctrees/api/nova..wsgi.doctree deleted file mode 100644 index 1b54672424d7..000000000000 Binary files a/doc/build/doctrees/api/nova..wsgi.doctree and /dev/null differ diff --git a/doc/build/doctrees/cloud101.doctree b/doc/build/doctrees/cloud101.doctree deleted file mode 100644 index e7667f866d21..000000000000 Binary files a/doc/build/doctrees/cloud101.doctree and /dev/null differ diff --git a/doc/build/doctrees/code.doctree b/doc/build/doctrees/code.doctree deleted file mode 100644 index ce5ad4485761..000000000000 Binary files a/doc/build/doctrees/code.doctree and /dev/null differ diff --git a/doc/build/doctrees/community.doctree b/doc/build/doctrees/community.doctree deleted file mode 100644 index 6837addb6a0e..000000000000 Binary files a/doc/build/doctrees/community.doctree and /dev/null differ diff --git a/doc/build/doctrees/devref/api.doctree b/doc/build/doctrees/devref/api.doctree deleted file mode 100644 index 8151a68dafc4..000000000000 Binary files a/doc/build/doctrees/devref/api.doctree and /dev/null differ diff --git a/doc/build/doctrees/devref/architecture.doctree b/doc/build/doctrees/devref/architecture.doctree deleted file mode 100644 index b5de0bc694f0..000000000000 Binary files a/doc/build/doctrees/devref/architecture.doctree and /dev/null differ diff --git a/doc/build/doctrees/devref/auth.doctree b/doc/build/doctrees/devref/auth.doctree deleted file mode 100644 index 97d880a5e649..000000000000 Binary files a/doc/build/doctrees/devref/auth.doctree and /dev/null differ diff --git a/doc/build/doctrees/devref/cloudpipe.doctree b/doc/build/doctrees/devref/cloudpipe.doctree deleted file mode 100644 index d7f9a48a4243..000000000000 Binary files a/doc/build/doctrees/devref/cloudpipe.doctree and /dev/null differ diff --git a/doc/build/doctrees/devref/compute.doctree b/doc/build/doctrees/devref/compute.doctree deleted file mode 100644 index d74e49f5a912..000000000000 Binary files a/doc/build/doctrees/devref/compute.doctree and /dev/null differ diff --git a/doc/build/doctrees/devref/database.doctree b/doc/build/doctrees/devref/database.doctree deleted file mode 100644 index 7c57de72a708..000000000000 Binary files a/doc/build/doctrees/devref/database.doctree and /dev/null differ diff --git a/doc/build/doctrees/devref/development.environment.doctree b/doc/build/doctrees/devref/development.environment.doctree deleted file mode 100644 index 4862bd192e09..000000000000 Binary files a/doc/build/doctrees/devref/development.environment.doctree and /dev/null differ diff --git a/doc/build/doctrees/devref/fakes.doctree b/doc/build/doctrees/devref/fakes.doctree deleted file mode 100644 index 8c07eced611c..000000000000 Binary files a/doc/build/doctrees/devref/fakes.doctree and /dev/null differ diff --git a/doc/build/doctrees/devref/glance.doctree b/doc/build/doctrees/devref/glance.doctree deleted file mode 100644 index 124d77771e4e..000000000000 Binary files a/doc/build/doctrees/devref/glance.doctree and /dev/null differ diff --git a/doc/build/doctrees/devref/index.doctree b/doc/build/doctrees/devref/index.doctree deleted file mode 100644 index 8c155355e687..000000000000 Binary files a/doc/build/doctrees/devref/index.doctree and /dev/null differ diff --git a/doc/build/doctrees/devref/modules.doctree b/doc/build/doctrees/devref/modules.doctree deleted file mode 100644 index e6dcde834b0a..000000000000 Binary files a/doc/build/doctrees/devref/modules.doctree and /dev/null differ diff --git a/doc/build/doctrees/devref/network.doctree b/doc/build/doctrees/devref/network.doctree deleted file mode 100644 index 57724103b735..000000000000 Binary files a/doc/build/doctrees/devref/network.doctree and /dev/null differ diff --git a/doc/build/doctrees/devref/nova.doctree b/doc/build/doctrees/devref/nova.doctree deleted file mode 100644 index 3e243c00be21..000000000000 Binary files a/doc/build/doctrees/devref/nova.doctree and /dev/null differ diff --git a/doc/build/doctrees/devref/objectstore.doctree b/doc/build/doctrees/devref/objectstore.doctree deleted file mode 100644 index 112c6856ef6e..000000000000 Binary files a/doc/build/doctrees/devref/objectstore.doctree and /dev/null differ diff --git a/doc/build/doctrees/devref/scheduler.doctree b/doc/build/doctrees/devref/scheduler.doctree deleted file mode 100644 index a82138866ed7..000000000000 Binary files a/doc/build/doctrees/devref/scheduler.doctree and /dev/null differ diff --git a/doc/build/doctrees/devref/services.doctree b/doc/build/doctrees/devref/services.doctree deleted file mode 100644 index b5bdb8f347c8..000000000000 Binary files a/doc/build/doctrees/devref/services.doctree and /dev/null differ diff --git a/doc/build/doctrees/devref/volume.doctree b/doc/build/doctrees/devref/volume.doctree deleted file mode 100644 index 77ccc2f284a8..000000000000 Binary files a/doc/build/doctrees/devref/volume.doctree and /dev/null differ diff --git a/doc/build/doctrees/environment.pickle b/doc/build/doctrees/environment.pickle deleted file mode 100644 index 6c3552ddccd3..000000000000 Binary files a/doc/build/doctrees/environment.pickle and /dev/null differ diff --git a/doc/build/doctrees/index.doctree b/doc/build/doctrees/index.doctree deleted file mode 100644 index 0ce64eaea4ba..000000000000 Binary files a/doc/build/doctrees/index.doctree and /dev/null differ diff --git a/doc/build/doctrees/installer.doctree b/doc/build/doctrees/installer.doctree deleted file mode 100644 index b193cbe32d58..000000000000 Binary files a/doc/build/doctrees/installer.doctree and /dev/null differ diff --git a/doc/build/doctrees/livecd.doctree b/doc/build/doctrees/livecd.doctree deleted file mode 100644 index 7e9ae7f3eac6..000000000000 Binary files a/doc/build/doctrees/livecd.doctree and /dev/null differ diff --git a/doc/build/doctrees/man/novamanage.doctree b/doc/build/doctrees/man/novamanage.doctree deleted file mode 100644 index cccfa3e65c44..000000000000 Binary files a/doc/build/doctrees/man/novamanage.doctree and /dev/null differ diff --git a/doc/build/doctrees/nova.concepts.doctree b/doc/build/doctrees/nova.concepts.doctree deleted file mode 100644 index 71fcc46bf16f..000000000000 Binary files a/doc/build/doctrees/nova.concepts.doctree and /dev/null differ diff --git a/doc/build/doctrees/object.model.doctree b/doc/build/doctrees/object.model.doctree deleted file mode 100644 index 16500b8e9c53..000000000000 Binary files a/doc/build/doctrees/object.model.doctree and /dev/null differ diff --git a/doc/build/doctrees/quickstart.doctree b/doc/build/doctrees/quickstart.doctree deleted file mode 100644 index fad66f8ddd5f..000000000000 Binary files a/doc/build/doctrees/quickstart.doctree and /dev/null differ diff --git a/doc/build/doctrees/service.architecture.doctree b/doc/build/doctrees/service.architecture.doctree deleted file mode 100644 index 4fc09dd05ace..000000000000 Binary files a/doc/build/doctrees/service.architecture.doctree and /dev/null differ diff --git a/doc/source/devref/addmethod.openstackapi.rst b/doc/source/devref/addmethod.openstackapi.rst new file mode 100644 index 000000000000..6484613df2b0 --- /dev/null +++ b/doc/source/devref/addmethod.openstackapi.rst @@ -0,0 +1,56 @@ +.. + Copyright 2010 OpenStack LLC + 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. + +Adding a Method to the OpenStack API +==================================== + +The interface is a mostly RESTful API. REST stands for Representational State Transfer and provides an architecture "style" for distributed systems using HTTP for transport. Figure out a way to express your request and response in terms of resources that are being created, modified, read, or destroyed. + +Routing +------- + +To map URLs to controllers+actions, OpenStack uses the Routes package, a clone of Rails routes for Python implementations. See http://routes.groovie.org/ fore more information. + +URLs are mapped to "action" methods on "controller" classes in nova/api/openstack/__init__/ApiRouter.__init__ . + +See http://routes.groovie.org/manual.html for all syntax, but you'll probably just need these two: + - mapper.connect() lets you map a single URL to a single action on a controller. + - mapper.resource() connects many standard URLs to actions on a controller. + +Controllers and actions +----------------------- + +Controllers live in nova/api/openstack, and inherit from nova.wsgi.Controller. + +See nova/api/openstack/servers.py for an example. + +Action methods take parameters that are sucked out of the URL by mapper.connect() or .resource(). The first two parameters are self and the WebOb request, from which you can get the req.environ, req.body, req.headers, etc. + +Serialization +------------- + +Actions return a dictionary, and wsgi.Controller serializes that to JSON or XML based on the request's content-type. + +If you define a new controller, you'll need to define a _serialization_metadata attribute on the class, to tell wsgi.Controller how to convert your dictionary to XML. It needs to know the singular form of any list tag (e.g. list contains tags) and which dictionary keys are to be XML attributes as opposed to subtags (e.g. instead of 4). + +See nova/api/openstack/servers.py for an example. + +Faults +------ + +If you need to return a non-200, you should +return faults.Fault(webob.exc.HTTPNotFound()) +replacing the exception as appropriate. diff --git a/doc/source/devref/development.environment.rst b/doc/source/devref/development.environment.rst index 34104c96420c..6344c5382ced 100644 --- a/doc/source/devref/development.environment.rst +++ b/doc/source/devref/development.environment.rst @@ -15,7 +15,83 @@ License for the specific language governing permissions and limitations under the License. -Setting up a development environment +Setting Up a Development Environment ==================================== -.. todo:: write this +This page describes how to setup a working Python development environment that can be used in developing on OpenStack on Ubuntu or Mac OSX. These instructions assume you're already familiar with bzr and can pull down the code with an existing Launchpad account. Refer to http://wiki.openstack.org/LifeWithBzrAndLaunchpad for additional information. + +Linux Systems +------------- + +Note: This section is tested for Nova on Ubuntu 10.10-64. Feel free to add notes and change according to your experiences or operating system. + +Bring down the Nova source with bzr, then: +:: + cd /nova + sudo apt-get install python-dev swig libssl-dev python-pip + sudo easy_install nose + pip install virtualenv + python tools/install_venv.py + +If all goes well, you should get a message something like this: +:: + Nova development environment setup is complete. + +Nova development uses virtualenv to track and manage Python dependencies while in development and testing. Virtual env gives you an independent Python environment. + +To activate the Nova virtualenv for the extent of your current shell session + you can run:: + + $ source .nova-venv/bin/activate + + Or, if you prefer, you can run commands in the virtualenv on a case by case + basis by running:: + + $ tools/with_venv.sh + + Also, make test will automatically use the virtualenv. + +If you don't want to create a virtualenv every time you branch (which takes a while as long as we have the large Twisted project as a dependency) you can reuse a single virtualenv for all branches. + + #. If you don't have a nova/ directory containing trunk/ and other branches, do so now. + #. Go into nova/trunk and install a virtualenv. + #. Move it up a level: mv nova/trunk/.nova-venv nova/.nova-venv. + #. Symlink the ../nova/.nova-venv directory from your branch:: + + ~/openstack/nova/my_branch$ ln -s ../.nova-venv .nova-venv + +This works with run_tests.sh and nosetests -w nova/tests/api + +MacOSX Systems +-------------- + +First, install Virtual Env, which creates an isolated "standalone" Python environment.:: + + sudo easy_install virtualenv + + +Here's how to setup the code initially:: + + bzr branch lp:nova + cd nova + python tools/install_venv.py + source .nova_venv/bin/activate + pip install pep8 # submitting patch so that Nova has pep8 and pylint in PIP requirements file + pip install pylint + +If you have installed OpenSSL 1.0.0a on MacOS, which can happen when installing a MacPorts package for OpenSSL, you will see an error when running nova.tests.auth_unittest.AuthTestCase.test_209_can_generate_x509. The version that functions correctly is OpenSSL 0.9.8l 5, installed with MacOS 10.6 as a base element. + +Here's how to get the latest code:: + + cd nova + bzr pull # get the latest stuff... + source .nova_venv/bin/activate + ./run_tests.sh + +And then you can do cleaning work or hack hack hack with a branched named cleaning:: + + bzr push lp:~launchpaduserid/nova/cleaning + +To submit the merge/patch that you hacked upon: + * Navigate to https://code.launchpad.net/~launchpaduserid/nova/cleaning. + * Click on the link "Propose for merging". diff --git a/doc/source/devref/index.rst b/doc/source/devref/index.rst index e9c28305c7ca..589609aceb5f 100644 --- a/doc/source/devref/index.rst +++ b/doc/source/devref/index.rst @@ -23,8 +23,12 @@ In this section you will find information on Nova's lower level programming APIs Programming HowTos and Tutorials -------------------------------- +.. toctree:: + :maxdepth: 3 + + development.environment + addmethod.openstackapi -.. todo:: Add some programming howtos and tuts Programming Concepts -------------------- diff --git a/doc/source/devref/rabbit.rst b/doc/source/devref/rabbit.rst index 4468e575b85c..423284a55c47 100644 --- a/doc/source/devref/rabbit.rst +++ b/doc/source/devref/rabbit.rst @@ -32,7 +32,7 @@ Nova (Austin release) uses both direct and topic-based exchanges. The architectu Nova implements RPC (both request+response, and one-way, respectively nicknamed 'rpc.call' and 'rpc.cast') over AMQP by providing an adapter class which take cares of marshalling and unmarshalling of messages into function calls. Each Nova service (for example Compute, Volume, etc.) create two queues at the initialization time, one which accepts messages with routing keys 'NODE-TYPE.NODE-ID' (for example compute.hostname) and another, which accepts messages with routing keys as generic 'NODE-TYPE' (for example compute). The former is used specifically when Nova-API needs to redirect commands to a specific node like 'euca-terminate instance'. In this case, only the compute node whose host's hypervisor is running the virtual machine can kill the instance. The API acts as a consumer when RPC calls are request/response, otherwise is acts as publisher only. Nova RPC Mappings -================= +----------------- The figure below shows the internals of a RabbitMQ node when a single instance is deployed and shared in an OpenStack cloud. Every Nova component connects to the RabbitMQ instance and, depending on its personality (for example a compute node or a network node), may use the queue either as an Invoker (such as API or Scheduler) or a Worker (such as Compute, Volume or Network). Invokers and Workers do not actually exist in the Nova object model, but we are going to use them as an abstraction for sake of clarity. An Invoker is a component that sends messages in the queuing system via two operations: 1) rpc.call and ii) rpc.cast; a Worker is a component that receives messages from the queuing system and reply accordingly to rcp.call operations. @@ -52,7 +52,7 @@ Figure 2 shows the following internal elements: .. RPC Calls -========= +--------- The diagram below shows the message flow during an rp.call operation: @@ -67,7 +67,7 @@ The diagram below shows the message flow during an rp.call operation: .. RPC Casts -========= +--------- The diagram below the message flow during an rp.cast operation: @@ -80,7 +80,7 @@ The diagram below the message flow during an rp.cast operation: .. RabbitMQ Load -============= +------------- At any given time the load of a RabbitMQ node is function of the following parameters: @@ -107,7 +107,7 @@ The figure below shows the status of the RabbitMQ node after Nova components' bo .. RabbitMQ Gotchas -================ +---------------- Nova uses Carrot to connect to the RabbitMQ environment. Carrot is a Python library that in turn uses AMQPLib, a library that implements the standard AMQP 0.8 at the time of writing. When using Carrot, Invokers and Workers need the following parameters in order to instantiate a Connection object that connects to the RabbitMQ server (please note that most of the following material can be also found in the Carrot documentation; it has been summarized and revised here for sake of clarity):