OpenStack Compute (Nova)
Go to file
Rick Harris 4f3291e379 XenAPI: Fix race-condition with cached images.
The core problem is that XenServer's `VDI.copy` call drops the
destination file directly into the SR. This means that half-completed
files are visible with no way to distinguish these from fully-copied
files.

We had some code that attempted to mitigate this issue by checking
physical_utilisation against an expected value. The problem with this
code is that it didn't account for VDI chaining where the
physical_utilisation would not necessarily match the parent.

The net effect of this was that 'cloned' VDIs would never be found
because their physical_utilisation was far below what was expected.

The work around is to create our own `_safe_copy_vdi` which is isolated
and atomic. Long term, `VDI.copy` should be fixed so that half-completed
files are never stored in the SR.

Change-Id: I6eb3cb5259f9ee1c7394e58f76105a8b39bfc720
2012-08-01 04:49:37 +00:00
bin Merge "Enhance nova-manage to set flavor extra specs" 2012-07-26 22:14:12 +00:00
contrib Run hacking tests as part of the gate. 2012-07-02 08:50:41 -04:00
doc Remove unused testing.fake 2012-07-18 14:04:37 -07:00
etc/nova Turn on base image cleanup by default. 2012-07-28 21:20:30 +10:00
nova XenAPI: Fix race-condition with cached images. 2012-08-01 04:49:37 +00:00
plugins/xenserver XenAPI: Fix race-condition with cached images. 2012-08-01 04:49:37 +00:00
smoketests Run hacking tests as part of the gate. 2012-07-02 08:50:41 -04:00
tools Replace subprocess.check_output with Popen 2012-07-26 09:15:09 +00:00
.coveragerc Finalize tox config. 2012-06-07 12:15:42 -04:00
.gitignore Update common setup code to latest. 2012-07-07 16:32:19 -05:00
.gitreview Add .gitreview config file for gerrit. 2011-10-24 15:07:19 -04:00
.mailmap Support requested_networks with quantum v2. 2012-07-14 09:08:49 -07:00
babel.cfg Get rid of distutils.extra. 2012-02-08 19:30:39 -08:00
HACKING.rst Add a link from HACKING to wiki GitCommitMessages page 2012-07-30 11:08:03 +01:00
LICENSE initial commit 2010-05-27 23:05:26 -07:00
MANIFEST.in Finish AUTHORS transition. 2012-07-05 09:11:37 -05:00
openstack-common.conf Add the plugin framework from common; use and test. 2012-07-15 16:25:26 -05:00
pylintrc Don't warn about C0111 (No docstrings) 2011-03-16 15:28:09 -07:00
README.rst Flesh out the README file with a little more useful information 2012-06-29 17:11:10 +01:00
run_tests.sh Exclude openstack-common from pep8 checks. 2012-07-13 13:59:56 -04:00
setup.cfg Finalize tox config. 2012-06-07 12:15:42 -04:00
setup.py Merge "Refactor instance_usage_audit. Add audit tasklog." 2012-07-11 17:06:42 +00:00
tox.ini Use all deps for tools/hacking.py tests in tox 2012-07-13 16:13:24 -07:00

OpenStack Nova README

OpenStack Nova provides a cloud computing fabric controller, supporting a wide variety of virtualization technologies, including KVM, Xen, LXC, VMWare, and more. In addition to its native API, it includes compatibility with the commonly encountered Amazon EC2 and S3 APIs.

OpenStack Nova is distributed under the terms of the Apache License, Version 2.0. The full terms and conditions of this license are detailed in the LICENSE file.

Nova primarily consists of a set of Python daemons, though it requires and integrates with a number of native system components for databases, messaging and virtualization capabilities.

To keep updated with new developments in the OpenStack project follow @openstack on Twitter.

To learn how to deploy OpenStack Nova, consult the documentation available online at:

http://docs.openstack.org

In the unfortunate event that bugs are discovered, they should be reported to the appropriate bug tracker. If you obtained the software from a 3rd party operating system vendor, it is often wise to use their own bug tracker for reporting problems. In all other cases use the master OpenStack bug tracker, available at:

http://bugs.launchpad.net/nova

Developers wishing to work on the OpenStack Nova project should always base their work on the latest Nova code, available from the master GIT repository at:

http://github.com/openstack/nova

Developers should also join the dicussion on the mailing list, at:

https://lists.launchpad.net/openstack/

Any new code must follow the development guidelines detailed in the HACKING.rst file, and pass all unit tests. Further developer focused documentation is available at:

http://nova.openstack.org/

Changes to OpenStack Nova should be submitted for review via the Gerrit tool, following the workflow documented at:

http://wiki.openstack.org/GerritWorkflow

-- End of broadcast