Reviewed: https://review.opendev.org/687957 Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=6f5358ac1992b17b7f3f99d9a32290e0d4740dae Submitter: Zuul Branch: master
commit 6f5358ac1992b17b7f3f99d9a32290e0d4740dae Author: Sean Mooney <[email protected]> Date: Thu Oct 10 18:00:07 2019 +0100 Block rebuild when NUMA topology changed If the image change during a rebuild it's possible for the request NUMA topology to change. As a rebuild uses a noop claim in the resource tracker the NUMA topology will not be updated as part of a rebuild. If the NUMA constraints do not change, a rebuild will continue as normal. If the new constraints conflict with the existing NUMA constraints of the instance the rebuild will be rejected without altering the status of the instance. This change introduces an API check to block rebuild when the NUMA requirements for the new image do not match the existing NUMA constraints. This is in line with the previous check introduced to prevent the rebuild of volume-backed instances which similarly are not supported. This change adds functional tests to assert the expected behaviour of rebuilding NUMA instances with new images. This change also asserts that in place rebuilds of numa instances is currently not supported. Closes-Bug: #1763766 Partial-implements: blueprint inplace-rebuild-of-numa-instances Change-Id: I0322d872bdff68936033a6f5a54e8296a6fb3434 ** Changed in: nova Status: In Progress => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Compute (nova). https://bugs.launchpad.net/bugs/1763766 Title: nova needs to disallow resource consumption changes on image rebuild Status in OpenStack Compute (nova): Fix Released Status in OpenStack Compute (nova) ocata series: Confirmed Status in OpenStack Compute (nova) pike series: Confirmed Status in OpenStack Compute (nova) queens series: Confirmed Bug description: When doing a rebuild the assumption throughout the code is that we are not changing the resources consumed by the guest (that is what a resize is for). The complication here is that there are a number of image properties which might affect the instance resource consumption (in conjunction with a suitable flavor): hw_numa_nodes=X hw_numa_cpus.X=Y hw_numa_mem.X=Y hw_mem_page_size=X hw_cpu_thread_policy=X hw_cpu_policy=X Due to the assumptions made in the rest of the code, we need to add a check to ensure that on a rebuild the above image properties do not differ between the old and new images. While they might look suspicious, I think that the following image properties *should* be allowed to differ, since they only affect the topology seen by the guest: hw_cpu_threads hw_cpu_cores hw_cpu_sockets hw_cpu_max_threads hw_cpu_max_cores hw_cpu_max_sockets hw_cpu_realtime_mask To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1763766/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

