summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | | | | | | | | | | Clean up setting of control_exchange defaultMark McLoughlin2013-01-043-15/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The RPC code from Oslo now registers the control_exchange option but provides us with an API for changing the default. blueprint: scope-config-opts Change-Id: Ie7950daaddb53f38eb72d2a113e1f26252dd6903
* | | | | | | | | | | | | | | | | | Merge "update version urls to working v2 urls"Jenkins2013-01-052-26/+26
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | | | | update version urls to working v2 urlsSean Dague2013-01-042-26/+26
| | |_|_|_|/ / / / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the GET /v2/ API call is documented to return urls to both wadl and pdf documents. However our call returned non working urls to 1.1 versions of those documents. Fix this. Also fix the unit tests to actually test the output of versions. Previously we were over stubbing the test_verions.py so it was testing only itself, and not the output you'd actually get from the real versions.py module. Renamed the variables used for the expected variables to reduce confusion about what is an expected variable vs. the variables coming from versions.py to try to ensure we don't have cicular always passing tests in the future. Fixes bug #1076109 Change-Id: I1047b8c48ff053eed5ad4afa8eae5833f70d0893
* | | | | | | | | | | | | | | | | | Merge "Cells: Add periodic instance healing"Jenkins2013-01-055-0/+282
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | | | | Cells: Add periodic instance healingChris Behrens2013-01-045-0/+282
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a periodic task that'll sync instance information to API cells periodically. Does a handful of instances per periodic task run based on config values. Instances picked for syncing are randomized so that multiple nova-cells services won't be syncing the same instances at nearly the same time. instance_updated_at_threshold -- Number of seconds after an instance was updated or deleted to continue to sync (Ie, don't sync instances updated more than 'x' seconds ago.) instance_update_num_instances -- Number of instances to update per periodic task run Implements blueprint nova-compute-cells DocImpact Change-Id: I3103c3a69ab9cf0ec3e399abe046ed0d216234ab
* | | | | | | | | | | | | | | | | | | Merge "Timeout individual tests after one minute."Jenkins2013-01-051-0/+2
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|/ / / / / / / / / / / / / / / |/| | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | | Timeout individual tests after one minute.Clark Boylan2013-01-041-0/+2
| | |_|_|/ / / / / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use fixtures.Timeout to timeout each nova test after one minute of running. Because only one fixtures.Timeout can be in use at a time subclasses of nova.test.TestCase should not explicitly use this fixture. Change-Id: I0fced73e81784d0f843ecac2998598a0343a2083
* | | | | | | | | | | | | | | | | | Move service_get_all operations to conductorDan Smith2013-01-055-3/+138
| |_|_|_|_|_|_|_|_|_|_|_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a single service_get_all_by() method to the conductor, which services the following database calls: - service_get_all() - service_get_all_by_topic() - service_get_all_by_host() - service_get_by_host_and_topic() - service_get_all_compute_by_host() It also makes compute/manager use conductor for this case. The special case for the service_get_all_compute_by_host() call is rather unfortunate, and I wonder if it might be okay to (later) make the generic function automatically joinedload in the compute case. Related to blueprint no-db-compute-manager Change-Id: Ib4aa10a3196a4b9aa779f57f4e5d6b136676f3bd
* | | | | | | | | | | | | | | | | Merge "Imported Translations from Transifex"OpenStack Jenkins2013-01-051-551/+742
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | | | Imported Translations from TransifexOpenStack Jenkins2013-01-051-551/+742
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I58c8020ccaa88361bfe7062fa094f530461aea96
* | | | | | | | | | | | | | | | | | Move migration_get_unconfirmed_by_dest_compute to conductorDan Smith2013-01-055-2/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch moves compute/manager's use of the db query migration_get_unconfirmed_by_dest_compute to the conductor. Related to blueprint no-db-compute-manager Change-Id: Ic92f3ae09f831465d12809c14c4a18ffd394f26f
* | | | | | | | | | | | | | | | | | Move vol_usage methods to conductorDan Smith2013-01-055-10/+87
| |_|_|_|_|_|_|_|_|_|_|/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch moves the compute/manager's use of the following methods to conductor: - vol_usage_update() - vol_get_usage_by_time() Related to blueprint no-db-compute-manager Change-Id: I51a30d66be51eb532cb19c8b06b87ad07387dd54
* | | | | | | | | | | | | | | | | Use full instance in virt driver volume usageDan Smith2013-01-053-4/+5
| |_|_|_|_|_|_|_|_|_|/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now, the virt driver method get_all_volume_usage() returns a list of items, including the instance uuid. In order to pass the results of this over to conductor (which will demand a full instance), this patch converts the structure to include it. It appears that only libvirt implements this method, and the change is fairly trivial. Related to blueprint no-db-compute-manager Change-Id: Ia8001727b57442ef0ecc2c161201f1a617e199d4
* | | | | | | | | | | | | | | | Merge "Move instance_type_get() to conductor"Jenkins2013-01-055-2/+26
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | | Move instance_type_get() to conductorDan Smith2013-01-045-2/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch moves compute/manager's use of instance_type_get() to the conductor. Related to blueprint no-db-compute-manager Change-Id: Ib70dabc54ffeb199dd2fd4f597b9afc22d2511bf
* | | | | | | | | | | | | | | | | Merge "Fix race in resource tracker"Jenkins2013-01-052-1/+13
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|/ / / / / / / / / / / / / / / |/| | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | Fix race in resource trackerBrian Elliott2013-01-022-1/+13
| | |_|_|_|_|_|_|_|_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix a race in resource tracker where usage can get under reported if the audit process runs after an instance gets set to vm_state=DELETED, but before the DB record itself is deleted. bug 1095403 Change-Id: I47943d12155a6484c6cb3adb31dfa4db0191cf26
* | | | | | | | | | | | | | | | Merge "Move instance_info_cache_delete() to conductor"Jenkins2013-01-045-2/+25
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / / / / / / | |/| | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | Move instance_info_cache_delete() to conductorDan Smith2013-01-045-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch moves compute/manager's use of instance_info_cache_delete() to conductor. Related to blueprint no-db-compute-manager Change-Id: I4e7f2d95ddc26c0dbea1a644ca23026339ce720e
* | | | | | | | | | | | | | | | Merge "Move instance_destroy() to conductor"Jenkins2013-01-045-2/+23
|\| | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | Move instance_destroy() to conductorDan Smith2013-01-045-2/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch moves compute/manager's use of db.instance_destroy() to the conductor. Related to blueprint no-db-compute-manager Change-Id: I72ee249ee2842a453fdf225414a03527448d2a26
* | | | | | | | | | | | | | | | Merge "Move instance_get_*() to conductor"Jenkins2013-01-047-38/+168
|\| | | | | | | | | | | | | | | | |_|_|_|_|_|_|_|_|/ / / / / / |/| | | | | | | | | | | | | |
| * | | | | | | | | | | | | | Move instance_get_*() to conductorDan Smith2013-01-047-38/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds conductor support for instance_get_all_by_filters(), and supports the following APIs through that method: - instance_get_all() - instance_get_all_by_host() - instance_get_all_by_filters() Further, it adds support for the following APIs: - instance_get_all_hung_in_rebooting() - instance_get_active_by_window() It also makes compute/manager use conductor for these operations, with one exception. Currently, ComputeManager.init_host () lists all instances associated with the host, which may happen before a conductor service is available. This will be handled separately due to the sequencing concerns. Related to bp/no-db-compute-manager Change-Id: I0dd346fd632aa15cd301386bc392502b95709529
* | | | | | | | | | | | | | | Merge "Sync timeutils changes from Oslo"Jenkins2013-01-041-0/+4
|\| | | | | | | | | | | | | |
| * | | | | | | | | | | | | | Sync timeutils changes from OsloDan Smith2013-01-041-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I5eddfbad43a2f57e6b2af6299e480c32b11a5d19
* | | | | | | | | | | | | | | Merge "Remove system_metadata db calls from compute manager"Jenkins2013-01-043-9/+24
|\| | | | | | | | | | | | | |
| * | | | | | | | | | | | | | Remove system_metadata db calls from compute managerDan Smith2013-01-043-9/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The compute/manager makes several unnecessary db calls to fetch the instance system_metadata, which is available in the instance object itself now. This patch replaces those uses, avoiding the need to farm them out to conductor. Related to bp/no-db-compute Related to bp/no-db-compute-manager Change-Id: I26ff77be17eb538a4fcd238ffe52f8bde4fbe3e0
* | | | | | | | | | | | | | | Merge "Move block_device_mapping destroy operations to conductor"Jenkins2013-01-045-7/+142
|\| | | | | | | | | | | | | |
| * | | | | | | | | | | | | | Move block_device_mapping destroy operations to conductorDan Smith2013-01-045-7/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch moves the compute/manager's use of block_device_mapping_destroy operations to the conductor. Specifically: - block_device_mapping_destroy() - block_device_mapping_destroy_by_instance_and_device() - block_device_mapping_destroy_by_instance_and_volume() Once again, this just adds a single destroy operation to the conductor's RPC API and replicates the older interfaces in the public API. Further, the first now takes a list of bdms to be destroyed (unlike the db operation it mirrors) so that multiple RPC calls can be avoided for bulk delete operations. Related to blueprint no-db-compute-manager Change-Id: Ib93184ee6d32fcda90f75a26b579787e4625e9ae
* | | | | | | | | | | | | | | Merge "Move block_device_mapping get operations to conductor"Jenkins2013-01-045-40/+69
|\| | | | | | | | | | | | | |
| * | | | | | | | | | | | | | Move block_device_mapping get operations to conductorDan Smith2013-01-025-40/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch moves the block_device_mapping_get_by_instance() uses from compute/manager to the conductor. This also includes some nasty refactoring in some of compute's helper methods to pass around instances instead of just uuids so that we can properly pass the former to the conductor. Related to blueprint no-db-compute-manager Change-Id: Ib5223274d21096a9e47b3420c3de801b978b253d
* | | | | | | | | | | | | | | Merge "Move block_device_mapping update operations to conductor"Jenkins2013-01-045-5/+102
|\| | | | | | | | | | | | | |
| * | | | | | | | | | | | | | Move block_device_mapping update operations to conductorDan Smith2013-01-025-5/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch moves the uses of the following methods in compute/manager to the conductor: - block_device_mapping_create() - block_device_mapping_update() - block_device_mapping_update_or_create() As in the past with adding multiple similar operations to conductor, only one method is actually added to the manager and RPC API, which is similar to the update_or_create variant above. The public API for conductor maintains all three variants and their original calling conventions. Related to blueprint no-db-compute-manager Change-Id: Ibcb721ebd0ba8639ccb2ba2f7bed1dcf499e4edb
* | | | | | | | | | | | | | | Merge "fix floating-ip in multihost case"Jenkins2013-01-044-11/+129
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | fix floating-ip in multihost caseMate Lakat2013-01-044-11/+129
| | |_|_|_|_|/ / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes bug 1091698. _disassociate_floating_ip and _associate_floating_ip got an extra parameter since this change: https://github.com/openstack/nova/commit/b93e851c0d90c17868a0e68a3b54e136bb5cd54d However, the multi-host codepath was not amended, thus multihost case is broken since that. This fix adds the extra parameters for those rpc calls. Change-Id: I93a5f96ef87c0f8a14c912d7812c001d0c682afa
* | | | | | | | | | | | | | | Merge "Remove unused VMWare VIF driver abstraction"Jenkins2013-01-043-67/+49
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|/ / / / / / / / / / |/| | | | | | | | | | | | | |
| * | | | | | | | | | | | | | Remove unused VMWare VIF driver abstractionDaniel P. Berrange2013-01-033-67/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is only a single VMWare VIF driver impl and that is entirely a no-op in the plug & unplug methods. The VMWare driver does call a 'ensure_vlan_bridge' method, which is essentially a static helper for creating a bridge device. Remove the VMWareVlanBridgeDriver class entirely and simply have a single static method instead Change-Id: I7d0873798e0e7261e17e8894237fd4339be7c3cd Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* | | | | | | | | | | | | | | Merge "Cells: Add the main code."Jenkins2013-01-0424-13/+4696
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | Cells: Add the main code.Chris Behrens2013-01-0424-13/+4696
| | |_|_|_|/ / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces *EXPERIMENTAL* compute cells functionality as a way to scale nova in a more distributed fashion without having to use complicated technologies like DB and message queue clustering. Cells are configured as a tree and the top level cell should contain nova-api without any nova-computes while child cells contain everything except nova-api. One can think of a cell as a normal nova deployment in that each cell has its own DB server and message queue broker. The top level cell keeps a subset of data about ALL instances in all cells in its DB. Child cells send messages to the top level cell when instances change state. Data in 1 child cell is not shared with another child cell. A new service, nova-cells, is introduced that handles communication between cells and picking of a cell for new instances. This service is required for every cell. Communication between cells is pluggable with the only option currently implemented being communnication via RPC. Cells scheduling is separate from host scheduling. nova-cells first picks a cell (currently randomly -- future patches add filtering/weighing functionality and decisions can be based on broadcasts of capacity/capabilities). Once a cell has been selected and the new build request has reached its nova-cells service, it'll be sent over to the host scheduler in that cell and the build proceeds as it does without cells. New config options are introduced for enabling and configuring the cells code. Cells is disabled by default. All of the config options below go under a '[cells]' section in nova.conf. These are the options that one may want to tweak: enable -- Turn on cells code (default is False) name -- Name of the current cell. capabilities -- List of arbitrary key=value pairs defining capabilities of the current cell. These are sent to parent cells, but aren't used in scheduling until later filter/weight support is added. call_timeout -- How long to wait for replies from a calls between cells When using cells, the compute API class must be changed in the API cell, so that requests can be proxied via nova-cells down to the correct cell properly. Thus, config requirements for API cell: -- [DEFAULT] compute_api_class=nova.compute.cells_api.ComputeCellsAPI. [cells] enable=True name=api-cell -- Config requirements for child cell: -- [cells] enable=True name=child-cell1 -- Another requirement is populating the 'cells' DB table in each cell. Each cell needs to know about its parent and children and how to communicate with them (message broker location, credentials, etc). Implements blueprint nova-compute-cells DocImpact Change-Id: I1b52788ea9d7753365d175abf39bdbc22ba822fe
* | | | | | | | | | | | | | | Merge "Invalid EC2 ids should make the entire request fail."Jenkins2013-01-042-10/+53
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / / / |/| | | | | | | | | | | | | |
| * | | | | | | | | | | | | | Invalid EC2 ids should make the entire request fail.Michael Still2013-01-042-10/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resolves bug 836978. I suspect there are many other cases where we should add this check. Change-Id: I027e44db2e27eb1ef913ddad8560cca08388906b
* | | | | | | | | | | | | | | Merge "Allow larger encrypted password posts to metadata"Jenkins2013-01-043-12/+32
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|/ / / / / / / / / |/| | | | | | | | | | | / / / | | |_|_|_|_|_|_|_|_|_|/ / / | |/| | | | | | | | | | | |
| * | | | | | | | | | | | | Allow larger encrypted password posts to metadataVishvananda Ishaya2013-01-043-12/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | System Metadata only supports values up to 255 characters, but passwords encrypted with an rsa key are generally much longer than that, so we support longer passwords by chunking into four fields. Change-Id: Iceae6cbc7609ec3bdf1b3814aec5b73f19613349
* | | | | | | | | | | | | | Merge "Ensure that Quantum uses configured fixed IP"Jenkins2013-01-042-2/+4
|\ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | Ensure that Quantum uses configured fixed IPGary Kotton2012-12-312-2/+4
| | |_|_|_|_|_|_|_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes bug 1094897 The fix ensures that the fixed IP address specified by the user is correctly passed to Quantum. That is, when the Quantum port is created it is created with the specified IP address. Change-Id: I8191ac2497037e2592b0679962e4606cd24d7844
* | | | | | | | | | | | | | Merge "Delete pointless nova.virt.VIFDriver class"Jenkins2013-01-044-40/+3
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | |_|_|/ / / / / / / / / / | |/| | | | | | | | | | | |
| * | | | | | | | | | | | | Delete pointless nova.virt.VIFDriver classDaniel P. Berrange2013-01-034-40/+3
| | |_|_|_|_|_|_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a nova.virt.VIFDriver class which the hypervisor VIF drivers inherit from. None of the hypervisor subclasses pay any attention to the API contract defined to the parent class. Some of the hypervisors don't bother trying to use the VIFDriver class at all (hyperv, baremetal). It is not worth trying to make the hypervisor subclasses follow the same API contract, since the base parent class offers no re-usable functionality of its own. The hypervisor base classs nova.virt.ComputeDriver also has no need for the VIFDriver API to exist, since its integration point is the 'plug_vifs' method. As such the nova.virt.VIFDriver class serves no purpose other than to mislead reviewers into thinking there is a common API where none actually exists. It should thus be deleted Change-Id: Id287f7e66143a248a5f106e010510a3f09d2b1e7 Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* | | | | | | | | | | | | Merge "db.security_group_rule_destroy() method performance optimization"Jenkins2013-01-041-4/+6
|\ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | db.security_group_rule_destroy() method performance optimizationBoris Pavlovic2012-12-231-4/+6
| | |_|_|_|_|_|_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1 db requst instead of 2 blueprint db-session-cleanup Change-Id: I094632c422aa9d10278c1b85ec9f4d51a54541b1
* | | | | | | | | | | | | Merge "Eliminate race conditions in floating association"Jenkins2013-01-045-38/+83
|\ \ \ \ \ \ \ \ \ \ \ \ \