OpenStack Compute (Nova)
Go to file
Dan Smith bdb5c3b405 Change consecutive build failure limit to a weigher
There is concern over the ability for compute nodes to reasonably
determine which events should count against its consecutive build
failures. Since the compute may erronenously disable itself in
response to mundane or otherwise intentional user-triggered events,
this patch adds a scheduler weigher that considers the build failure
counter and can negatively weigh hosts with recent failures. This
avoids taking computes fully out of rotation, rather treating them as
less likely to be picked for a subsequent scheduling
operation.

This introduces a new conf option to control this weight. The default
is set high to maintain the existing behavior of picking nodes that
are not experiencing high failure rates, and resetting the counter as
soon as a single successful build occurs. This is minimal visible
change from the existing behavior with default configuration.

The rationale behind the default value for this weigher comes from the
values likely to be generated by its peer weighers. The RAM and Disk
weighers will increase the score by number of available megabytes of
memory (range in thousands) and disk (range in millions). The default
value of 1000000 for the build failure weigher will cause competing
nodes with similar amounts of available disk and a small (less than ten)
number of failures to become less desirable than those without, even
with many terabytes of available disk.

Conflicts:
	nova/conf/scheduler.py
	nova/test.py

NOTE(danms): The conflict was due to not having changes
Icee137e15f264da59a1bdc1dc1ecfeaac82b98c6 and
I911cc51a226d6af29d63a7a2c69253de870073e9 in Queens.

NOTE(danms): Because IronicHostManager was a thing in pike, this
includes the fix applied late to queens in this commit:
d26dc0ca03

Change-Id: I71c56fe770f8c3f66db97fa542fdfdf2b9865fb8
Related-Bug: #1742102
(cherry picked from commit 91e29079a0)
(cherry picked from commit 43a84dbc1e)
2018-06-14 07:32:36 -07:00
api-guide/source api-ref: Add X-Openstack-Request-Id description 2017-07-10 14:03:14 +00:00
api-ref/source Do not attempt volume swap when guest is stopped/suspended 2018-02-12 17:13:22 +00:00
contrib Merge "changed quantum to neutron in vif-openstack" 2014-03-05 10:45:05 +00:00
devstack Skip test_rebuild_server_in_error_state for cells v1 2017-08-22 18:42:17 +00:00
doc Change consecutive build failure limit to a weigher 2018-06-14 07:32:36 -07:00
etc/nova rootwrap.d cleanup mislabeled files 2017-08-01 16:09:18 +10:00
gate move gate hooks to gate/ 2017-01-04 11:05:16 +00:00
nova Change consecutive build failure limit to a weigher 2018-06-14 07:32:36 -07:00
placement-api-ref/source [placement] Add api-ref for usages 2017-08-09 15:54:48 +00:00
playbooks/legacy/nova-live-migration Migrate tempest-dsvm-multinode-live-migration job in-tree 2018-05-10 11:14:03 -04:00
plugins/xenserver XenAPI Remove useless files when use os-xenapi lib 2017-01-10 18:06:17 -08:00
releasenotes Change consecutive build failure limit to a weigher 2018-06-14 07:32:36 -07:00
tools tools/xenserver: Remove 'cleanup_sm_locks' 2017-08-07 12:26:53 +00:00
.coveragerc Remove nova/openstack/* from .coveragerc 2016-10-12 16:20:49 -04:00
.gitignore Structure for simply managing placement-api-ref 2017-03-24 15:15:53 +03:00
.gitreview Update .gitreview for stable/pike 2017-08-11 12:29:20 +00:00
.mailmap Add mailmap entry 2014-05-07 12:14:26 -07:00
.testr.conf [placement] Adjust the name of the gabbi tests 2016-09-20 19:14:44 +00:00
.zuul.yaml Migrate tempest-dsvm-multinode-live-migration job in-tree 2018-05-10 11:14:03 -04:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:37 +00:00
HACKING.rst Enable global hacking checks and removed local checks 2017-02-10 15:09:37 +01: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
README.rst doc: Rework README to reflect new doc URLs 2017-08-03 16:06:08 -04:00
babel.cfg Get rid of distutils.extra. 2012-02-08 19:30:39 -08:00
bindep.txt Update bindep.txt for doc builds 2017-11-21 20:09:12 +00:00
requirements.txt Updated from global requirements 2017-08-07 00:49:24 +00:00
setup.cfg Using plain routes for the microversions test 2017-07-23 22:43:53 +08:00
setup.py Updated from global requirements 2017-03-02 11:50:48 +00:00
test-requirements.txt Updated from global requirements 2017-08-07 00:49:24 +00:00
tests-functional-py3.txt Remove invalid URL in gabbi tests 2017-01-17 21:10:45 +00:00
tests-py3.txt Skip unit tests for SSL + py3 2017-03-02 14:30:16 +08:00
tox.ini Remove osprofiler tests 2018-03-01 04:41:55 -05:00

README.rst

Team and repository tags

image

OpenStack Nova

OpenStack Nova provides a cloud computing fabric controller, supporting a wide variety of compute technologies, including: libvirt (KVM, Xen, LXC and more), Hyper-V, VMware, XenServer, OpenStack Ironic and PowerVM.

Use the following resources to learn more.

API

To learn how to use Nova's API, consult the documentation available online at:

For more information on OpenStack APIs, SDKs and CLIs in general, refer to:

Operators

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

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:

Developers

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

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:

Other Information

During each Summit and Project Team Gathering, we agree on what the whole community wants to focus on for the upcoming release. The plans for nova can be found at: