OpenStack Compute (Nova)
Go to file
Chris Behrens 2c6ab62ae2 Refactor scheduling weights.
This makes scheduling weights more plugin friendly and creates shared
code that can be used by the host scheduler as well as the future cells
scheduler.  Weighing classes can now be specified much like you can
specify scheduling host filters.

The new weights code reverses the old behavior where lower weights win.
Higher weights are now the winners.

The least_cost module and configs have been deprecated, but are still
supported for backwards compatibility.  The code has moved to
nova.scheduler.weights.least_cost and been modified to work with the new
loadable-class code.  If any of the least_cost related config options are
specified, this least_cost weigher will be used.

For those not overriding the default least_cost config values, the new
RamWeigher class will be used.  The default behavior of the RamWeigher
class is the same default behavior as the old least_cost module.

The new weights code introduces a new config option
'scheduler_weight_classes' which is used to specify which weigher classes
to use.  The default is 'all classes', but modified if least_cost
deprecated config options are used, as mentioned above.

The RamWeigher class introduces a new config option
'ram_weight_multiplier'.  The default of 1.0 causes weights equal to the
free memory in MB to be returned, thus hosts with more free memory are
preferred (causes equal spreading).  Changing this value to a negative
number such as -1.0 will cause reverse behavior (fill first).

DocImpact

Change-Id: I1e5e5039c299db02f7287f2d33299ebf0b9732ce
2012-11-14 19:04:17 +00:00
bin Merge "Fix import ordering in /bin scripts." 2012-11-09 18:05:55 +00:00
contrib Run hacking tests as part of the gate. 2012-07-02 08:50:41 -04:00
doc Remove nova-volume DB 2012-11-08 21:31:31 +00:00
etc/nova Merge "Add REST API support for list/enable/disable nova services" 2012-11-13 07:00:15 +00:00
nova Refactor scheduling weights. 2012-11-14 19:04:17 +00:00
plugins/xenserver Fix bandwidth polling exception. 2012-11-05 17:46:55 +00:00
smoketests Update vol mount smoketest to wait for volume. 2012-11-12 15:36:32 -05:00
tools Isolate tests from the environment variable http_proxy. 2012-11-14 07:03:25 +00:00
.coveragerc Finalize tox config. 2012-06-07 12:15:42 -04:00
.gitignore Clear up the .gitignore file 2012-08-31 10:09:18 +08:00
.gitreview Add .gitreview config file for gerrit. 2011-10-24 15:07:19 -04:00
.mailmap fetch_images() method no more needed 2012-10-26 09:44:17 +02:00
HACKING.rst Ban db import from nova/virt 2012-11-12 12:37:33 -08: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
README.rst Add README for doc folder 2012-09-13 17:39:30 -07:00
babel.cfg Get rid of distutils.extra. 2012-02-08 19:30:39 -08:00
openstack-common.conf Add uuidutils module 2012-11-05 11:27:04 +08:00
pylintrc Don't warn about C0111 (No docstrings) 2011-03-16 15:28:09 -07:00
run_tests.sh Merge "Fix the fail-on-zero-tests case so that it is tolerant of no output" 2012-10-24 19:31:25 +00:00
setup.cfg Remove nose detailed error reporting. 2012-10-30 12:55:57 -07:00
setup.py removes the nova-volume code from nova 2012-10-28 11:34:05 -07:00
tox.ini Upgrade pylint version to 0.26.0 2012-11-12 10:14:35 -05: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

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 discussion 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