summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | Merge "update python-quantumclient dependency to >=2.0"Jenkins2012-08-151-1/+1
|\ \ \ \ \
| * | | | | update python-quantumclient dependency to >=2.0Dan Wendlandt2012-08-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Nova should depend on a version of quantum client that includes API v2.0 support. That means the client version should be 2.0+ . This was just pushed to PyPi today: http://pypi.python.org/pypi/python-quantumclient/2.0 Change-Id: Ib9d997ceff92f2da6986d184b7b0da9e564800aa
* | | | | | Merge "Uniqueness checks for floating ip addresses."Jenkins2012-08-155-20/+90
|\ \ \ \ \ \
| * | | | | | Uniqueness checks for floating ip addresses.Anton V. Yanchenko2012-08-095-20/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes bug 1003392. Change-Id: I3f4554659c68476539c82d359cc080b34088b3ae
* | | | | | | Merge "Implement get_host_uptime in libvirt driver."Jenkins2012-08-152-0/+11
|\ \ \ \ \ \ \
| * | | | | | | Implement get_host_uptime in libvirt driver.Dan Prince2012-08-142-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updates the libvirt compute driver to support the host uptime call. Change-Id: Ife6aad55c5544177b4172487b4cae02f02dc247f
* | | | | | | | Merge "Remove assigned, but unused variables from nova/db/sqlalchemy/api.py"Jenkins2012-08-151-4/+0
|\ \ \ \ \ \ \ \
| * | | | | | | | Remove assigned, but unused variables from nova/db/sqlalchemy/api.pyBoris Filippov2012-08-151-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | model_query already create session if it's not supplied in kwargs. So there was no point in creating session and even not passing it to model_query. Also, nobody even cares about 'specs' in volume_type_create. Change-Id: Ic60dca9bbfcf908fa50a43424e7d93319b2f210b
* | | | | | | | | Merge "Add support for NFS-based virtual block devices"Jenkins2012-08-152-0/+122
|\ \ \ \ \ \ \ \ \
| * | | | | | | | | Add support for NFS-based virtual block devicesBen Swartzlander2012-08-142-0/+122
| | |_|_|_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code is required in Nova to support the new NFS-based volume drivers in Cinder. blueprint nfs-files-as-virtual-block-devices Change-Id: Ib815817939628275c04634e8b9cabffa1c419f23
* | | | | | | | | Merge "Allow XML payload for volume creation."Jenkins2012-08-152-3/+19
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | |
| * | | | | | | | Allow XML payload for volume creation.Eoghan Glynn2012-08-142-3/+19
| | |_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes nova-volume aspect of LP 1030330 Tolerate volume size attribute of type string as opposed to int. Change-Id: I7cccb760a246d562792dec1669d634803bb9bc57
* | | | | | | | Merge "xenapi: Support live migration without pools"Jenkins2012-08-1513-53/+322
|\ \ \ \ \ \ \ \
| * | | | | | | | xenapi: Support live migration without poolsRenuka Apte2012-08-1413-53/+322
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement blueprint xenapi-live-block-migration. Add ability to live migrate VMs to hosts that are not a part of a host aggregate (block migration). This requires XenServer 6.1/later, or XCP 1.6/later. As of this change, we still do not support instances with (nova/cinder) volumes attached. External kernels are also not supported. Change-Id: I5feb6756d78804aa37780a7d0cda1600f7060afe
* | | | | | | | | Merge "Implement network association in OS API"Jenkins2012-08-157-27/+91
|\ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / |/| | | | | | | |
| * | | | | | | | Implement network association in OS APIAlessio Ababilov2012-08-117-27/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Networks are associated with projects automatically during launch of an instance. The network is chosen rather randomly. This commit adds support for association of given network and project. DocImpact - when this lands, need to update openstack-manuals repo: doc/src/docbkx/openstack-api-site/src/wadls/compute-api/src/ext/os-networks.wadl Implements: blueprint os-api-network-associate Change-Id: Iafaf4a5ae3d3e16a6c649f1d7850fceba732efab
* | | | | | | | | Merge "Simple checks for instance user data."Jenkins2012-08-143-0/+74
|\ \ \ \ \ \ \ \ \ | |_|/ / / / / / / |/| | | | | | | |
| * | | | | | | | Simple checks for instance user data.Michael Still2012-08-143-0/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check that instance user data wont be truncated, and that it is valid base64 data. This partially resolves bug 1035055. I don't love the hard coded maximum length, but I haven't worked out how to get sqlalchemy to tell me the maximum size of the data type. Change-Id: I045d6b4481563d01cae371cf61a91781cfed6f4b
* | | | | | | | | Set task_state=None when finished snapshotting.Dan Prince2012-08-141-1/+5
| |_|_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reverts part of recent reverts_task_state commit d8d7100f8c10ecd388d1943bee9298a913a6990a which removed code that resets the task_state to None once a snapshot has been completed. Fixes LP Bug #1036835. Change-Id: I7d30d16ca110f022b0d1f6b2fb05ba3aa52fa4d1
* | | | | | | | Merge "continue config-drive-v2, add openstack metadata api"Jenkins2012-08-146-167/+414
|\ \ \ \ \ \ \ \ | |_|_|_|/ / / / |/| | | | | | |
| * | | | | | | continue config-drive-v2, add openstack metadata apiScott Moser2012-08-146-167/+414
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This continues the work Michael did on blueprint config-drive-v2 Things added: * web service /openstack/2012-08-10 with: user_data meta_data.json * web service supporting /openstack/content Things changed: * Changed the name 'files' (/openstack/files) to be 'content' This is to be more generic and apply to future re-use of it for some purpose other than personalities (injected_files) * 'meta_data.json' and 'user_data' are used for openstack * 'user-data' (without .raw) in the ec2 config drive rendering * 'content_path' is a attribute of each of the entries in the 'files' its value is the path from the openstack metadata service root to where the content is located. This means that the user does not have to know anything explicit about '/content'. They just have to take the 'content_path' and append it to the top level entry point of metadata service. Explicit example: http://169.254.169.254/openstack/2012-08-10/meta_data.json has: files[{path: "/etc/passwd", content_path: "/content/0001"}] To get the file, user appends 'content_path' to http://169.254.169.254/openstack * network config (Template) is available in /content also, and the key that points to it is 'network_config'. This occurs only if there are network's that are "injected" (same behavior as previously) The meta_data.json now contains uuid: <instance uuid> meta: meta tags provided they will appear in a dict here files: This is a list of dicts, where each dict has 2 fields: * 'path' (the path provided) * 'content_id': the location in /content/ that will give the content public-keys: Dict of keyname : value network_config: This is a dict, containing 'content_path' and 'name' (network_config) hostname: the hostname name: the nova boot name TODO: * want to add other items into openstack metadata * public-hostname * IP addresses * keystone-endpoint * url of metadata service: ideally only show this if there is a web service available. the path seems hard coded at the moment to be http://169.254.169.254/openstack, but I do not know if there is a way to determine if one is present or not. * document config-drive-v2 Change-Id: I6b9097624a9c1a972e4851d79f6d557376f59d32
* / | | | | | Return values from wrapped functions in decoratorsVishvananda Ishaya2012-08-141-2/+2
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling compute manager methods requires that the decorators return the value from the underlying function. This doesn't actually change any return values from methods, because all existing methods effectively return None. Fixes bug 1036793 Change-Id: I64eea506ee1395678a7de3c6963a3da8e40d6962
* | | | | | Merge "Fix uuid related bug in console/api"Jenkins2012-08-141-7/+4
|\ \ \ \ \ \
| * | | | | | Fix uuid related bug in console/apiYun Mao2012-08-141-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A number of variables are undefined while refactoring uuid in I4032419d66e9bbb17b770d8974a92a136bf9c5d2. self._translate_uuid_if_necessary is also no longer available. Those problems are fixed in this patch. Change-Id: Ifb88b4faa11b2ba8178a9a705ba6da1e4d9b4182
* | | | | | | Merge "Update extra specs calls to use deleted: False."Jenkins2012-08-141-2/+2
|\ \ \ \ \ \ \
| * | | | | | | Update extra specs calls to use deleted: False.Dan Prince2012-08-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updates the instance type extra specs and volume type extra specs create/update functions so that 'deleted' is treated as a boolean. This resolves issues when trying to create/update extra specs on Postgres. Fixes LP Bug #1036287. Change-Id: I7f38b40122240af3254d8a817f5144ce9fafd6db
* | | | | | | | Merge "Revert task_state on failed instance actions"Jenkins2012-08-142-10/+108
|\ \ \ \ \ \ \ \
| * | | | | | | | Revert task_state on failed instance actionsDan Smith2012-08-142-10/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now, the task_state logic in compute/api.py can be broken, such that instances can get stuck in an uneditable state if an action is performed that fails. The task_state remains something like 'stopping' even though the action has not been completed or queued, and further requests that depend on task_state will fail (see check_instance_state() in compute/apy.py). The only way out of it is to delete the instance or hack the database. This patch adds a reverts_task_state() decorator to compute/manager.py, which, upon operation failure, reverts the instance's task_state back to None. It also adds a test_state_revert() test to verify that all the actions marked for state reversion do the right thing. It also corrects several other tests that specifically expect the task_state to remain after an error has occurred. Fixes bug 1025722 Change-Id: Id4358c508156c713cb953dfa0f01a6f598bc1e7d
* | | | | | | | | Merge "volumes: fix check_for_export() in non-exporting volume drivers"Jenkins2012-08-141-0/+8
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | |
| * | | | | | | | volumes: fix check_for_export() in non-exporting volume driversJosh Durgin2012-08-131-0/+8
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This overrides the default check_for_export so that drivers that don't need to export block devices on the host like Sheepdog and RBD don't raise a NotImplemented exception when this is called. Change-Id: I9e46f84a2a491f8e1f281b3eea86106147b27976 Reported-by: Mark Moseley <moseleymark@gmail.com> Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
* | | | | | | | Merge "Allow stop API to be called in Error"Jenkins2012-08-141-0/+1
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | |
| * | | | | | | Allow stop API to be called in ErrorYun Mao2012-08-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We already allow the stop API to be called when the VM is in Error state. This is to update the diagram in devref doc. Change-Id: I792028dc6f851f66d42b852c27505c479eab4df7
* | | | | | | | Validate that min_count & max_count parameters are numeric.Ed Bak2012-08-142-10/+114
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changed nova/api/openstack/compute/servers.py to include validation of min_count and max_count. min_count and max_count must be numeric values >=1 and min_count must be <= max_count. Also, added tests to test_servers.py to verify these restrictions. Fixes: bug #1035482 Change-Id: I530c11b683a905ee67f679ef485c9f7669f1e074
* | | | | | | Enforce quota limitations for instance resize.Eoghan Glynn2012-08-1412-74/+285
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes LP 1030010. Close off a back-door allowing users to go over-quota on ram and/or cores by creating a tiny instance and then resizing to any size regardless of the remaining usage headroom. The quota management logic is distributed in the sense that the reservations are passed with the RPC casts that may fail silently, so that the rollback or commit is handled by the actor finalizing the resize/confirmation/reversion. Up-sizing requires there is sufficient quota headroom upfront to accommodate the larger size, whereas conversely down-sizing only results in a usage reduction when the resize is confirmed. Change-Id: I2b1cbb098c79e37d7ad19221fe23657eb018eae6
* | | | | | | Merge "Change time.sleep to greenthread.sleep"Jenkins2012-08-141-1/+1
|\ \ \ \ \ \ \
| * | | | | | | Change time.sleep to greenthread.sleepYun Mao2012-08-131-1/+1
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | time is not imported. use greenthread to make it consistent with the rest of the module Change-Id: Iea6b2b0f49faa5e48198b61ff1b0ef52da58f48b
* | | | | | | Merge "Fix HTTP 500 on bad server create"Jenkins2012-08-142-2/+24
|\ \ \ \ \ \ \
| * | | | | | | Fix HTTP 500 on bad server createBrian Elliott2012-08-102-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix scheduler hint extension to check for missing 'server' attribute in the body. Return a HTTP 400. (not 500) bug 1035356 Change-Id: Ifdf8b85e255fd199f15781c8b6c25d421eee7878
* | | | | | | | Fix rpc error with live_migrationRenuka Apte2012-08-134-6/+6
| |_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert "Fix rpc error with live_migration." This reverts commit f72f3498656e8b4857001a1f3d194305245d56ba. Add missing topic argument topic=FLAGS.compute_topic, to nova/compute/api.py Fixes bug 1036449 Change-Id: I11b77da60c8f8aa28748f8968380bca5b7b80e73
* | | | | | | Merge "Rewrite image code to use python-glanceclient"Jenkins2012-08-1410-200/+163
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | |
| * | | | | | Rewrite image code to use python-glanceclientBrian Waldon2012-08-1310-200/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch rewrites the Glance-specific code within Nova to use the new python-glanceclient library. The old client is deprecated in Folsom and should not be used in conjunction with python-glanceclient. This removes the dependency on installing 'glance' through pip. Implements bp integrate-python-glanceclient Fixes bug 880964 Change-Id: Ifb9e75593abd36a2d1c08773d02f192e5e5627fc
* | | | | | | Merge "Add missing self. for parent"Jenkins2012-08-131-1/+1
|\ \ \ \ \ \ \
| * | | | | | | Add missing self. for parentYun Mao2012-08-131-1/+1
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | Change-Id: Icb67278d46485f5515aae3f66c4654a094b1662c
* | | | | | | Merge "Fix rpc error with live_migration."Jenkins2012-08-132-4/+4
|\ \ \ \ \ \ \
| * | | | | | | Fix rpc error with live_migration.Russell Bryant2012-08-132-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The topic argument to live_migration was removed on the manager side in rpc API version 1.3, but was not removed from scheduler/rpcapi.py. Remove it now. Change-Id: I0b1c68848f7bd55f6f10c63b9433746f0a343a63
* | | | | | | | Merge "Don't stuff non-db data into instance dict"Jenkins2012-08-1312-60/+68
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | |
| * | | | | | | Don't stuff non-db data into instance dictJohannes Erdfelt2012-08-1312-60/+68
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The RPC API passes admin_pass and injected_files as arguments, but when calling the driver API, those values get stuffed into the instance dict which is otherwise all data that is stored in the database. This has led to some bugs (such as 1034948) which could have been avoided if the code was consistent. Change-Id: I09a7de8eca3791a5ab27e93b22e5ccccee31cf09
* | | | | | | Merge "Fix TypeError conversion in API layer"Jenkins2012-08-132-1/+17
|\ \ \ \ \ \ \
| * | | | | | | Fix TypeError conversion in API layerBrian Elliott2012-08-122-1/+17
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix conversion of TypeError to Fault in ResourceExceptionHandler. TypeError can result when the list of extensions is inovked if the parameters don't match the extension method's signature. Specifically, if an empty body was sent with an HTTP POST to create a server, a 500 error was returned. This change is a fix to properly return a 400 instead. (In Python2.6, the ex_value argument of __exit__ is type string when ex_type is a TypeError, which caused the conversion logic to get skipped.) bug 1035120 Change-Id: I96ad335a6338523345d28b7e744dbc7449b4753d
* | | | | | | Merge "Improve bw_usage_update() performance"Jenkins2012-08-134-30/+92
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | |