OpenStack Compute (Nova)
Go to file
Matt Riedemann 5f0497e595 Revert "[libvirt] Filter hypervisor_type by virt_type"
This reverts commit eaa766ee20.

The change regressed the behavior of the ImagePropertiesFilter
because existing images with hypervisor_type=QEMU, which would
match what is reported for hypervisor_type in the API for both
qemu/kvm virt_type nodes, will now get filtered out for hosts
where the configured virt_type is kvm.

Note that both the ImagePropertiesFilter docs [1] and
hypervisor_type image property docs [2] mention that for both
qemu and kvm nodes the value to use is qemu since that is the
actual hypervisor.

Presumably the change was made for a deployment with some
hosts configured with virt_type=qemu and other hosts configured
with virt_type=kvm and there were separate images with
hypervisor_type=qemu and hypervisor_type=kvm to match those hosts
for scheduler filter, but as noted this was a regression in
behavior for something that could have been achieved using
host aggregates and the AggregateImagePropertiesIsolation filter.

We could even use traits and a placement request pre-filter these
days for a more modern approach.

Also, since the API continues to report hypervisor_type=QEMU it's
doubly confusing for operators to have to configure their images
to use hypervisor_type=kvm (despite the docs).

And finally, any existing instances which have hypervisor_type=qemu
embedded in their RequestSpec can no longer be migrated to kvm
hosts without manually fixing the entries in the request_specs
table in the API DB.

Note that this is not a clean revert because of change
I5d95bd50279a6bf903a5793ad5f3ae9d06f085f4 made in Stein.

[1] https://docs.openstack.org/nova/latest/admin/configuration/schedulers.html#imagepropertiesfilter
[2] https://docs.openstack.org/glance/latest/admin/useful-image-properties.html

Change-Id: I7d761dc269f8c12c4a76ba14201ccdd82a04d01d
Closes-Bug: #1837756
(cherry picked from commit 743dc083bb)
(cherry picked from commit 45f290e36c)
2019-07-25 10:11:59 -04:00
api-guide/source Fix none-ascii char in doc 2018-08-07 00:13:00 +00:00
api-ref/source Block swap volume on volumes with >1 rw attachment 2019-05-30 17:25:06 -04:00
contrib trivial: Remove "vif" script 2017-08-07 16:00:10 +01:00
devstack Skip test_resize_server_revert_with_volume_attached in nova-lvm 2018-07-19 12:22:18 -04:00
doc docs: Don't version links to reno docs 2019-06-07 11:33:49 +01:00
etc/nova Add osprofiler config options to generated reference 2018-06-16 12:46:19 +00:00
gate Make nova-manage db purge take --all-cells 2018-03-08 09:26:49 -08:00
nova Revert "[libvirt] Filter hypervisor_type by virt_type" 2019-07-25 10:11:59 -04:00
placement-api-ref [placement] api-ref: add description for 1.29 2018-08-09 02:56:30 +00:00
playbooks/legacy OpenDev Migration Patch 2019-04-19 19:47:10 +00:00
releasenotes Merge "Delete resource providers for all nodes when deleting compute service" into stable/rocky 2019-07-04 18:03:34 +00:00
tools Convert 'placement_api_docs' into a Sphinx extension 2018-07-02 11:21:47 +01:00
.coveragerc Remove nova/openstack/* from .coveragerc 2016-10-12 16:20:49 -04:00
.gitignore Implement granular policy rules for placement 2018-05-17 11:12:16 -04:00
.gitreview OpenDev Migration Patch 2019-04-19 19:47:10 +00:00
.mailmap Add mailmap entry 2014-05-07 12:14:26 -07:00
.stestr.conf Finish stestr migration 2017-11-24 16:51:12 -05:00
.zuul.yaml OpenDev Migration Patch 2019-04-19 19:47:10 +00:00
CONTRIBUTING.rst Update links in documents 2018-01-12 17:05:11 +08:00
HACKING.rst Removed unnecessary parantheses in yield statements 2018-03-07 16:44:36 +09:00
LICENSE initial commit 2010-05-27 23:05:26 -07:00
MAINTAINERS Fix broken URLs 2017-09-07 15:42:31 +02:00
README.rst Docs: modernise links 2018-03-24 20:27:11 +08:00
babel.cfg Get rid of distutils.extra. 2012-02-08 19:30:39 -08:00
bindep.txt Merge "Bindep does not catch missing libpcre3-dev on Ubuntu" 2018-02-14 07:31:09 +00:00
lower-constraints.txt Use ThreadPoolExecutor for max_concurrent_live_migrations 2018-07-16 13:57:09 -04:00
requirements.txt Merge "Blacklist greenlet 0.4.14" 2018-07-24 16:06:41 +00:00
setup.cfg Implement granular policy rules for placement 2018-05-17 11:12:16 -04:00
setup.py Updated from global requirements 2017-03-02 11:50:48 +00:00
test-requirements.txt Cleanup ugly stub in TestLocalDeleteAllocations 2018-05-16 09:23:55 -04:00
tests-py3.txt Remove mox in unit/virt/xenapi/test_vmops.py 2018-05-06 22:31:05 +00:00
tox.ini tox: Use basepython of python3.5 2019-06-07 11:33:49 +01: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: