OpenStack Compute (Nova)
Go to file
Daniel P. Berrange 07c7e5caf2 libvirt: support management of downtime during migration
Currently live migration runs with the default maximum downtime
setting defined by QEMU. This is often inadequate to allow
migration of large VMs to ever complete. Rather than trying to
invent a new policy for changing downtime in OpenStack, copy
the existing logic that is successfully battle tested by the
oVirt project in VDSM.

Note that setting the downtime step delay based on guest RAM size
is an inexact science, as RAM size is only one factor influencing
success of migration. Just as important is the rate of dirtying
data in the guest, but this is based on guest workload which is
not something Nova has visibility into. The bottleneck is the
network which needs to be able to keep up with the dirtying of
data in the guest. The greater the overall RAM size, the more
time is required to transfer the total guest memory. So for
larger guest sizes, we need to allow greater time for the guest
to attempt to successfully migrate before increasing the max
downtime. Scaling downtime step delay according to the overall
guest RAM size is a reasonable, albeit not foolproof, way to
tune migration to increase chances of success.

This adds three host level config parameters which admins can
use to control the base downtime value and the rate at which
downtime is allowed to be increased during migration.

Related-bug: #1429220
DocImpact: three new libvirt configuration parameters in
           nova.conf allow the administrator to control
           the maximum permitted downtime for migration
           making migration more likely to complete for
           large VMs.
Change-Id: I1992ffe9d3b2ff8d436cf1c419af9a238a8fecd8
2015-08-07 17:04:40 +01:00
contrib Merge "changed quantum to neutron in vif-openstack" 2014-03-05 10:45:05 +00:00
devstack cells: add devstack/tempest-dsvm-cells-rc for gating 2015-06-23 00:47:59 +00:00
doc Add documentation for the nova-cells command. 2015-08-06 12:45:57 +00:00
etc/nova Merge "Clean the deprecated noauth middleware" 2015-08-06 21:10:32 +00:00
nova libvirt: support management of downtime during migration 2015-08-07 17:04:40 +01:00
plugins/xenserver Get py34 subunit.run test discovery to work 2015-07-28 10:40:56 +00:00
tools tox: make it possible to run pep8 on current patch only 2015-07-24 16:15:38 +01:00
.coveragerc Port Cheetah templates to Jinja2 2013-09-02 16:03:34 +02:00
.gitignore remove all traces of pylint testing infrastructure 2015-01-08 11:56:45 +00:00
.gitreview Add .gitreview config file for gerrit. 2011-10-24 15:07:19 -04:00
.mailmap Add mailmap entry 2014-05-07 12:14:26 -07:00
.testr.conf Add tox -e functional 2014-11-12 15:31:06 -05:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:37 +00:00
HACKING.rst Remove unnecessary oslo namespace import checks 2015-07-23 11:01:19 +00:00
LICENSE initial commit 2010-05-27 23:05:26 -07:00
MAINTAINERS Add a maintainers file 2015-05-23 03:22:07 +10:00
MANIFEST.in Finish AUTHORS transition. 2012-07-05 09:11:37 -05:00
README.rst Update links in README 2014-05-07 16:06:24 -07:00
babel.cfg Get rid of distutils.extra. 2012-02-08 19:30:39 -08:00
bandit.yaml Add bandit for security static analysis testing 2015-07-02 09:17:48 -07:00
openstack-common.conf Switch to the oslo_utils.fileutils 2015-07-24 14:10:44 +03:00
requirements.txt Updated from global requirements 2015-08-04 18:17:53 +00:00
run_tests.sh Fix likely undesired use of redirection 2015-02-02 16:26:31 +01:00
setup.cfg Set autodoc_index_modules=True so tox -e docs builds module docs again 2015-07-30 17:11:47 -07:00
setup.py Updated from global requirements 2015-07-18 16:07:43 +00:00
test-requirements.txt Updated from global requirements 2015-08-04 18:17:53 +00:00
tox.ini Merge "Undo tox -e docs pip install sphinx workaround" 2015-07-31 16:06:40 +00:00

README.rst

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

For information about the different compute (hypervisor) drivers supported by Nova, read this page on the wiki:

https://wiki.openstack.org/wiki/HypervisorSupportMatrix

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:

https://git.openstack.org/cgit/openstack/nova

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

http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

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://docs.openstack.org/developer/nova/

For information on how to contribute to Nova, please see the contents of the CONTRIBUTING.rst file.

-- End of broadcast